Opsgenie 核心概念回顾:团队、日程、轮转、升级策略、通知规则
在构建值班基线告警路由之前,必须统一理解 Opsgenie 的五个核心概念。它们是告警路由的“积木块”,任何路由策略的偏差都源于对这些概念的误配。本节将逐一拆解其定义、关系与常见配置陷阱。
2.1 核心概念关系总览
下图展示了五个概念在告警生命周期中的协作关系:告警首先匹配通知规则,然后根据团队归属进入日程,由轮转确定当前值班人,若未确认则触发升级策略。
2.2 团队(Team)
团队是 Opsgenie 中告警路由的基本单元。每个告警必须归属于一个团队,团队内包含成员和子团队。核验时需确认:
- 团队粒度:是否按服务/组件拆分(如“支付团队”“数据库团队”),避免一个团队覆盖过多服务导致告警噪音。
- 成员同步:团队成员的邮箱、手机号、IM 账号是否与 HR 系统或 IdP 一致,防止告警发送到离职人员。
- 子团队继承:子团队默认继承父团队的日程和升级策略,但可覆盖。核验时需检查覆盖是否合理。
审计提示:在 Opsgenie API 中,使用
GET /v2/teams 拉取团队列表,对比 CMDB 中的服务归属,发现“孤儿团队”(无成员)或“超载团队”(成员 > 20 人)是常见基线偏差。
2.3 日程(Schedule)
日程定义了值班的时间窗口(如“白班 09:00-21:00”“夜班 21:00-09:00”)。核验重点:
- 时区一致性:所有日程必须显式指定时区,避免跨时区团队出现“值班时间错位”。
- 覆盖规则:日程支持“单次覆盖”和“周期性覆盖”。核验时需检查覆盖是否已过期,防止已失效的覆盖仍在生效。
- 日程与团队绑定:一个团队可以有多个日程(如“主日程”“节假日日程”),但同一时间只能有一个活跃日程。
| 日程类型 | 适用场景 | 核验要点 |
|---|---|---|
| 固定日程 | 7×24 小时值班 | 检查是否覆盖所有时间段,无空窗 |
| 轮换日程 | 按周/月轮换值班 | 确认轮换周期与团队规模匹配 |
| 自定义日程 | 节假日、特殊事件 | 核验覆盖是否在事件结束后自动失效 |
2.4 轮转(Rotation)
轮转定义了值班人员的顺序和参与规则。它是日程的“执行者”。轮转类型包括:
- 顺序轮转:按固定顺序轮流(A→B→C→A)。
- 加权轮转:按权重分配值班次数(如 A 值 2 天,B 值 1 天)。
- 随机轮转:从参与池中随机选择(不推荐用于生产环境)。
常见配置错误:轮转参与人列表包含“已离职成员”或“未激活用户”。这会导致告警路由到无效用户,造成漏报。核验时建议对比轮转成员与团队活跃成员列表。
2.5 升级策略(Escalation Policy)
升级策略定义了告警在超时未确认或未关闭时的“逐级上报”路径。每个升级级别包含:
- 接收人:用户、团队、日程或轮转。
- 超时时间:等待确认的时长(如 5 分钟、15 分钟)。
- 重复通知频率:在超时前是否重复提醒。
升级策略的核验基线:
| 级别 | 接收人 | 超时 | 重复频率 | 核验标准 |
|---|---|---|---|---|
| L1 | 值班轮转 | 10 分钟 | 每 2 分钟 | 值班人是否在轮转中 |
| L2 | 团队负责人 | 15 分钟 | 每 5 分钟 | 负责人是否在团队中 |
| L3 | 服务总监 | 30 分钟 | 每 10 分钟 | 是否配置了最终兜底 |
2.6 通知规则(Notification Rule)
通知规则控制“告警如何触达用户”。每个用户可以配置个人通知规则,团队也可以配置默认规则。核验要点:
- 通知方式:邮件、短信、语音电话、移动推送、Slack/Teams 集成。核验每种方式是否可达。
- 通知时机:创建时、确认时、关闭时、备注时。避免“关闭时通知”造成噪音。
- 静默时段:用户可设置“勿扰时间”。核验静默时段是否与值班日程冲突。
基线规则:对于 P0/P1 告警,必须强制启用“语音电话 + 短信”双重通知,且不允许用户自行关闭。团队级通知规则应覆盖个人规则,防止个人静默导致告警漏接。
2.7 概念对比与常见偏差
下表总结了五个核心概念在告警路由中的角色与常见偏差:
| 概念 | 路由角色 | 常见偏差 | 核验方法 |
|---|---|---|---|
| 团队 | 告警归属容器 | 团队与 CMDB 服务不匹配 | API 拉取对比 |
| 日程 | 时间窗口定义 | 时区未指定或错误 | 检查日程时区字段 |
| 轮转 | 值班人顺序 | 包含无效用户 | 对比用户活跃状态 |
| 升级策略 | 超时逐级上报 | 超时时间过长或缺失最终兜底 | 模拟告警测试 |
| 通知规则 | 触达方式控制 | 静默时段覆盖值班时间 | 检查个人与团队规则优先级 |
2.8 核验清单
完成本节学习后,请对照以下清单检查你的 Opsgenie 配置:
- 团队列表是否与 CMDB 服务一一对应?
- 每个团队是否至少有一个活跃日程?
- 轮转成员是否全部为活跃用户?
- 升级策略是否包含至少 3 个级别,且最终级别有兜底?
- 通知规则是否对 P0/P1 强制启用语音电话?
实操建议:使用 Opsgenie API
GET /v2/schedules/{id}/timeline 获取日程时间线,对比实际值班人是否与预期一致。这是核验“轮转是否生效”的最直接方法。