MakeMyTrip对大规模电子商务网站的监控
极客时间编辑部
讲述:丁婵大小:1.30M时长:02:51
MakeMyTrip 是一家在线提供旅游服务的企业。近日,MakeMyTrip 团队在 Medium 上发表了一系列文章,来介绍企业实现大型电子商务网站监控的原理及架构设置。
据了解,他们在实现对整个技术栈的监控中,主要使用了一种由开源工具构建的混合架构,散布于多个数据中心和一些私有云 / 公有云中,由真实物理机以及虚拟机组成。架构中部署的关键工具包括实现报警的 Zabbix,以及一个采集、聚合和存储度量的六阶段流水线。该流水线主要由开源工具构建,其中使用了 OpenTSDB、Kafka、Elasticsearch 和 Grafana,还有一些企业自研的工具。
文章中还介绍了企业所监控的一些关键度量,包括 CPU 平均负载、内存、线程、网络连接、磁盘空间和性能等。对于电子商务网站而言,网络监控至关重要。MakeMyTrip 的网络监控实现为多个层级,包括使用 ping 监控跨数据中心的连通性,使用 Observium 监控网络设备带宽,使用 Uptime Robot 监控外部可访问性和系统运行时间及负载情况(uptime)。
而监控流水线一共分为六个阶段,实现从日志中抽取度量并推送到时序数据库 OpenTSDB:
第一个阶段负责收集日志。
第二阶段使用 grok 分析器分析收集的日志,并推送到两个不同的 ELS(Elasticsearch)集群。
第三阶段使用企业自研工具“Data Monster”,周期性地轮询 ELS 集群,从中抽取度量。
第四阶段使用调度系统计算各个度量。该调度系统使用 Data Monster 从 ELS 拉取数据,并推送到 Kafka 集群。
第五阶段生成实际写入到 OpenTSDB 的 PUT 语句。
第六阶段使用 Grafana 查询数据库中的消息,生成可视化的仪表盘展示。
在云环境中,机器的生命周期是短暂的,这对于需要掌握被监控机器的监视工具而言是一个挑战,该团队通过使用 Zabbix 的自动注册功能解决了这个问题。
团队的关键关注点还包括,如何确定实时监控下的度量粒度问题,以及如何对 HTTP 响应代码和请求趋势等度量进行近距离观察。前者可以支持团队快速响应并定位问题,后者可以作为一种早期预警系统,对客户或服务器端错误和应用性能突发问题做出预警。而对请求数量变化趋势的深入研究,也有助于团队进一步规划容量。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论