做网络运维的同学都知道,网络设备告警非常重要,通过告警可以判断哪些设备,哪些链路有问题。一般的告警系统在监控和数据采集方面已经做到了极致,但是在报警处理上并没有很完美的解决方案
传统告警系统的痛点:
- 特定重要告警人工处理不及时
- 同一批告警指向同一件事,但人无法进行快速关联
- 出现端口、设备异常告警时,无法快速评估网络流量风险
- 告警出现时摸不着头绪,满世界找设备基本信息
- 流量、CPU等时序性告警周期性频繁出现,通过一般算法无法很好抑制
- 因为设备信息录入系统延迟,一些待启用设备无关告警混入告警控制台
- 。。。
结合腾讯目前的告警处理平台,虽然已经很强大,但也都或多或少存在以上问题,所以为了提高值班同事效率,最大化避免网络故障风险,我这边开发了一套告警智能处理系统,因为公司告警系统的名称叫“TMP”,所以取名“TMP Robot”,意思很简单,告警自动化处理机器人。里面包括了告警分析、告警收敛、自动触发器、自动建单、机器学习等功能。目前已经投入使用,效果还是不错的。
系统简介
系统的值班视图如下
报告按钮里面的内容就是模块的分析和处理结果
系统能力介绍
下面的图片是系统的功能和能力,其实主要分为3个层级,
- 满足基本的值班视图能力,包括颜色识别、排序、确认、转单、模糊搜索等
- 告警深度分析能力,直接通过系统后台拉取和告警相关的信息,方便值班同事了解情况
- 自动下发触发器,自动建立工单能力。经过分析后,可以自动调用自动化脚本触发设备修复,分析后无法自动修复的,就自动建立工单等。
模块介绍
处理模块主要分为2类,基本模块是系统的基础能力,场景模块是在基础能力模块的基础上,做一些场景定制等。
当然系统设计成开放形式,里面的模块其他同事都可以贡献,模块通过反射方法,可以做到模块热加载,直接导入就可以使用,系统不需要重启。
另外之前的文章,有介绍过 基于机器学习的时间序列异常检测“智障机器人”,所以也包括一些针对异常流量、cpu等时序曲线的模块,通过foolbot系统进行异常检测分析。
目前大概已经有十多个模块,主要包括信息查询类、触发修复类、自动建单类、智能分析类等,而且模块数量还在持续增加中