勇攀监控高峰 | EMonitor 之根因分析

EMonitor 是饿了么的一站式监控系统,为了解决故障定位难题,引入了根因分析功能。通过指标下钻分析和根因分析流程,能够快速准确地定位问题源头,如DB、Redis、MQ等资源的操作耗时和状态。系统基于全量数据和精准建模,实现了96%的定位准确率,借助业内领先的时序数据库LinDB实现快速查询。实际案例展示了系统在故障诊断中的高效应用。
摘要由CSDN通过智能技术生成

背景


阿里集团针对故障处理提出了“1/5/10”的目标-- 1 分钟发现、5 分钟定位、10 分钟恢复,这对我们的定位能力提出了更高的要求。

EMonitor 是一款集成 TracingMetrics,服务于饿了么所有技术部门的一站式监控系统,其覆盖了:

1、前端监控、接入层监控;

2、业务 Trace 和 Metric 监控;

3、所有的中间件监控;

4、容器监控、物理机监控、机房网络监控。

每日处理总数据量近 PB,每日写入指标数据量上百 T,日均几千万的指标查询量,内含上万个图表、数千个指标看板,并且已经将所有层的监控数据打通并串联了起来。但是在故障来临时,用户仍然需要花费大量时间来查看和分析 EMonitor 上的数据。

比如阿里本地生活的下单业务,涉及到诸多应用,每个应用诸多 SOA 服务之间错综复杂的调用关系,每个应用还依赖 DB、Redis、MQ 等等资源,在下单成功率下跌时,这些应用的负责人都要在 EMonitor 上查看指标曲线以及链路信息来进行人肉排障以自证清白,耗时耗力,所以自动化的根因分析必不可少。

根因分析建模


业界已经有好多在做根因分析的了,但是大都准确率不高,大部分还在 40% 到 70% 之间,从侧面说明根因分析确实是一个难啃的骨头。

根因分析看起来很庞大,很抽象,无从下手,从不同的角度(可能是表象)去看它,就可能走向不同的路。那如何才能透过表象来看到本质呢?

我这里并不会一开始就给你列出高大上的算法解决方案,而是要带你重新认知根因分析要解决的问题到底是什么。其实好多人对要解决的问题都模糊不清,你只有对问题理解清楚了,才能有更好的方案来解决它。

要解决什么样的问题

举个例子:现有一个应用,拥有一堆容器资源,对外提供了诸多 SOA 服务或者 Http 服务,同时它也依赖了其他应用提供的服务,以及 DB 资源、Redis 资源、MQ 资源等等,那我们如何才能够全面的掌控这个应用的健康状况呢?

我们需要掌控:

1、掌控这个应用的所有入口服务的「耗时」和「状态」

2、掌控每个入口服务之后每种操作的「耗时」和「状态」

一个应用都有哪些入口?

1、SOA 服务入口;

2、Http 服务入口;

3、MQ 消费消息入口;

4、定时 job 入口;

5、其他的一些入口。

进入每个入口之后,都可能会有一系列的如下 5 种操作和 1 种行为(下面的操作属性都是以阿里本地生活的实际情况为例,并且都包含所在机房的属性):

1、DB 远程操作:有 dal group、table、operation(比如select、update、insert等)、sql 的操作属性;

2、Redis 远程操作:有 command 的操作属性;

3、MQ 远程操作(向MQ中写消息):有 exchange、routingKey、vhost 的操作属性;

4、RPC 远程操作:有 远程依赖的 appId、远程 method 的操作属性;

5、Local 操作(即除了上述4种远程操作之外的本地操作): 暂无属性;

6、抛出异常的行为:有异常 name 的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值