一、告警管理建设的现状和挑战
1. 企业的监控体系建设现状
企业监控体系建设的一般分为四个阶段:监控工具建设、统一监控建设、智能分析建设和主动防御建设。
根据我们的调研情况,大部分企业的现状都是在第一阶段到第二阶段之间,企业内已经建设有很多监控工具,都在思考如何管理这些监控工具。
2. 企业告警建设所面临的挑战
告警建设面临诸多挑战,主要有以下五个方面:
● 通过人工设置固定阈值,各系统设置标准不一,存在大量重复告警、误告警。
● 缺乏全局视图直观了解应用系统告警整体情况和关联影响范围。
● 告警散落在各个监控系统中,导致查找告警原因,定位问题困难。
● 告警处理人工干预过多,系统联动少,告警流转慢。
● 告警过程无法追踪,告警处理经验沉淀难,告警处理效率低。
为了解决这些问题,我们需要建设一个完善的告警管理系统。在介绍如何建设系统之前,我们先来介绍什么是告警管理体系,这样才能更有针对性的去做告警管理建设。
二、告警管理体系的三个方面
1. 告警事件管理的全生命周期(核心部分)
全生命周期又三个部分:事前、事中和事后。
●事前主要做告警事件的预防。
●事中快速发现和解决问题,快速恢复业务,保障业务连续性,降低损失。
●事后追踪并解决引发告警的根源问题,优化告警处理阶段效率。
2. 告警事件管理的关键衡量指标
衡量告警管理的关键指标为:MTTI、MTTA、MTTR、MTBF。通常情况下,我们会从整个告警时间的生命周期里的不同时间节点来计算关键指标。
告警管理的根本目标是降低MTTA,缩短MTTR,提升MTBF,即快速发现并响应故障、快速定位并解决故障、减少故障告警发生,提升业务连续性。
3. 企业告警管理建设的成熟度参考
一般分四个等级:L1、L2、L3、L4;另外还有一个特殊的L0级。
L0指的是没有告警,因此没有纳入整个告警管理的成熟度里,此阶段意味着可能没有监控系统,或者有监控系统但没有对应的报警检测机制亦或是对应策略,导致没有告警产生。
L1-L3均是告警产生后,对告警事件进行管理和分析;而L4是预防告警,将告警消灭于发生之前,是我们告警管理的终极目标。
介绍完告警管理体系的三大方面之后,接下来就可以思考怎么样去建设告警管理平台。因为告警系统属于整个大监控体系中的一部分,所以如果要建设告警管理平台,需要完善的考虑整个体系,有一个全面的规划。
三、如何建设告警管理平台
1. 监控体系全景规划
数据采集
采集目标对象包含各种设备、服务、应用和业务资源,共分六层:基础设施层、硬件设备层、操作系统层、组件服务层、应用性能层、业务运营层,对应着我们的指标管理体系。把需要监控的数据从这六层统一的采集到系统里,采集的方式分第三方接入和直采接入。
●第三方接入,即通过第三方监控系统,把数据再接入到新要建设的监控体系
●直采接入,即通过采集方式比如说Agent、插件、协议等
数据链路
作为一个管道负责接收采集到的数据,再进行数据的清洗,把一些非标准化的数据格式化,并提供数据存储、检索、计算、检测等能力。
监控场景
由统一的数据链路支撑,整体规划中会有资源监控、日志监控、APM监控、RUM监控四大监控场景,覆盖ITIM、Log、APM、RUM监控的整个体系,最后联动CMDB实现各个场景数据的互联互通。
统一告警中心
负责将各个告警事件接进来,不仅能够接入自己监控系统里的事件,还可以接入第三方监控系统的告警事件,汇聚到告警中心做统一的收敛分析和处理。
在整个研运一体化系统中,可以利用告警驱动周边的系统实现进一步的自动化,比如说驱动标准运维去做自动化的处理,完成常规告警的自愈;还可以把告警事件流转到ITSM中来,联动整个处理流程等等。同时,各个监控场景和告警产生的数据,都可以提供接口供第三方消费,例如大屏系统、报表系统等。
上述整个监控体系都是构建在蓝鲸基础平台上的,蓝鲸基础平台主要提供了以下三个基础能力:CMDB(模型&实例)、管控平台(管道)、计算平台(AI)。
2. 统一告警中心产品设计理念:以事件为中心
统一告警中心产品设计理念以告警事件为中心,围绕告警事件有四大动作:接入、收敛、分析、处理。
其中分析涉及到和CMDB的打通联动,丰富告警事件去支撑分析。对处理来说,最关键的点是告警管理过程中的流转,无论是流转到IT工单系统里做协同还是通知到人等都是一个流转的过程。
3. 统一告警中心产品架构设计
为了支撑产品设计理念的真正的落地,支撑监控体系的建设,我们按如下逻辑设计产品架构,主要分为3块:
告警事件接入模块
在告警源系统这部分采用插件的模式,通过扩展插件把所有的事件接入到告警管理平台上来。
后台事件流模块
事件接入到统一告警中心后台处理,和CMDB做打通,进行告警信息的丰富,支撑后续的策略处理和告警分析。在告警事件的处理和分派阶段,和第三方系统打通,比如打通各种告警通知渠道进行告警通知,打通自动化平台实现告警自愈,和流程平台打通实现告警自动派单等。
告警管理用户界面
主要提供各种策略配置的功能和告警展示、分析的视图。
4. 统一告警中心后台事件流转逻辑设计
这是告警管理的产品里最核心的业务逻辑,也体现了告警全生命周期管理的特性。从告警产生到告警关闭,经历了告警接入、告警丰富、告警收敛、告警处理几个过程。
嘉为蓝鲸告警系统的产品功能介绍
1.插件式告警接入,灵活扩展
拥有开箱即用的一些常规插件,灵活扩展,也可以自主开发一些插件去做扩展。
2.告警自动关联丰富,补齐辅助信息
告警丰富可以通过CMDB丰富,也可以通过常规的丰富方案,让告警事件信息更加齐全。
3.多重告警抑制,提升告警有效性
内置4种告警压缩能力,大幅减少无效告警,平均告警压缩率高达80%,有效防止告警风暴。
4.告警转单自愈,助力业务快速恢复
对于一些告警屏蔽之后,留下的有效告警可以做转单自愈,完成自动化告警处理。
5.告警自动分派升级,处理过程跟踪
告警事件可以直接分派给指定的人,或者再未处理时升级给到其他人。分派的通知渠道已经内置7种,种类和数量较为丰富。但如果企业有自己的IM系统,也支持通过扩展的方式扩展进来。
6.移动端告警管理,随时随地告警处理
对告警事件来说,很多时候工作人员很难做到每时每刻都待在电脑面前,因此为了让工作人员更加方便的处理告警,我们提供了移动端支持。
7.全面展现告警信息,辅助问题分析
告警详情的呈现是为了后续的分析做准备,共有基础信息、拓扑分析、关联告警、指标信息、流转记录五个层面。
8.多视角关联分析,快速定位问题
除了告警的关联拓扑之外,与蓝鲸CMDB联动之后还提供另外两类拓扑:即模型之间的关联拓扑和业务组成关系的业务拓扑。
9.多维度统计报表,全面掌握告警状态
报表中体现了整个告警管理体系的两个关键指标:MTTA和MTTR。这些指标的呈现能够更好的提升告警处理的效率,告诉工作人员告警的响应是否及时、处理的能力是否到位。
四、告警管理业务场景
1. 防范告警风暴,让运维人员专注于有效告警
主要是过滤无效告警,尽可能地呈现有效告警,可以从以下五方面的场景着手:自动去重、防抖抑制、关联聚合、时间屏蔽和依赖屏蔽场景。
2. 告警精细管理,让问题流转处理更高效
主要体现在4大场景:自动关闭场景、自动分派场景、自动转工单场景和告警自愈场景。
3. 告警影响关联分析,让问题定位更快速
针对告警分析相关的场景,通过基础信息、关联信息、告警时间轴、统计信息、拓扑关联分析,让问题定位更加快速。
客户案例
某大型保险公司,通过使用我们的告警中心,实现了三种应用场景:告警集中管理、告警故障自愈和辅助根因分析。
1.告警集中管理
就是前面提到的全生命周期管理的一个核心作用,当时客户在统计的时候,原始告警已有26万条,收敛后降到5万多条,收敛比例达80%,极大地避免了很多无效告警,提升了企业运维效率。
2.告警故障自愈
客户接入了13个系统,真实触发了134次,其中成功了114次,成功地比例达到85%。因此,故障自愈的场景并不是难以实现的,都是一些较为简单的场景,比如进程告警、端口报警等,这些都是直接通过我们的服务拉起或重启实现的自愈,能够解决企业超过五成的简单故障问题。
3.辅助根因分析
因为客户有自己的想法,所以挖掘出了一种用法:不仅仅依靠我们来提供整个关联分析的数据,还利用我们的告警自动处理的流程去抓取故障现场的数据。比如告警时触发了抓取的流程,直接到机器上面去执行,把内存的档信息保存下来。这样在后续覆盘的时候,便于真正定位问题。在这个过程中,通过他们设置的规则触发了15次自动抓取。
精选互动问答
问:多个来源的告警,内容怎么标准化?比如一条告警会有多个字段去描述,但是每个告警的字段都不相同。
答:由告警源插件适配不同的告警源,进行格式清洗,最后将标准化的告警事件接入到告警中心。
问:统一告警是属于统一监控的子模块,还是独立的模块呢?如果是独立的模块,为什么说统一监控包含统一采集、统一检测、统一告警、统一展示呢?
答:产品规划上:统一监控是一个完整大监控系统,包含了资源监控、APM、RUM、日志监控和统一告警多个大模块。
产品开发上:各个模块都有独立的SAAS产品进行迭代,各个模块之间会联动打通,同时也支持通过插拔的方式组成一个完整的产品。
问:不同的系统告警信息如何发送到具体的接收人,多个告警源怎么统一告警模板呢?
答:告警信息可以通过分派通知策略通知到策略指定的接收人,通知支持根据CMDB实例的负责人字段自动识别通知人进行通知。
接入的告警源已经经过了标准化,告警模板自然就是统一的,另外,告警通知模板的内容字段支持通过配置来进行定义。