前言

在当今的数字化时代,企业级 IT 系统的复杂性和规模日益增长,监控和告警成为了保障业务连续性和系统稳定性的关键环节。然而,传统的监控和告警系统往往存在诸多痛点:告警数据源分散、告警策略单一、告警触达不及时、告警数据分析不足等。这些问题不仅增加了运维人员的工作负担,还可能导致关键告警被忽略,进而影响业务的正常运行。因此,建设一个统一的监控、告警平台,成为了集团性企业的迫切需求。本文将详细介绍我们在集团性企业落地统一监控告警的部分场景。

告警数据源

统一监控告警平台的首要任务是整合各类数据源。该企业的监控数据源是来自集团总部、分支机构的 Zabbix、Prometheus、Splunk 等第三方监控系统。通过观测云 DataKit(统一采集器)和 Function(数据处理平台),我们帮助客户实现了各监控系统数据的迅速接入。

集成多套监控工具

在下面的表格中,我们列举了本项目中所使用到的告警数据源和相应监控器。

该客户的告警大部分来自于 Zabbix,并基于 Zabbix 上的 host tag(主机标签)和 trigger tag(触发器标签)实现面向不同用户分发的需求。在本项目中,我们迁移了用户已有的近 2000 个告警策略,实现了从原告警平台至新统一监控告警平台的无缝切换。

另一部分告警则来自于 Metrics、Logs、Tracing 从各监控系统汇聚到观测云之后,基于观测云丰富的监控器来配置的告警。无论是基于 promQL 语句直接配置监控器,还是基于数据的同环比趋势对比,以及多种组合条件的复杂判断条件,用户的各种告警需求总是得到快速满足。

支持十余种开箱即用的监控器和 500+ 官方模板库

使用观测云打造企业级监控告警中心

此外,我们还结合客户的 CMDB(配置管理数据库)进行告警富集。CMDB 中存储了丰富的基础设施和业务信息,通过将告警消息与 CMDB 中的资产信息关联,我们能够为每条告警消息添加更多的上下文信息。例如,告警消息不仅会显示具体的故障设备,还会关联到该设备所属的业务系统、负责人等信息,极大地提升了告警消息的可读性和可操作性。下面为根据 CMDB 做告警富集的部分字段。

告警策略

告警策略是统一监控告警平台的核心功能之一。在面对庞大、复杂的集团企业级告警场景,我们需要具备灵活的基于自定义标签的过滤功能,以便海量告警通过自定义标签,精准分发给对应的用户。

例如,我们在本项目中接入 OCP(OceanBase Cloud Platform)的指标数据,并根据集群 ID、租户 ID 等重要 tag,实现了告警精准分发给应用团队。DBA 团队原先独自接收、处理该公司全集团的数据库告警,工作压力巨大。现在则可以将影响到应用系统的数据库告警发送给对应应用团队,有效提升了告警的处理效率,减少了应用损失。

基于自定义标签、组合条件实现告警的精准分发

此外,我们还支持基于不同成员和通知对象的灵活告警通知。用户可以根据告警的严重程度、业务影响范围等因素,设置不同的告警接收人和通知方式。例如,对于高优先级的告警,可以同时通过邮件、短信、语音等多种方式通知相关人员,确保告警能够及时触达。

基于成员的多渠道通知方式

告警触达与协作

告警触达是确保告警能够及时传达给相关人员的关键环节。统一监控不仅支持多种通知方式,还提供了丰富的告警详情页面。用户可以通过点击告警事件,查看与该告警相关的详细信息,包括告警的触发时间、影响范围、关联的基础设施仪表板等。通过这种方式,运维人员不仅能够快速了解告警的具体情况,还能够通过关联的仪表板,进一步分析告警的根源,从而更快地定位和解决问题。

出于该企业的告警管理要求,一旦监控工具发出 Critical 告警之后需要同步创建一个 issue,7*24 小时值班成员需第一时间通知用户,而告警接收者也需迅速对故障进行处置。通过观测云的“异常追踪(Incident)”功能,我们帮助用户迅速组织资源对 issue 进行处置: