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

前言

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

告警数据源

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

集成多套监控工具

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

监控器类型 告警数据源
外部事件检测器 从Zabbix、syslog接收到的events
日志监控器 从Splunk采集到的logs数据
阈值监控器 从Zabbix、prometheus采集到的metrics数据
应用性能管理监控器 从Skywalking采集到的tracing数据
可用性监控器 基于观测云的synthetic monitoring数据配置的告警

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

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

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

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

字段名 字段含义
app_name 告警对象所属的应用名称
appId 告警对象所属的应用ID
className 告警对象的资源类别,如Linux、Windows等
Company 告警对象所属公司
Service_type 告警对象所对应的服务器用途,如APP、MySQL、Oracle等

告警策略

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

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

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

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

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

告警触达与协作

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

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

  • 在 Critical 级别告警产生后,IM(本项目中使用企业部署版钉钉)将自动向告警负责人推送钉钉卡片,对方可基于卡片实现告警确认、查看详情、回复等操作;
  • 值班人员起到 7*24 小时服务台的作用,语音联系告警负责人,并可在 issue 中记录对方的首次反馈;
  • 告警负责人开始处置后 issue 状态将变为 working,可@其他成员,对方将会收到 IM 通知,迅速进行协同;
  • 处理完成后,issue 详情内的评论/回复将成为故障回溯非常重要的过程数据,为后续类似的故障处理形成宝贵知识;
  • 管理部门可基于分析看板实现对 issue 处理情况的统计和分析,从而对资源配置进行优化。

异常追踪功帮助用户进行事件管理

告警数据分析

告警数据分析是统一监控告警平台的另一大亮点。我们为用户提供了多种数据分析看板,帮助用户及时发现和解决告警系统中的潜在问题。例如,我们提供了通知对象失效看板,用户可以及时发现哪些通知对象已经失效,从而避免告警无法触达的情况。

此外,我们还为用户提供了诸多看板,包括异常追踪分析看板、告警未命中策略看板、通知人失效看板、通知通道成功率看板等,并通过定时报告每天发送到用户团队的邮箱,用户会基于这些数据来不断调整和优化告警策略。

总结

通过建设统一监控、告警平台,我们成功解决了企业级告警中心的诸多痛点。平台不仅整合了各类告警数据源,还提供了灵活的告警策略、高效的告警触达机制和全面的告警数据分析功能。这些功能的结合,不仅大大提升了运维人员的工作效率,还为企业业务的连续性和稳定性提供了有力保障。未来,我们将继续优化和扩展平台的功能,为企业创造更大的价值。

相关推荐
可观测性用观测云2 天前
DataKit 采集器敏感信息加密最佳实践
监控
可观测性用观测云14 天前
Undertow 可观测性最佳实践
监控
可观测性用观测云16 天前
Promtail 对接日志最佳实践
监控
试着18 天前
零基础学习性能测试第二章-JVM如何监控
jvm·学习·零基础·性能测试·监控
小马爱打代码21 天前
Spring Boot 监控:AOP vs Filter vs Java Agent
spring boot·监控
core51224 天前
prometheus+grafana接入nginx实战
nginx·grafana·prometheus·监控·接入·vts·vtx
rocksun1 个月前
OneUptime MCP服务器:AI原生可观测性融入你的工作流程
人工智能·监控
东坡白菜2 个月前
最通俗的前端监控方案
前端·监控