作者:vivo 互联网服务器团队- Liu Xin、Yu Dan
本文基于故障定位项目的实践,围绕根因定位算法的原理进行展开介绍。鉴于算法有一定的复杂度,本文通过图文的方式进行说明,希望即使是不懂技术的同学也能理解。
一、背景介绍
1.1 程序员的困扰
作为一名IT从业人员,比如开发和运维,多少有过类似的经历:睡觉的时候被电话叫醒,过节的时候在值班,游玩的时候被通知处理故障。作为一名程序员,我们时时刻刻都在想着运用信息技术,为别人解决问题,提升效率,节省成本。随着微服务架构的快速发展,带来一系列复杂的调用链路和海量的数据。对于我们来说,排查问题是一个大挑战,寻找故障原因犹如大海捞针,需要花费大量的时间和精力。
1.2 现状分析
vivo已经建立了一套完整的端到端监控体系,涵盖了基础监控、通用监控、调用链、日志监控、拨测监控等。这些系统每天都会产生海量的数据,如何利用好这些数据,挖掘数据背后的潜在价值,让数据更好的服务于人,成为了监控体系的探索方向。目前行业内很多厂商都在朝AIOps探索,业界有一些优秀的根因分析算法和论文,部分厂商分享了在故障定位实践中的解决方案。vivo有较完整的监控数据,业界有较完整的分析算法和解决方案,结合两者就可以将故障定位平台run起来,从而解决困扰互联网领域的定位问题。接下来我们看下实施的效果。
二、实施效果
目前主要针对平均时延指标的问题,切入场景包括两种:主动查询和调用链告警。
2.1 主动查询场景
当用户反馈某个应用很慢或超时,我们第一反应可能是查看对应服务的响应时间,并定位出造成问题的原因,通常这两个步骤是分别进行,需要用到一系列的监控工具,费时费力。如果使用故障定位平台,只需从vivo的paas平台上进入故障定位首页,找到故障服务和故障时间,剩下的事情就交给系统完成。
2.2 告警场景
当收到一条关于平均响应时间问题的调用链告警,只需查看告警内容下方的查看原因链接,故障定位平台就能帮助我们快速定位出可能的原因。下图是调用链告警示例:
调用链是vivo服务级监控的重要手段,上图红框内原因链接是故障定位平台提供的根因定位能力。
2.3 分析效果
通过以上两种方式进入故障定位平台后,首先看到的是故障现场,下图表示服务A的平均响应时间突增。
上图红框区域,A服务从10:00左右,每分钟平均时延从78ms开始增长,突增到10:03分的90ms左右。
直接点击图2蓝色的【根因分析】按钮,就可以分析出下图结果:

最低0.47元/天 解锁文章
423

被折叠的 条评论
为什么被折叠?



