AIOps 人工智能和IT运营支撑 Ops 之间的故事,愈演愈烈,已经成为当今运维圈的热门话题,我打算从2篇文档分享我们在 AIOps 上一些探索和实践。(上篇)主要介绍了为什么事件(告警)处理需要 AIOps;(本篇)主要分享OneAlert 事件处理平台在 AIOps 方面的探索。
上篇提到规模化的 IT 事件管理中,需要人工智能识别重要信息,去除噪音,甄别关键信息,减少人力工作量。
举个栗子:假设某企业的 IT 环境中的某个底层基础设施,如网络或存储设备出现异常,相关联的主机、中间件数据库、消息队列、缓存,应用程序,业务服务会受到影响。当监控和管理系统全面的探测发现这些问题的话,会瞬间(数十秒)产生大量的事件,而且这些事件随着时间的推移不断的发生(1-2分钟),假设都加入通知提醒的话,邮箱瞬间爆满。实际上,随着规模化和复杂度增加,这些现象经常性发生。
OneAlert 在事件(告警)处理方面经营多年,借助人工智能技术,在以下几个方面进行探索,尝试解决上述问题:
-
降噪,消除不重要的事件,识别重要关键信息,避免告警疲劳。
-
聚类,将相关的事件聚合起来,分门别类,特别是在告警风暴方面应用。
-
识别根因,在数千事件中识别出可能是根因的问题。
-
决策支持,相似问题推荐,实现知识复用。
基本核心思路是对数据进行处理,将成千上万的事件过滤、甄别、筛选,如漏斗般,多层过滤杂质,沉淀下金沙。
降噪
当大量的杂音事件频发骚扰我们工程师,会引发告警疲劳,就是所谓的无感。体现为事件太多,跟己相关的较少,重要的事情淹没在汪洋大海中。
降噪的目的,就是去除噪音,留下乐章。事件处理过程中,传统的做法是去重,将重复的事件去除掉,简单有效。OneAlert 早期版本就是这样,从时间维度上,相同的事件仅发生一次,之后再发生只会在事件的计数器上体现。基本上该方法能达到 80%-95% 左右的压缩率,刨去杂音,将数万数千事件缩减为数百和数十。
OneAlert 的新用户会有一个习惯过程,从 Zabbix 或者其他监控工具过来的相同事件,只会合并为一条,通过分发升级机制通知到位,提醒快速处理。习惯后,