3分钟了解黄金指标异常检测
作者简介
王博 百度高级架构师
从事有关AIOps智能运维领域的工作,通过算法解决IT运维领域的痛点问题。重点关注异常检测、故障诊断方向的相关工作。
干货概览
故障管理是运维工程师消耗时间最多的环节,因此成为了AIOps算法首要解决的场景之一。
在故障预防阶段,我们在文章《被变更逼疯的我,是如何成功自救的?》中提到过百度分级发布智能检查算法。算法将在每一级变更的实例与未变更实例,以及历史变更情况进行对比,如果发现指标变化有明显异常,即判定本次变更可能存在风险,变更将被拦截并提交人工进行进一步审查。
在故障发现阶段我们利用业务监控系统对重要的业务指标进行异常检测。当指标存在突变或者与历史行为不一致时,系统就会触发报警给运维工程师。我们在文章《我们不一样!告诉你百度是如何做智能流量异常检测的》中详细介绍了在流量指标上的故障发现方法。
在故障止损环节,我们在《单机房故障自愈》系列文章中详细讲述了百度单机房故障自愈的场景和算法。通过抽象、规范处理流程,我们将止损过程划分为统一的感知、决策、执行三个阶段。感知阶段监控分机房的KPI指标,在发现异常后触发止损流程。决策阶段根据各个机房的负载情况,在保证负载水位动态均衡的基础上分步将故障机房的流量调度到其他健康机房。执行阶段则根据决策阶段产出的调度计划利用流量调度平台API执行流量调度。
在故障诊断环节,《创造程序的“白衣天使”》系列文章提出了指标排查技术。该技术在故障时刻对故障产品线或者子系统下所有机器指标进行异常检测,给每一台机器打上一个异常标签,然后根据异常标签的情况对机器进行聚类分组,最后对分组进行排序,推荐异常程度最高的3到5个机器分组作为故障根源所在的位置。
讲到这里,我们可以发现故障管理的各个环节都依赖于对时序指标数据的分析,而异常检测算法是时序指标数据的关键分析技术之一,因此我们今天来聊一聊时序指标异常检测技术。
各行各业的监控指标
不同的监控场景采集的时序指标不一样,业务含义差异也很大,这些指标背后应该是一个异常检测算法吗?用户经常在听了异常检测的案例之后坚持认为自己的监控场景可能和其他人的不同,需要专门定制算法,真的是这样吗?下图是我们在业务领域、数据库领域、网络领域以及工业领域见过的一些指标。这些指标中的绝大多数都可以用几种标准的算法来检测异常。
对业务运维团队来说,主要关注的是业务指标的波动变化。像百度等互联网公司,可能
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。