跳到主要内容

功能介绍

1. 事件(Event)

事件是告警中心的最小数据单元,代表从外部系统接入的原始告警或状态变更通知。平台通过标准化处理将异构数据转换为统一的事件模型,为后续聚合、分派和恢复判断奠定基础。

1.1 核心定位

事件层解决"数据如何进入平台"和"如何与恢复关联"的问题。它既是多源接入的统一入口,也是告警全生命周期追溯的数据源头。

1.2 核心能力

  • 多源接入适配:支持 REST API、NATS 消息通道等多种接入方式,通过 Adapter 模式对接 Prometheus、Zabbix、云监控、Webhook 等异构数据源
  • 字段标准化映射:通过 event_fields_mapping 配置将不同来源的字段映射到标准事件模型,支持从 labels 元数据回退取值
  • CMDB 信息丰富:可选开启 CMDB 信息自动丰富能力,根据 resource_typeresource_id/resource_name 查询并补充实例信息到事件标签
  • 恢复事件关联:通过 external_id 唯一标识实现恢复事件与创建事件的智能关联,支持自动恢复判断
  • 前置屏蔽过滤:事件入库后立即执行屏蔽策略检查,命中策略的事件标记为 已屏蔽(SHIELD) 状态,不进入后续告警链路

界面指引:

事件列表

  • 图表解读/配置逻辑:事件列表用于追溯原始数据,排查"为什么产生了这条告警"或"为什么告警没有恢复"。重点关注事件状态(是否被屏蔽)、动作类型(created/recovery/closed)和解析后的字段值。

2. 告警(Alert)

告警是原始 Event 经相关性规则聚合后形成的可处理单元。相比单条事件,告警更强调责任归属、上下文完整性与处置动作,是值班人员日常工作的核心入口。

2.1 核心定位

告警用于承接需要被人工或自动化流程处理的问题单元。它既保留原始事件的上下文信息(通过多对多关联),也提供统一的状态流转机制,帮助团队把"看到异常"升级为"开始处理问题"。

2.2 状态机模型

告警遵循严格的状态机定义,非法状态迁移将被拒绝:

状态说明进入方式
unassigned未分派告警创建后的初始状态
pending待响应自动分派或手动分派后
processing处理中责任人认领后
resolved已处理人工恢复操作
closed已关闭人工关闭操作
auto_recovery自动恢复恢复事件覆盖创建事件后自动触发
auto_close自动关闭满足策略关闭条件或兜底任务触发

2.3 核心能力

  • 智能指纹聚合:基于 事件指纹 实现精准去重,相同指纹的活跃告警只会更新而非重复创建
  • 多维筛选与排序:支持按告警级别、状态、来源、时间范围、"我的告警"等维度筛选;列表按更新时间倒序排列
  • 关联事件回溯:每条告警可查看其关联的所有事件,理解聚合过程与上下文变化
  • 批量处置操作:支持批量分派、认领、关闭,提升高频操作效率
  • 自动恢复判定:当告警关联的创建事件被更晚的恢复事件覆盖时,自动触发 auto_recovery 状态流转
  • 通知状态追踪:记录每条通知的发送结果(成功/失败/部分成功),便于排查通知链路问题
  • 一键升级事故:高影响告警可一键升级为 Incident,进入更高等级的协同流程

界面指引:

告警列表

  • 图表解读/配置逻辑:告警列表强调"快速筛选 + 就地处理"。通过「级别、状态、归属」压缩问题集合后,可直接在列表执行认领、转派或关闭,减少页面切换。

3. 事故(Incident)

Incident 用于承接已经具备更高业务影响的问题。它不是对告警的简单重命名,而是将需要团队协同处置的异常纳入更高等级的管理对象。

3.1 核心定位

当一条或多条告警指向同一高影响问题(如核心业务中断、级联故障)时,将其升级为 Incident,以统一跟踪处置进展、组织处理人员并集中查看关联信息。

3.2 状态机模型

状态说明迁移操作
pending待响应创建后初始状态
processing处理中认领操作
closed已关闭关闭操作
resolved已处理恢复操作

事故支持重开(reopen)操作:已关闭的事故可重新进入处理中状态。

3.3 核心能力

  • 多告警关联:一个事故可关联多条告警,统一查看相关异常的上下文与处理进展
  • 协同信息集中:事故详情页聚合基础信息、关联告警列表、处理过程记录,支持多角色共享同一问题视图
  • 甘特图时间线:可视化展示事故生命周期与各阶段耗时,辅助复盘分析
  • 独立状态管理:事故具备独立于告警的状态流转,支持认领、关闭、重开等操作

界面指引:

事故列表

  • 图表解读/配置逻辑:事故页面适合处理中高影响的问题。相比告警列表,更强调协同视角,帮助用户从"单条异常处理"切换为"同一问题统一推进"。

4. 集成中心(Integration)

集成中心用于管理事件接入来源,是告警中心的入口层能力。平台通过告警源统一管理不同系统的接入方式、鉴权信息与使用状态。

4.1 核心定位

集成中心解决"事件从哪里来、如何安全地进入平台、如何验证接入是否成功"的问题。将接入配置、指南查看和事件核验集中在同一入口,便于平台管理员维护标准化接入体系。

4.2 支持的接入方式

接入方式适用场景鉴权方式
REST API外部系统主动推送事件Header 或 Body 中的 SECRET 字段
NATS消息队列异步消费NATS 连接配置
PrometheusPrometheus Alertmanager 集成Webhook 配置
ZabbixZabbix 告警推送自定义脚本或 Webhook
Webhook通用 Webhook 接入URL + Secret

4.3 核心能力

  • 源级鉴权管理:每个告警源具备独立的接入密钥,支持按来源管理安全边界
  • 字段映射配置:通过 event_fields_mapping 自定义上游字段到标准事件模型的映射关系
  • 接入指南生成:自动生成包含接口地址、请求格式、鉴权参数的接入指南
  • 最近事件查看:可在告警源详情中查看最近接收的事件,快速验证接入链路
  • 生命周期管理:支持告警源的新增、编辑、停用与删除(软删除)

界面指引:

告警源

  • 图表解读/配置逻辑:集成中心既是接入配置入口,也是故障排查入口。若接入后没有看到预期告警,应首先确认源配置、鉴权参数和事件接收情况。

5. 设置中心(Settings)

设置中心负责沉淀告警治理规则,让平台从"被动收消息"升级为"主动管理问题"。包括事件侧相关性规则、分派策略、屏蔽策略、系统设置和操作日志等核心能力。

5.1 相关性规则(Correlation Rules)

相关性规则定义 Event 如何聚合为 Alert,是告警中心降噪与提炼价值的核心引擎。

5.1.1 策略类型

策略类型说明适用场景
智能降噪(Smart Denoise)对匹配事件进行聚合降噪常规监控告警收敛
缺失检测(Missing Detection)检测预期事件未按时到达定时任务、心跳监控

5.1.2 窗口类型

窗口类型说明适用场景
滑动窗口(Sliding)连续时间段,窗口间允许重叠持续异常监测
固定窗口(Fixed)固定时间片,如每分钟/每小时周期性统计
会话窗口(Session)基于事件间隔识别问题持续性抖动过滤、超时检测

5.1.3 核心能力

  • 灵活匹配规则:支持多组条件组合(外层 OR、内层 AND),可按来源、级别、资源、标签等维度过滤
  • 多维分组聚合:通过 group_by 定义聚合维度(如 resource_idservice),相同维度的事件聚合为单条告警
  • 指纹算法去重:基于 MD5 哈希计算事件指纹,确保同一问题只产生一条活跃告警
  • 会话观察期:会话窗口策略支持观察期机制,观察期内恢复的事件不转为正式告警
  • 自动关闭配置:支持为规则生成的告警设置自动关闭时间,控制长期悬挂问题
  • 异步分派调度:新告警通过 Celery 异步任务执行自动分派,不阻塞聚合流程

界面指引:

微信图片_20260326195309_16_154.png

5.2 告警分派(Assignment)

分派策略负责将符合条件的告警自动分配到责任人或责任团队,提升问题进入处理流程的效率。

5.2.1 匹配类型

匹配类型说明
全部匹配(ALL)符合时间范围的未分派告警全部命中
条件过滤(FILTER)按告警字段与规则匹配,支持 eqnecontainsnot_containsre 等操作符

5.2.2 核心能力

  • 灵活生效时间:支持单次、每日、每周、每月四种时间范围配置,适配不同值班排班
  • 分级提醒机制:可根据告警级别配置不同的提醒频率(如致命级别每 30 分钟提醒一次,最多提醒 10 次)
  • 通知渠道联动:分派成功后自动触发通知,将问题同步给责任人
  • 兜底分派保障:未命中任何策略的告警进入兜底队列,按全局配置周期性通知管理员
  • 操作日志记录:自动分派操作记录到操作日志,便于审计追溯

界面指引:

告警分派

  • 图表解读/配置逻辑:分派策略的核心是定义"什么类型的问题在什么时间自动交给谁"。合理配置可显著减少人工判断与转派开销,提升 MTTR。

5.3 屏蔽策略(Shield)

屏蔽策略用于过滤低价值、已知或维护窗口内不需要进入告警处置流程的事件。

5.3.1 核心能力

  • 多维度条件匹配:支持按来源、资源、标题、内容、级别等字段配置匹配条件
  • 灵活时间控制:支持单次、每日、每周、每月等时间范围配置,适用于维护窗口或周期性操作场景
  • 前置降噪:命中屏蔽策略的事件在入库后即标记为 SHIELD 状态,不进入后续聚合与分派链路
  • 可见性保留:被屏蔽的事件仍在事件列表中可查,便于追溯与审计

界面指引:

屏蔽策略

  • 图表解读/配置逻辑:屏蔽策略适合治理"明知无须处理"的事件,如计划内维护、重复性低价值通知。建议谨慎使用,避免过度屏蔽。

5.4 缺失检测策略(Missing Detection)

缺失检测是一种特殊的策略类型,用于检测预期应该到达但未到达的事件,适用于定时任务、心跳监控等场景。

5.4.1 核心能力

  • Cron 表达式配置:通过 Cron 定义预期事件到达的时间规律
  • 激活模式选择:支持"首条心跳激活"(收到第一条事件后开始监控)或"立即激活"
  • 宽限期设置:支持配置宽限期(grace period),在预期时间后延迟一段时间再触发告警
  • 自动恢复:当缺失告警产生后,若后续收到符合规则的事件,自动恢复该告警
  • 运行时状态追踪:记录最后心跳时间、当前监控状态(waiting/monitoring/alerting)

注意: 缺失检测策略依赖持续的定时任务调度检查,请确保平台 Celery Worker 正常运行。

5.5 全局配置与操作日志

5.5.1 全局配置

系统级配置项用于控制告警中心的全局行为,包括:

  • 兜底分派通知配置
  • 告警丰富功能开关
  • 自动关闭策略参数

5.5.2 操作日志

操作日志记录关键变更与处置动作,是平台治理和审计的重要组成部分:

  • 日志类型:事件、告警、事故、系统
  • 操作类型:新增、修改、删除、执行
  • 记录内容:操作人、操作对象、变更前后值、操作时间

界面指引:

全局配置

  • 图表解读/配置逻辑:全局配置体现平台处理策略的一致性,操作日志体现治理动作的透明度。两者结合,让告警中心从"能用"走向"可治理"。