by Philips
青铜到王者的晋级之战 夏洛克AIOps从容应对千百万级别的告警风暴_第1张图片
监控告警,一直扮演着IT系统守门员的角色,在IT运维中发挥着重要作用。但随着容器化和微服务的发展,现代的IT系统数量和规模急剧增长,监控告警面临着巨大压力,那么将如何应对这些困难和挑战呢?
监控告警的困局:单维与规则驱动
单维的局限
青铜到王者的晋级之战 夏洛克AIOps从容应对千百万级别的告警风暴_第2张图片
告警平台是IT运营中的中场组织核心,囊括了所有关键信息,并能做到告警收敛和择优选取。在理想的情况下,我们期望每一条告警都可以做出响应操作,可以简单理解为每条告警都是可执行的(actionable),这样的告警平台才是最有效的。然而,现实是骨感的,由于IT系统监控的内容日益复杂化,很难从设计层通过规则做到一一响应。
以最常见的CPU使用率——这一监控告警为例,CPU的使用率过高,可能是执行某个批处理任务导致的,也可能是故障导致的。如果仅从CPU的高使用率来看,运维人员也无法判断是否真正需要作出响应。
于是,所谓“从告警触发到自动化告警工单”成为一个伪命题。因为告警在大多数情况下无法从单个维度说明问题,那么这样的告警所产生的工单自然就大打折扣。大量实践证明,单维度的告警信息,除了含有特别明确的核心信息,大多数单维度信息是有局限性的,而且必须参照其他维度的信息,才能了解导致这一现象的前因后果。
规则的梦魇
青铜到王者的晋级之战 夏洛克AIOps从容应对千百万级别的告警风暴_第3张图片
当单维度信息无法提供足够的信息时,传统告警平台首先想到了使用规则来破局,即“如果A和B同时发生了,则触发告警C”。
的确,规则是个有效的方法,是解决眼下问题的最快途径。然而,事实是否真如此一般呢?A和B各自发生了多少次才能触发C?A和B之间有没有发生的先后次序?A和B发生相隔的时间限度是多少?其实,规则会产生大量的分叉和条件组合,于是我们不难看出规则的诸多问题:
l 规则看似简单,实操中却会发现内容十分复杂;
l 规则维护的成本昂贵,有着相当的隐性成本;
l 在简单环境中,规则能够适用,但在复杂环境中是不可预测的。
而随着IT技术的日益发展,系统的规模和复杂度也今非昔比,大量规则的维护如同噩梦一般,让运维人员越陷越深,难以自拔。
监控告警破局之术:AI驱动,打造新一代告警平台
青铜到王者的晋级之战 夏洛克AIOps从容应对千百万级别的告警风暴_第4张图片
不管是告警信息单维的局限性,还是基于规则的告警系统,都不足以支撑IT系统可持续运行。但在当前通过新兴技术赋能IT运维管理的情况下,运用AI驱动告警平台,逐渐成为一种高效的解决方案。夏洛克告警辨析中心,便能够破除以往的种种局限与困局。
通过AI驱动告警平台,或许可以发现以前解决方案检未测到的问题。例如,机器学习可以使用相同的算法,从其他类型推断出一种新的类型。而且,算法本身具有抗错性,无需掌握所有数据即可得出可靠结论;算法也具备稳定性,无论输入如何,它们总是产生相同的输出结果,无论处理数据的顺序如何,算法都能正常工作。当然,算法也可以是基于反馈的,通过在学习中不断改进,变得能够适应个性化的环境。这才是真正意义上告警平台的变革。

那么如何去构建夏洛克告警辨析中心——这样的平台,才能发挥出它应有的智慧能力呢?
海纳百川——收集需要收集的信息
将不同类型和层级的告警事件集中到告警平台是高效处理的基础。从现状来看,应用业务和系统架构监控,由不同部门分而治之的案例比比皆是,然而故障的产生往往与这两类监控之间有着紧密的因果关系。唯有汇总统一方能打破盲人摸象的尴尬局面,提高各个部门团队之间的协同效率,这样只需投入一定的人力高效排障,便能减少系统故障对企业业务造成的损失。
层层筛滤——关注需要关注的内容
汇总海量告警事件,再进行压缩关联和告警收敛,从而减少告警总数,关注“有效”告警。告警数量是庞大的,且具备多种特性,有重复的、突发的、规律性的关系,也有因果关系。根据告警事件的特性,以及时间、空间的属性进行评估和关联,这样才能真正帮助运维人员高效处理“故障”,而不是直接面对海量的告警事件。
青铜到王者的晋级之战 夏洛克AIOps从容应对千百万级别的告警风暴_第5张图片
算法驱动——定位需要定位的场景
在经过筛选、过滤和压缩之后,可以对告警事件的特征进一步提取,结合时间和空间等属性,并借助算法,将关联性较高的若干告警定位成一个描述特定故障的“场景”,进行场景聚类,进一步帮助运维人员提高排障效率。描述特定故障的“场景”是一项具有挑战性的工作,它需要结合告警相关的多种属性,再应用算法进行综合分析,来模拟“人工”排障的过程。
学习进化——积累需要积累的知识
随着IT系统的不断演化,复杂程度只会日益加深。而且还需面对不断变化的外部环境,监控系统必须具备“学习”的能力,不断自我改善和优化,学习以往的故障处理经验,帮助运维人员更快定位新出现的故障,以及推荐根因。夏洛克告警精析中心需要能够逐步消化使用中的知识积累,沉淀有用的内容成为知识库,以助力于后续的AI驱动。