写点什么

MakeMyTrip 在监控大规模电子商务网站中的做法

  • 2018-01-31
  • 本文字数:1506 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

MakeMyTrip 是一家在线提供旅游服务的企业。近期,MakeMyTrip 团队在 Medium 上发表了一系列文章,介绍了企业实现大型电子商务网站监控的原理及架构设置。他们在实现对整个技术栈的监控中,主要使用了一种由开源工具构建的混合架构。

团队发表的前两篇文章主要针对如何监控系统、网络和应用,其中重点介绍了所使用的监控流水线。MakeMyTrip 的架构散布于多个数据中心和一些私有/ 公有云,由真实物理机以及虚拟机组成。架构中部署的关键工具包括实现报警的Zabbix,以及一个采集、聚合和存储度量的六阶段流水线。该流水线主要由开源工具构建,其中使用了OpenTSDB、Kafka、Elasticsearch 和Grafana,还有一些企业自研的工具。

文章中介绍了企业所监控的一些关键度量,包括CPU 平均负载、内存、线程、网络连接、磁盘空间和性能等。对于电子商务网站而言,网络监控至关重要。MakeMyTrip 的网络监控实现为多个层级,包括使用ping 监控跨数据中心的连通性,使用 Observium 监控网络设备带宽,使用 Uptime Robot 监控外部可访问性和系统运行时间及负载情况(uptime)。监控的实现原理通常分为两大类,即拉取模式(Pull)和推送模式(Push)。在拉取模式下,存在一个集中式系统,轮询各个被监控系统并从中拉取数据。 Nagios 等多种传统的监控系统主要遵循该模式,但是其中部分系统也提供推送模块。在推送模式下,每个被监控系统中需要运行一个代理程序。该代理程序采集监控数据,并将数据推送到一个中央系统。 Prometheus 等工具使用了推送模式,它们提供推送功能选项。MakeMyTrip 团队选择使用推送模式,并在每台服务器上运行了Zabbix 代理。

监控流水线分六个阶段,实现从日志中抽取度量并推送到时序数据库 OpenTSDB 。第一个阶段负责收集日志。流水线通过运行在每个服务器上的 syslog-ng 代理,以 UDP 方式汇集到一个中央 Logstash 服务器。syslog-ng 可在类 UNIX 系统上实现 syslog 协议。第二阶段进而使用 grok 分析器分析收集的日志,并推送到两个不同的 Elasticsearch( ELS )集群。每天分析的日志总量可达 700GB。第三阶段使用称为“Data Monster”的企业自研工具,周期性轮询 Elasticsearch 集群,从中抽取度量。进而在第四阶段使用调度系统计算各个度量。该调度系统基于 Celery Beat、RabbitMQ 和 MySQL 实现,使用 Data Monster 从 ELS 拉取数据,并推送到 Kafka 集群。第五阶段生成实际写入到 OpenTSDB 的PUT语句。 Apache Kafka 通常用于构建持久化流数据队列。在流水线中,Kafka 消费者处理消息,并推送到 OpenTSDB 中持久存储。第六阶段使用 Grafana 查询数据库中的消息,生成可视化的仪表盘展示。架构使用了 Zabbix 生成报警。此外为保证高可靠性,OpenTSDB 是安装在多个节点上的。但是文中并未给出具体的设置情况。

在云环境中,机器的生命周期是短暂的,这对于需要掌握被监控机器的监视工具而言是一个挑战。MakeMyTrip 的团队通过使用 Zabbix 的自动注册功能解决了这一问题。Zabbix 支持使用模板注册一个新机器。团队使用了一种基本的 Linux 模板,用于 CPU 使用率、平均负载、Java 线程等通用系统度量。还使用了一种特定于应用的模板,用于健康检查和应用性能管理。

团队的关键关注点还包括,如何确定实时监控下的度量粒度问题,以及如何对 HTTP 响应代码和请求趋势等度量进行近距离观察。前者可支持团队快速地响应并定位问题,后者可作为一种早期预警系统,对客户或服务器端错误和应用性能突发问题做出预警。对请求数量变化趋势的深入研究,也有助于团队进一步规划容量。

查看英文原文: How MakeMyTrip Monitors Its Large-Scale E-Commerce Website

2018-01-31 18:001199
用户头像

发布了 391 篇内容, 共 135.1 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

SwitchResX for Mac实用的屏幕分辨率修改工具

Mac相关知识分享

4K Video Downloader Plus Pro for Mac(4K视频下载软件)

Mac相关知识分享

Premiere Pro 2023 for Mac(pr2023)中文版

Mac相关知识分享

娱乐业怎么定义?以及什么情况下需要用到堡垒机?

行云管家

网络安全 娱乐 等保 堡垒机 等级保护

重视游戏本身的价值,小游戏3.0时代应如此。

Geek_2305a8

永久版 Astute Graphics for Mac(全系列ai插件合集)

理理

Presentify Mac版是视频录制、教学视频的最佳工具

理理

Cinema 4D 2024 for mac(c4d 2024)三维动画制作软件

Mac相关知识分享

文档数字化采集与智能处理:图像弯曲矫正技术概述

合合技术团队

算法 数字化 图像处理 弯曲矫正

HyperWorks的shrink warp meshing

智造软件

CAE CAE软件 Hypermesh hyperworks

【企业数字化转型】一文讲透DevOps理论体系的演进

京东科技开发者

终端SSH仿真工具 securecrt mac破解安装教程 及securecrt密钥

理理

Lightroom Classic 2024 for Mac(LRC2024) 中文版

Mac相关知识分享

益阳等保测评中心在哪里?电话多少?

行云管家

等保 等级保护 等保测评 益阳

成为优秀项目经理需要的项目管理能力

爱吃小舅的鱼

项目管理能力

汽车项目管理成功的五大秘诀

爱吃小舅的鱼

项目管理

阿里巴巴 Qwen2.5-Coder: 代码智能的革命

吴脑的键客

人工智能 阿里巴巴‘

Mac 电量管理大师 ——Power Manager for Mac,节能增效新利器

理理

支付宝接口代签约失败排查指南

盐焗代码虾

接口 支付宝 接口代签约

高校数字校园建设的数字身份管理难题

芯盾时代

数字身份 iam 身份和访问管理 数字化校园

数造科技:赋能数字政府与智慧城市,推动数据资产入表

数造万象

政务 DataOps 大模型 #科技 数据资产入表

Ultimate Vocal Remover(UVR终极人声去除器)v5.6激活版

理理

中间件全球数据实时同步利器,EventGrid事件流重磅发布

华为云开发者联盟

大数据 中间件 数据同步

【实践篇】一次Paas化热部署实践分享

京东科技开发者

如何在低代码平台中,通过模块化设计实现灵活配置,同时确保系统的高效运行?

天津汇柏科技有限公司

软件开发 低代码 模块化

CST软件如何设置金属材料表面粗糙度

思茂信息

cst cst使用教程 CST软件

几何画板Sketchpad中文激活码及安装教程 Sketchpad for Mac几何教学工具

理理

一款高品质音乐播放器HQPlayer Desktop Mac版 v3.25.0免激活版

理理

Mosaic for mac 窗口布局管理工具 让你的界面看起来更加整洁清爽!

理理

如何在Python中集成京东API

代码忍者

API 接口 pinduoduo API

记一次老商家端应用内存突然飚高原因分析

京东科技开发者

MakeMyTrip在监控大规模电子商务网站中的做法_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章