搜索
确认
取消

嘉为蓝鲸统一告警中心产品设计分享

  • 发布时间:2021-08-17

嘉为蓝鲸统一告警中心产品设计分享

【概要描述】统一告警设计思路分享和落地实践。

  • 分类:产品动态
  • 作者:
  • 来源:
  • 发布时间:2021-08-17 14:55
  • 访问量:
详情

引言

 

随着企业业务的发展和壮大,企业对监控的诉求也越来越高,已经不仅仅满足于硬件设备监控、基础资源的监控等资源监控系统,还建设有各种专业的APM、NPM等应用监控系统,用于应对企业业务更高的要求,而众多的监控系统也导致了各种不同的告警管理混乱,问题处理效率低下。

 

嘉为蓝鲸统一告警中心能够轻松的接入各平台的告警信息;具备抑制,屏蔽,处理,分派,通知,分析能力,提供集中的告警事件全生命周期管理,提升团队效率,从而能更好地保障业务稳定。

 

本文将从产品功能的角度解读嘉为统一告警中心的设计思想,让大家更好地了解我们的产品是如何解决各种实际问题的。

 

产品简介

 

嘉为蓝鲸统一告警中心的设计核心便是告警事件的全生命周期,从告警的产生开始,到接管各种监控告警源的告警事件,进行集中展示和统一管理,完成了告警丰富(联动CMDB)、告警压缩(抑制和屏蔽)、告警处理(自愈和派单、通知)、告警关闭的闭环管理;同时也提供了告警分析的功能,辅助管理员在告警的处理过程中进行故障分析和影响关联分析。

整体架构设计如下:

主要分为3个大的模块:告警源接入、告警事件流、告警分析展示,以下将分别介绍这三个模块的设计。

 

告警源接入设计

 

企业的告警源各式各样,数不胜数,考虑到需要适配各个企业内的告警源接入,便采取了插件的设计模式,将各种告警源接入的模块抽象为一个个独立的插件,定义插件的开发框架,定义告警的标准格式;这样在各个企业落地过程中仅需开发对应的告警源插件即可;同时随着插件的不断积累和复用,将会进一步降低告警接入的成本。

 

 

告警事件流设计

 

告警事件流指告警事件接入后需要经过的一个处理流,包含告警压缩、告警处理、告警分派等模块,且支持未来扩展新的模块。

 

1.告警压缩     

 

当前的告警压缩机制主要是告警去重和防抖收敛两种告警屏蔽方案,对于告警压缩后的告警,称之为有效告警。

 

 

·    告警去重

由于企业内各种监控系统以及告警持续发生,经常会不断发送重复的告警事件。为了解决这一问题,便设计了告警去重的机制。

 

告警去重的设计,最重要的便是告警事件重复性的判断。对于部分监控系统,相同的告警提供了相同的唯一标识ID;但是还有部分监控系统,并未提供标识事件相同的标识ID。为了兼容这两种情况,在告警源插件中定义了通用事件唯一ID生成方案,可以直接通过告警源事件的某一个或多个字段生成一个告警中心的事件唯一ID,从而标识相同的告警事件。

 

同时在通用的Rest API上报告警源插件中,默认以告警对象、告警指标、告警等级三个信息生成唯一ID。告警中心默认会对唯一ID重复的告警事件进行自动计数,而不再产生新的告警事件。

 

·    防抖收敛

对于抖动类指标,例如CPU使用率、内存使用率、磁盘IO、网卡流量等,时常会出现抖动情况,此时产生的告警并不需过多关注;为了应对这种场景,便设计了防抖收敛的机制--通过X时间周期内发生N次的规则来收敛由于指标抖动产生的无效告警。

 

·    时间屏蔽

变更维护期内,管理员经常会做一些重启、停服等操作来进行变更,此时监控系统便会产生很多无效的告警。为了应对此种场景,便设计了按时间段来屏蔽指定的告警事件的功能,可实现在维护期内对某些对象的告警事件进行自动屏蔽。

 

·    依赖屏蔽

由于组件之间经常会存在依赖关联关系,当某些组件告警时,会导致一堆关联依赖的组件也会发生告警,例如组件运行于主机上,主机发生宕机时,运行于主机上的软件也会被动停止服务,同时产生很多相关的告警。

 

类似的场景还有主机磁盘挂载了存储提供的公共存储盘、虚拟机运行于宿主机上、主机通过交换机连通网络、应用内部或外部服务调用依赖的关系等;为了应对此类场景,便设计了依赖屏蔽的规则,可实现当A对象发生X告警时,屏蔽T时间内B对象的告警事件。

 

2.告警处理   

 

告警处理是针对告警压缩后的有效告警,进行的一系列处理操作,主要有自愈处理和自动转工单操作。

 

·    自愈处理

对于一些常见的告警,其处理操作通常是固定的,此时便可以通过自愈的功能实现自动化处理;告警中心通过联动蓝鲸的自动化处理引擎(标准运维)实现了告警的自动化处理,同时为了防止自动化处理操作的不确定性,增加了人工审批的环节,让自愈更加可控。

 

·    自动转工单

对于一些需要跨团队协作处理的告警,通常会通过工单的方式来联动各方,外加部分企业内部的标准流程定义了告警事件处理必须走工单系统。考虑到以上两种情形下转工单的必要性,便设计了告警自动转工单的功能,从而大幅减轻管理员手动建单的繁琐工作。由于每个企业的工单系统一般都不一样,同样采取了插件化的设计模式,定义了工单系统接入插件的开发框架,用于接入各种工单系统,同时也默认集成了蓝鲸的ITSM,做到了开箱即用。

 

3.告警分派   

 

告警分派,顾名思义,将告警分派给指定的人去处理。为了让告警能够及时被处理,提供了告警升级的机制,当告警一定时间内没有处理时,可以配置自动升级分派给处理人的上级或其他管理员。

 

另外,为了让告警能够尽可能被管理员及时发现,告警中心提供了7种告警通知渠道,包含微信、短信、语音、邮件、企业微信、钉钉、页面弹出通知等,保障通知必达。

 

告警分析设计

 

1.告警丰富   

 

告警丰富目的是为告警事件补充更多的信息,用作告警分析的参考信息,但是由于每个企业的差异性,导致告警丰富的来源和逻辑都不一致,所以告警丰富的机制便植入了告警源插件中,由每个客户或项目自行定义丰富逻辑。其中最重要的便是CMDB标识信息的丰富,是告警关联分析功能的前提条件。

 

2.关联分析   

 

为了让管理员能够更加方便地分析告警,告警中心按告警事件、告警业务、告警对象三个视角设计了告警的关联分析的功能:

告警事件视角:提供基于CMDB的业务拓扑和关联拓扑。

 

告警对象视角:提供了告警对象聚合、对象告警关联拓扑、告警时间轴、统计分析的功能。

 

告警业务视角:提供了告警业务聚合、业务告警拓扑、告警时间轴、统计分析的功能。

通过不同的视角,让管理员对告警的关联关系全面了解,能够更好辅助管理员进行告警问题的定位。

 

总结

 

综上所述,告警中心最重要的三点设计思想便是扩展性、流程化和可视化,从而造就了目前嘉为的统一告警中心。未来即将加入告警聚合定位、告警智能聚类、告警经验库等高阶功能,将进一步改善告警事件生命管理的过程,让告警更精准,告警定位更容易,告警处理效率更高,进一步改变运维人员疲于奔命的状态,让天下运维俱欢颜!

为什么选择嘉为蓝鲸?

嘉为拥有强大的技术实力,深耕企业IT服务20年,充分掌握企业IT研发、运维、运营管理需求,为企业数字化转型提供建设思路。做为腾讯蓝鲸全国首家技术授权合作伙伴,嘉为与腾讯进行联合研发,将先进的蓝鲸技术体系在企业快速落地,让IT效能为企业创造无限价值!

研运至简,无限可为!

落地嘉为蓝鲸研发运营一体化平台,逐步实现自动化、数据化、智能化IT运营,实现数字化转型!

嘉为蓝鲸微信公众号

嘉为蓝鲸微信公众号

Copyright 广州嘉为科技有限公司版权所有 粤ICP备06004568号