针对对饿了么、监控平台体系化的一篇介绍。运维行业流传着一句话:“无监控,不运维”,监控的重要程度可见一斑。
饿了么的监控痛点与架构设计。与其它行业相比,外卖行业最显著的特点就是它的高峰和低谷是非常明显的,一般集中在中午的 10 点到 12 点和晚上的 5 点到 8 点,这样的瞬时高峰对于整个系统的压力会非常大,监控系统也不例外。
据黄杰介绍整个饿了么的业务发展是超高速的:“我加入饿了么的第一年,当时每天采集的原始数据差不多是 10 个 T,第二年就增长到了 80 个 T,第三年变成了 200T,而现在每天采集的原始数据可以达到 800T。”
在技术层面,监控系统不仅要支撑这样快速发展的业务,同时还要兼顾稳定性。在稳定性方面,饿了么 CTO 雪峰对监控系统的要求是比饿了么整个系统可用性高一个 9,因为监控是整个系统的眼睛,如果眼睛出了问题,会影响很多判断。
而在用户层面,饿了么监控系统要解决两类人的问题,第一类是 GOC 的问题,当系统出来问题的时候,怎么快速发现并恢复问题;第二类是开发人员,需要做到的是快速定位问题。
目前饿了么的监控系统覆盖了所有应用及服务器,包括业务监控、全链路监控、PaaS、IaaS 等。如果分层来看的话,最上层是业务,理论上可以做到端到端,针对某些特定业务的监控,运维团队会与业务团队一起协作;第二层是应用,云数据中心和本地数据中心的应用都可以监控到;第三层是 PaaS,例如 MySQL、Redis;最底层是 IaaS,主要是关注应用跑在哪些机器上,容器、物理机还是虚拟机,服务器之间的机架、交换机,机房之间的专线等等。