一、背景
斗鱼是一家面向大众用户的在线直播平台,每天都有超大量的终端用户在使用斗鱼各客户端参与线上互动。伴随业务的迅猛发展,斗鱼需要对客户端采集到的性能数据进行统计和分析,开发出具有多维度分析图表和数据监控的 APM (Application Performance Monitoring,应用性能监控) 平台。
针对不同的客户端采集的不同数据,我们需要将各种维度之间相互组合并聚合,最终产出的数据变成指标在图表中展示。例如:对在时间、地域、网络环境、客户端以及 CDN 厂商等维度聚合下的各项指标情况进行多维度分析,包括客户端网络性能(包含完整请求耗时,请求耗时,响应耗时,DNS 耗时,TCP 耗时,TLS 耗时等等指标)各类错误时间段内的占比以及详细数量、状态码分布等等。图一和图二分别是两个示例:
△ 图一
△ 图二
我们最初的 APM 平台采用了市面上非常流行的 Elasticsearch (简称 ES)实时聚合 实现。配合自研多数据源统一接口(EST 多数据源统一接口平台)框架,能够实现维度指标的自由组合查询。数据采用 storm 实时消费 kafka 写入 ES,做到了数据的实时展示。告警采用定时查询 ES 的方式。
Comments