阿里UC百亿PV的前端监控平台:(3)日志存储

本文首发于知乎 《阿里UC百亿级PV的前端监控平台实践》 ,搬运转载请注明出处,否则追究版权责任。

阿里UC百亿PV的岳鹰全景监控平台实践 系列文章:

  • 阿里UC百亿PV的前端监控平台:(1)概述
  • 阿里UC百亿PV的前端监控平台:(2)前端采集上报
  • 阿里UC百亿PV的前端监控平台:(3)日志存储
  • 阿里UC百亿PV的前端监控平台:(4)大数据分析
  • 阿里UC百亿PV的前端监控平台:(5)数据可视化

前言

Web承载的业务越来越复杂,用户对于Web的体验要求也越来越高,Web性能的优劣对业务收益也有着非常直接的影响。

本文主要介绍阿里UC百亿级PV前端监控平台, 岳鹰全景监控平台 的实践历程 - 日志存储,阅读时长 5 分钟。

阿里UC百亿PV的前端监控平台:(3)日志存储_第1张图片
前端监控

日志清洗存储

日志采集上报到服务器,接下来需要在服务端清洗存储,用于后续问题的查询分析。

对于小应用,可能用数据库单库单表加索引优化就足够了。而一个成规模甚至大流量的应用,需要建设更稳定、高效的日志监控服务,就得在日志存储架构上下一些功夫。

目前业界有不少比较完备的日志存储方案,主要有Hbase系和Lucene系,应用在监控领域比较有代表性的有 时序数据库 OpenTSDB 和 全文检索搜索引擎 Elasticsearch 。

在数据存储阶段,核心的使用场景在于 不同数据维度的灵活查询,逐层分析对比各个维度的数据快速定位到问题,而这恰好可以利用elasticsearch的检索特性,因此我们选择使用elasticsearch作为主要的存储方案。

阿里UC百亿PV的前端监控平台:(3)日志存储_第2张图片
岳鹰日志存储

即使对于一个最小集合的elasticsearch集群,也可以比较 轻松实现每天千万级别 的日志量的存储和查询。

而在每天上亿甚至几十亿日志的场景下,日志存储系统就需要通过一些架构设计来解决 数据量大,数据结构不规律,写入并发高,查询统计需求大等特性带来的问题。

在我们的实践场景下,通过利用 批量写入、写入缓冲、表设计(按照时间/业务扩展)等索引设计和优化,可以实现 每天100亿级别的日志存储秒级查询,并且随时通过横向扩展实现扩容。具体方案业界上也比较成熟,这里就不再做更多讨论,有兴趣的筒子可以私我讨论。

岳鹰-WEB前端监控

阿里UC出品的 岳鹰全景监控平台 ,支持移动H5、PC站点、微信小程序以及支付宝小程序等各家小程序,PV、JS异常、页面性能等监控指标完整,已经对外开放,欢迎免费体验试用。

技术交流、第一时间掌握产品动态,欢迎联系微信小助手~

阿里UC百亿PV的前端监控平台:(3)日志存储_第3张图片
微信号 effirst-assistant

参考资料

  • 评估关键渲染路径
  • 移动WEB应用路线图-性能和调优
  • 前端异常处理
  • 监听AJAX请求
  • 【前端3分钟】Script Error产生的原因和解法

你可能感兴趣的:(阿里UC百亿PV的前端监控平台:(3)日志存储)