【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 如何利用阿里云数加快速搭建属于自己的日志分析实时指挥大屏和报表。

【场景】

用户搭建网站会不断的产生访问日志(Nginx,Apache访问日志)。为了从访问日志中挖掘出更多价值,本文主要阐述如果利用阿里云数加从沉睡中的访问日志中获取更有价值的数据,包括用于实时统计和展示网站访问的一系列指标,例如PV,UV,设备,地理,状态码,爬虫,网络流量等指标。


【具体分析需求】

用户想根据访问日志来实时统计和展示网站访问重要指标,需要设计到流式计算和离线计算,那么阿里云数加·StreamCompute更好的可以解决日志的实时计算场景,而阿里云数加·MaxCompute则更好的来处理批量数据,适合于离线数据计算。


那么如何来使用阿里云数加来构建一个高可用的数加架构两者计算场景都可以满足?


【日志字段】

  • 日志格式:

$remote_addr - $remote_user [$time_local] “$request” $status $body_bytes_sent”$http_referer” “$http_user_agent” [unknown_content];



  • 日志字段说明:

字段名称

字段说明

$remote_addr

发送请求的客户端IP地址

$remote_user

客户端登录名

$time_local

服务器本地时间

$request

请求,包括HTTP请求类型+请求URL+HTTP协议版本号

$status

服务端返回状态码

$body_bytes_sent

返回给客户端的字节数(不含header)

$http_referer

该请求的来源URL

$http_user_agent

发送请求的客户端信息,如使用的浏览器等


  • 真实的访问日志数据示例如下:


192.168.1.101 - - [17/Mar/2016:10:28:30 +0800] "GET /fonts/fontawesome-webfont.woff?v=4.2.0 HTTP/1.1" 0.021 1207 304 0 "https://sls.console.aliyun.com/css/lib.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"


【数据架构】

根据实时计算场景和批量计算的场景要求,笔者尝试从如下数据架构来满足:

70cc05e5dc752d96db0b87710bb1c6559e1bbb70


如上数据架构图,用户可根据红色箭线来完成实时数据处理场景,根据蓝色箭线来完成离线数据处理需求。

  • 实时处理逻辑:Logstash-->DataHub-->StreamCompute-->AnalyticDB-->DataV,笔者做出来的最终效果图如下:
  • e4fb3549f5d41fae8c6f9ff70ebffb45d336d1eb


  • 离线计算逻辑:Logstash-->DataHub(DataConnector)-->MaxCompute-->大数据开发套件Data IDE -->Quick BI.效果图如下:
  • b12fe6facb600c9a6dd8ad6ca33dac610dd2ea9c

用心的用户会发现笔者总体的架构是按照如下数据流逻辑来构建的:
eb07eac006aff1f3a660e975d3c85b20e0cbab33

  • 数据采集:笔者采用了自己熟悉的开源工具Logstash,当然用户也可以选择自己熟悉的比如Fluentd,都是开源中比较常用来做日志的并发采集。其中DataHub顾名思义为数据中枢,其实pub/sub系统,负责将实时采集的数据进行采集和消费。阿里云数加DataHub提供了Logstash和Fluentd Output插件,无缝支持讲日志数据写入到DataHub并由下游消费。具体文件详见:https://datahub.console.aliyun.com/intro/introduction.html
  • 数据存储:在实时计算中StreamCompute是没有存储的,因为流式数据场景就是无界的数据持续不断的写入,持续不断的计算并将结果输出给下游存储供消费。而在离线计算场景中,数据被DataHub 的归档功能给存储在MaxCompute,用来做批量计算。
  • 数据展现:两者都是讲最终处理好的数据写入到阿里云数加AnalyticDB中,其中AnalyticDB支持海量数据的毫秒级查询和分析,最终实时场景展示采用数据可视化DataV制作的实时指挥大屏,而离线采用了Quick BI制作的报表。
笔者也会根据架构图将详细的操作文档及代码共享给大家,敬请期待!也祝愿大家能够快速的针对自己网站的访问日志构建出分析结果。



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
12天前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
13天前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
38 3
|
12天前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
31 3
|
12天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
31 1
|
12天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
44 1
|
13天前
|
分布式计算 监控 大数据
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
39 1
|
6天前
|
NoSQL 大数据 测试技术
想从事大数据方向职场小白看过来, 数据方面的一些英文解释
想从事大数据方向职场小白看过来, 数据方面的一些英文解释
16 0
|
13天前
|
存储 分布式计算 NoSQL
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
20 0
|
13天前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
13天前
|
SQL 分布式计算 大数据
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
29 0

相关产品

  • 云原生大数据计算服务 MaxCompute