作者介绍
胖亚鹏,监控技术领域专家。具备十余年监控系统建设经验,精通主流商用及开源监控软件产品的集成应用,专注于监控工具建设,全面支撑传统架构和容器云、分布式架构下的监控管理。探索研究智能化监控,推动分布式架构下以大数据、人工智能技术为基础的实时监控技术方案落地。
监控系统作为IT运维之眼,在运维管理工作中发挥着重要的作用。而监控报警作为监控系统的主要输出,在生产故障早期预警、故障定位分析和故障恢复验证等多个运维场景中提供了技术工具的支撑。
G行上一代监控报警系统使用国外的商业套件,报警采集和报警处理受限于商业套件的单机单线程处理能力,而报警存储采用的是单机版的内存数据库。
存在以下问题当出现告警风暴时,采集器可能丢数据,而数据库也会发生阻塞,导致告警处理效率低下,报警延迟时间达到分钟级;
告警处理逻辑只能支持比较简单的处理,对于复杂的高并发高频率的处理,是无法应付的。
为解决上述问题,G行新一代监控报警系统基于开源组件进行自主研发,既能满足海量报警消息的高并发处理及规则灵活配置的要求,又能满足报警全生命周期的运维管理需求,最终实现监控报警的高效处理。
下文将从报警信息的生命周期管理出发,介绍一下G行新一代监控报警系统规划与建设。
一、监控报警系统简介
报警消息的管理我们遵从闭环管理机制,其生命周期可以从产生到恢复的全过程分为报警产生和接入、报警预处理、报警存储、报警通知和报警恢复后关闭等多个环节。
1、报警生命周期管理主要目标是为了实现:
全面管理、敏捷接入
降低延迟、及时通报
推荐根因、协助定位
跟踪解决、恢复验证
围绕报警的生命周期管理,监控报警系统的功能框架应包含的主要功能如下:
报警接入和预处理:对各种不同来源和协议的报警的原始数据解析为统一的报警记录;
报警丰富:在报警处理过程中根据cmdb等配置信息库的管理信息,对原始报警的内容进行信息补充和完善的功能;
报警维护期:应对日常变更、切换演练以及故障临时处置等场景下,提前屏蔽相关报警避免无效报警产生干扰;
报警压缩:对于重复发生的报警信息,只记录报警的首次发生时间、末次发生时间和发生次数,减少报警的记录数,避免对用户查看和处理报警造成干扰。报警压缩的规则一般是由多个报警消息的属性值组成压缩因子,可根据不同的报警源和报警内容提前预置压缩因子的组合规则。常见的压缩因子包括:IP地址、报警对象、报警类别、报警策略、报警实例等;
报警恢复:为了能够真实反映生产系统运行的故障和恢复的状态,除了常见的故障外,还有恢复报警的处理和关联机制。在已报警在监控对象恢复正常运行状态以后,需要监控工具能够及时准确的识别恢复的状态并产生恢复报警到监控报警平台。报警平台支持自动进行关联恢复