分类: 系统运维
2021-05-08 10:13:23
而对于睿象云智能告警平台 Cloud Alert(以下简称:CA)来说,这一功能是我们平台的一个重要的组成部分,【精准分派相关人员】是我们智能告警平台的一个重要功能关键,可以帮助您与您的团队,促成一个优秀的排班计划,形成一个随叫随到的技术团队。睿象云经过多年与各类型的运维团队的沟通,围绕人、流程、工具三方面,形成了一套告警的全生命周期管理系统。
监控告警集中化管理
大多公司都使用了 Zabbix 和 Nagios、Open-Falcon 等监控工具去对自己系统中的硬件、网络、应用进行监控。
而这就会存在监控分散的问题:
遇到复杂环境的时候,就用到多个监控工具,如 Cacti 监控网络,Zabbix 监控应用和服务器;
如果存在有多个异地数据中心时,还需要同时部署多个 Zabbix 和工具;
部分关键业务,需要单独的开发监控脚本/工具进行独立监测;
但是如果没有集中的告警机制进行管理,就会面临大量的告警噪音的困扰,难及时地跟进处理,而重要的告警信息也容易被遗漏。
CA 可以实现告警的集中化管理,即将生产监控发现的告警事件集中到一起,这样只看着一个平台就够了,同样地也会更容易分析告警问题,在这一步相同和类似的告警就会被过滤掉,即可直观掌握现有环境的状况,发现事件相关性的,有些问题有较强关联性的,方便跟踪和后续的统计分析。集中处理,效率就会更高
建立支撑流程和机制
建立一线、二线甚至三线支撑团队,一线好理解,一般是 7x24 小时值班的同学们;
二线一般是资深工程师,或者是对应的应用开发/测试同学;
三线一般是主管或者是外部的厂家,如涉及硬件、IDC 机房等相关服务方。
再好的流程和设计,如果没有及时收到通知并处理,那么整个运维团队仍然会很郁闷的,关于告警的最后一公里的问题更是至关重要!
目前被运维团队选择最多的就是以下这几种方式:
邮件通知:简单有效,就是不够及时;
短信通知:需要开发对接,目前很多公司都有自己的短信服务通道。要注意一个限制:部分运营商会限制一天相类似内容只能发送10-30条;
移动APP通知:适应移动大潮。微信方式,好处是人人都有,坏处就是告警消息和正常沟通消息会混淆;
电话语音通知:这个可以说是最重要的救命线了,电话通知可以应对特别重要的告警,例如晚上严重的电话通知;
QQ、钉钉、企业微信、JIRA 等协作类工具:这一点属于彩蛋性质,找到团队的前后端共同来解决告警问题。
当然如果您正在使用我们的 CA 平台,可以根据您企业的自身使用习惯,选择电话、短信、微信、邮件、APP、钉钉、企业微信、飞书、JIRA 等通知方式,也可以根据自身需求,设置指定级别的告警使用不同的通知方式,也可以自定义工作时间,让告警在不同的时间段,用不同的通知方式。
如果您前 3 步都已经完成了,那么这里面还存在一个问题,就是当告警大规模触发时,特别是遇到告警风暴的话,很容易撑爆邮箱或者是手机短信了,所以接下来就聊下告警风暴规避的问题。这个问题比较大,基本上有些监控工具做了一部分,但是目前来看这还是一个难点:
静态规则方式:需要知识经验积累,根据业务逻辑梳理出一些父子关系。就比如出现服务器 Down 的告警,肯定该机器上的业务应用也会 Down ,那么就整理为一条规则。需要一套告警的过滤引擎,根据告警字段信息进行匹配;
关联关系分析:依赖 CMDB,服务关联关系,根据调用依赖关系进行告警的根源追溯。CMDB 的建设和维护是非常困难的事情,数据准确性和实时性是决定 CMDB 效果的根本因素。CMDB 国内落地效果理想的很少,只能依赖自动化,微服务、docker、Devops 大量应用让IT环境更动态、更复杂,没有自动化机制保障是非常困难的;
机器学习方式:相比前两种方式,机器学习更取巧一些,或者是说应该是未来的方向,可以节省大量人力物力。
目前,在 CA 平台中对于接收到的所有告警第一步就是自动去重,就是根据告警的 Event ID 来判断是否合并,Event ID 相同的告警就会自动合并到主告警之中,这样的告警只会通知主告警,直到告警恢复/关闭。
当然 CA 并不满足于此,目前 CA 支持的智能降噪包括时间窗口智能降噪和实时智能降噪的通知前降噪以及高聚合智能算法和仿阅读智能算法的通知后降噪。这里面包括实时计算和离线计算,算法方面参考了相似度、决策树、分类等算法。以相似度来说:首先采集告警的多维度信息,包括时间、主机、服务、分组 hostgroups、应用 applications、标签 tags 等基本维度信息,计算不同告警之间相似度,如果达到阈值,如告警 A 和告警 B 有70%相似就关联起来。以相似度为例因为根据业务不同,各维度的权重,阈值灵敏度有些差异。
将批量告警转为事件工单,这里包括手动转发和自动匹配规则转发;
手动生成事件工单,一般属于非告警类触发,如人工发现或用户投诉等引发的事件;
事件工单包括影响范围、严重程度,两者的交叉矩阵影响到处理的优先级。包括分类、子类、自定义标签,分类和标记有助于后续的统计分析;