七牛大数据平台的实时数据分析实战

1,707 阅读4分钟

上文回顾:七牛大数据平台的演进

在我们这仅仅两三步简单的操作以后,就可以看到哪些十分有价值的数据呢?
实时总用户访问量(请求数统计),如图 1 所示

图 1 实时总用户访问量
图 1 实时总用户访问量

机器请求数随时间变化趋势,如图 2 所示

图 2 机器请求数随时间变化趋势
图 2 机器请求数随时间变化趋势

实时请求状态码占比,如图 3 所示

图 3 实时请求状态码占比
图 3 实时请求状态码占比

实时请求TOP排名,如图 4 所示

图 24 实时请求TOP排名
图 24 实时请求TOP排名

实时请求来源IP TOP排名,如图 5 所示

图 5 实时请求来源IP TOP排名
图 5 实时请求来源IP TOP排名

响应时间随时间变化趋势图,如图 6 所示

图 6 响应时间随时间变化趋势图
图 6 响应时间随时间变化趋势图

实时用户请求的客户端TOP排名,如图 7 所示

图 7 实时用户请求的客户端TOP排名
图 7 实时用户请求的客户端TOP排名

实时根据不同情况进行具体数据的查询,包括状态码、响应时间范围进行筛选等,如图 8 所示

图 8 实时根据不同情况进行具体数据的查询
图 8 实时根据不同情况进行具体数据的查询

其他更多自定义配置...
自定义的 Grafana DashBoard 配置示例,如图 9 所示

图 9 Grafana DashBoard配置示例
图 9 Grafana DashBoard配置示例

可见,仅仅几步简单的操作,你就借助Pandora实现了海量日志的实时监控,通过 nginx日志 完整而详尽的 了解业务的流量入口的各类情况。

2.实时数据报警

有了实时的数据监控,怎么能少得了报警呢,我们还提供了包括 Slack, Email邮箱,Webhook等十来种报警方式。
比如说如图 10 ,我们设置了一个响应时间大于1000ms的报警

图 30 响应时间大于1000ms报警
图 30 响应时间大于1000ms报警

LogDB采用的是基于Elasticsearch协议的报警,这个基于Elasticsearch协议的Grafana报警功能是七牛独家哦!TSDB是基于InfluDB协议,使用TSDB更是同样具备上述功能。
那么您可以看到报警形式是怎么样的呢?

图 11 Slack报警示意图
图 11 Slack报警示意图

看到图 11 Slack上的报警了吗?除了基本的文字,还会带上酷炫的报警图片!图片都会被存储到您七牛云存储的bucket里面!

图 12 邮件报警示意图
图 12 邮件报警示意图

如图 12 所示,常规的邮件报警内容也一样酷炫!

3.离线分析

如果你使用离线分析,那么可以获得的内容就更多了,只要你数据拥有的维度,就可以统计出来,比如我们以CDN日志为例。
用户地区分布,如图 13 所示

图 13 用户地区分布
图 13 用户地区分布

用户机型分布,如图 14 所示

图 34 用户机型分布述
图 34 用户机型分布述

活跃用户数随时间变化趋势,如图 15 所示
(点击放大图像)

图 15 活跃用户数随时间变化趋势
图 15 活跃用户数随时间变化趋势

各类手机图片下载数,如图 16 所示

图 16 各类手机图片下载数
图 16 各类手机图片下载数

不同时间平均下载速度,如图 17 所示

图 17 不同时间平均下载速度
图 17 不同时间平均下载速度

不同时间正常响应比重,如图 18 所示

图 18 不同时间正常响应比重
图 18 不同时间正常响应比重

查询用户系统分布,如图 19 所示

图 19 查询用户系统分布
图 19 查询用户系统分布

除了上述这些,还支持更细粒度的下钻功能,可以全方位无死角分析你的海量数据。

4.总结

至此,本次的Pandora大数据平台的架构演进与使用实战算是介绍完了,但是我们Pandora大数据产品的迭代还在不断向前,还有大量大数据平台建设的细节等待我们去完善。欢迎广大朋友联系交流。


作者介绍:
孙健波,InfoQ专栏作者,硕士毕业于浙江大学计算机学院,2015年底加入七牛,参与并负责七牛大数据平台整条链路多模块的架构设计以及开发工作,包括大数据计算引擎、时序数据库服务以及日志检索服务。在此之前主要研究和参与Cloudfoundry、Kubernetes、Docker等容器与容器云相关工作,是《Docker容器与容器云》一书的主要作者之一。