【场景】

用户搭建网站会不断的产生访问日志(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"

【数据架构】

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

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

  • 实时处理逻辑:Logstash-->DataHub-->StreamCompute-->AnalyticDB-->DataV,笔者做出来的最终效果图如下:
  • 离线计算逻辑:Logstash-->DataHub(DataConnector)-->MaxCompute-->大数据开发套件Data IDE -->Quick BI.效果图如下:
用心的用户会发现笔者总体的架构是按照如下数据流逻辑来构建的:
  • 数据采集:笔者采用了自己熟悉的开源工具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制作的报表。
笔者也会根据架构图将详细的操作文档及代码共享给大家,敬请期待!也祝愿大家能够快速的针对自己网站的访问日志构建出分析结果。

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

  1. 基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

    摘要: 数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台. 本次分享嘉宾是来自阿 ...

  2. 阿里云大数据认证——基于阿里云数加构建企业级数据分析平台-课堂笔记

    阿里云Clouder认证 六.基于阿里云数加构建企业级数据分析平台 1. 课程目标 (1) 了解数据分析的步骤和目的 (2) 熟悉数据分析平台搭建的组成部分 (3) 掌握阿里云数加不同产品及其使用场景 ...

  3. 基于阿里云数加构建企业级数据分析平台

    基于阿里云数加构建企业级数据分析平台 数据分析是基于商业目的,有目的的进行收集.整理.加工和分析数据,提炼有价值信息的过程 ![在这里插入图片描述](https://img-blog.csdnimg. ...

  4. 王宝强离婚成了谁的狂欢?——通过阿里云·数加严肃解读数据背后的媒体传播路径...

    2016年8月14日凌晨,正当许多夜猫在为奥运会损耗青春的肉体,一条突如其来的微博推送想必让无数人倍感精神,似乎拥有"上帝视角"的每个他或她已成为暗夜里的裁判,义愤填膺地点评其中的 ...

  5. 阿里云·数加,阿里下一代数据集成实践

    本文来源于7月8日 [阿里云-数据化运营实践分享 7月8日 上海站]阿里云数加平台研发负责人王贲的分享,未经允许,不得转载. 王贲,阿里云数加平台研发负责人,高级技术专家,阿里云数加平台研发负责人,1 ...

  6. 借助阿里云数加,小小的美甲行业被美甲帮玩出了天价。

    原文链接:http://click.aliyun.com/m/13860/ 免费开通大数据服务:https://www.aliyun.com/product/odps "数加对于创业公司来说 ...

  7. 阿里云数加产品家族图首次亮相

    数加就是阿里云专业搞大数据各种神器的产品大家族其实技术型产品也没辣么难懂,一层各种形式计算完给到二层做数据展现&算法加工,三层通过各种算法延展粗各种数据应用.您买间屋也行,买一层可以,要是高兴 ...

  8. 阿里云数加案例-美柚

    阿里云数加案例-美柚 美柚以让女人更美更健康为己任,致力成为最懂女人的互联网企业;美柚很早就将大数据作为了解女人.读懂女人.服务女人的最重要利器.大数据在美柚的应用非常广泛,然而在美柚大数据之路的初期 ...

  9. 万元大奖邀您参与阿里云数加 MaxCompute最佳实践征文大赛

    DT时代,越来越多的企业应用数据步入云端.与传统Hadoop相比,阿里云数加MaxCompute(原名ODPS)向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据 ...

最新文章

  1. hashmap value可以为空吗_美团面试题:Hashmap结构,1.7和1.8有哪些区别(最详细解析)...
  2. 化工原理少学时答案解析_化工原理 少学时 思考题答案
  3. 简明 XHTML 1.0 参考手册
  4. Java虚拟机(JVM)默认字符集详解
  5. loggerFactory java_java日志LoggerFactory.getLogger最全讲解使用方法
  6. ie8以ie7方式解析
  7. java线程冲突问题——不安全的线程例子
  8. 不再被日报月报折磨!一键生成报表模板的神器来了
  9. 分享 AI 圣经 PRML《模式识别与机器学习》百度云链接
  10. SEGGER Embedded Studio 缺少 mergehex工具
  11. ps抠图怎么放大图片_ps中在使用抠图工具时如何用快捷键移动放大的原始图片?...
  12. Burp Suite 自带浏览器Burp‘s Browser(Chromium)沙盒sandbox问题的解决
  13. To Kill a Mockingbird(杀死一只反舌鸟)简记
  14. Linux服务器挂载ntfs硬盘,Linux中挂载NTFS格式的硬盘的方法
  15. 大学三年软件工程专业学习感受
  16. 玩转算法与数据结构 C++描述 选择排序
  17. [NWERC 2019] E. Expeditious Cubing 浮点数精度判断
  18. Java入门代码注释与编码规范(羊驼)
  19. Cannot load C:\Users\12778\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\c0cf5d96-4221-48ee-b343
  20. 下载国外软件慢(例如:Python安装包)

热门文章

  1. java 增量编译_java增量构建关于lambda表达式的问题
  2. java实现指数分布_Nim 语言编程实现指数分布的随机数
  3. java方法声明无效_java 方法声明无效 需要返回类型
  4. powerdesigner生成php代码,让powerdesigner生成的sql语句在mysql上成功执行
  5. Java天使之恋攻略,跑跑卡丁车手游天使之恋怎么得 天使之恋获取攻略[多图]
  6. Java实用教程笔记 接口与实现
  7. matlab 极坐标作图polar
  8. Matlab R2018a 中文版安装教程(同时适用于大部分其他版本)
  9. 【Maven实战】之基础知识点
  10. NYOJ 45 棋盘覆盖