排班管理指南

本指南涵盖灵王 OPS 中完整的值班排班工作流程:从创建排班、定义班次,到处理手动覆盖、与升级策略集成,以及导出到外部日历。


1. 什么是值班

值班排班是指定特定运维人员在正常工作时间之外保持可用和响应状态的实践。当告警触发时,灵王 Ops 使用值班排班立即将通知路由到正确的人——无需猜测,无延迟。

为什么值班排班很重要

  • 快速响应: 告警触发后数秒内通知正确的人。
  • 责任明确: 每个班次窗口都有指定的负责人。没有遗漏。
  • 轮换机制: 在团队成员之间公平分担值班负担。
  • 升级集成: 排班直接馈送到升级策略,如果主要人员不确认则启用自动交接。

关键概念

概念 描述
排班 团队值班班次的名容器(如"平台团队值班")。属于一个团队。
班次 排班内定义的的时间窗口。为一个或多个人指派为主要或备用。
主要 在班次窗口期间预期首先响应操作员。
备用 如果主要人员不确认则通知的副操作员。
覆盖 对特定日期的排班的临时更改(例如,交换主要和备用)。
轮换 自动推进班次指派的重复模式(例如,每周轮换)。

2. 创建排班

如何创建排班

  1. 在左侧导航中进入值班 → 排班
  2. 点击新建排班
  3. 填写排班配置:
字段 必填 描述 示例
名称 排班的显示名称。应描述团队或服务。 平台团队值班
团队 拥有此排班的团队。此团队的成员可以被指派到班次。 platform
时区 此排班所有班次时间的时区。班次时间内部以 UTC 存储;此控制它们的显示方式。 Asia/Shanghai / America/New_York
描述 关于排班目的或覆盖期望的自由格式备注。 生产 API 主要覆盖,24x7
  1. 点击创建

示例

为支付团队的值班轮换创建排班:

名称:        支付团队值班
团队:        payment
时区:    Asia/Shanghai
描述: 主要值班支付服务。每周一轮换。

3. 排班班次

班次定义谁在哪个时间段值班。班次可以是单次(临时)或重复轮换的一部分。

班次类型

类型 描述
主要 窗口的主要值班操作员。首先收到告警通知。
备用 副操作员。如果主要人员在升级超时内不确认,则收到通知。

添加班次

  1. 打开排班页面(值班 → 排班 → 点击排班名称)。
  2. 点击添加班次
  3. 填写班次表单:
字段 必填 描述
用户 指派此班次的操作员。必须是排班所属团队的成员。
类型 primarybackup
开始时间 班次开始时间(排班时区中的日期 + 时间)。
结束时间 班次结束时间。必须晚于开始时间。
摘要 日历视图中显示的简短描述。
  1. 点击保存

示例:单个临时班次

用户:       alice
类型:       主要
开始:      2026-04-13 09:00(Asia/Shanghai)
结束:      2026-04-13 21:00(Asia/Shanghai)
摘要:    alice — 主要

重叠班次

您可以定义重叠的班次。例如,排班可能始终有主要和备用同时在线:

班次 1:  alice — 主要   — 2026-04-13 09:00 到 21:00
班次 2:  bob   — 备用    — 2026-04-13 09:00 到 21:00

当告警触发时,alice 首先被呼叫。如果 alice 在策略超时内未确认,则呼叫 bob。

跨越午夜的班次

如果班次跨越午夜(例如 22:00 到 06:00),系统正确将其作为单个连续班次处理——无需拆分为两个条目。


4. 重复排班(每周轮换)

重复排班自动按重复模式生成班次条目,减少手动维护。

如何创建重复排换

  1. 进入值班 → 排班并打开或创建排班。
  2. 点击添加轮换
  3. 配置轮换:
字段 必填 描述
名称 轮换名称(例如 每周主要轮换)。
类型 primarybackup — 此轮换定义一个层级。
模式 weekly(最常见)、dailycustom
成员 将轮换的团队成员有序列表。
开始日期 轮换开始的日期。
班次长度 每个人值班多长时间。对于每周轮换,设置为 7 天
交接时间 班次交接给下一个人的一天中的时间。
  1. 点击保存

示例:每周主要轮换

支付团队有 3 名成员:alice、bob 和 carol。他们每周轮换,交接时间为每周一 09:00。

轮换名称:   每周主要轮换
类型:            主要
模式:         每周
成员:         alice → bob → carol → alice ...
开始日期:      2026-04-13
班次长度:    7 天
交接时间:    09:00

系统自动生成以下排班:

2026-04-13 09:00  →  2026-04-20 09:00  alice  (主要)
2026-04-20 09:00  →  2026-04-27 09:00  bob    (主要)
2026-04-27 09:00  →  2026-05-04 09:00  carol  (主要)
...

查看生成的班次

保存轮换后,系统会为可配置的提前查看窗口(默认:4 周)预生成班次。您可以在排班的班次选项卡中查看它们。如果有人离开团队或需要调整轮换,您可以手动编辑单个生成的班次,而不会破坏轮换。

编辑或删除轮换

  • 编辑: 点击轮换上的 ... 菜单 → 编辑。更改从现在开始适用;过去的班次保留。
  • 删除: 点击轮换上的 ... 菜单 → 删除。未来的生成的班次被移除。过去的班次保留作为历史记录。

5. 手动覆盖(临时换班)

手动覆盖在特定日期范围内临时用不同的操作员替换预定的值班人员。当有人因假期、预约或个人原因需要换班时使用。

如何创建覆盖

  1. 打开排班页面(值班 → 排班 → 点击排班名称)。
  2. 点击覆盖选项卡。
  3. 点击新建覆盖
  4. 填写覆盖表单:
字段 必填 描述
日期 要覆盖的特定日期或日期范围。
换班对象 选择应接管班次的操作员。
类型 覆盖哪种班次类型:主要备用
原因 解释覆盖的可选备注(对团队可见)。
  1. 点击保存

示例:单日主要与备用换班

alice(主要)于 2026-04-15 休假。bob(备用)将在该日作为主要值班。

日期:        2026-04-15
换班对象:   bob
类型:        主要
原因:      alice 休假

注意: 覆盖仅影响指定日期。下一日自动恢复常规轮换。

覆盖优先级

覆盖在指定窗口内优先于常规排班。原始班次未删除——只是临时替换。覆盖窗口过去后,原始班次按计划恢复。

取消覆盖

打开覆盖选项卡 → 找到覆盖 → 点击取消。该窗口的常规排班立即恢复。


6. 查看当前值班(当前谁在值班)

当前值班操作员在仪表板的多个位置可见。

值班仪表板小部件

主仪表板上的值班小部件实时显示所有活跃排班及其当前主要和备用操作员。

┌─────────────────────────────────────────────┐
│  当前值班                                    │
│                                             │
│  平台团队值班                                │
│    主要:   alice     (自 09:00 起)         │
│    备用:   bob       (自 09:00 起)         │
│                                             │
│  支付团队值班                                │
│    主要:   carol     (自 09:00 起)         │
│    备用:   —                              │
└─────────────────────────────────────────────┘

值班 → 排班列表视图

进入值班 → 排班。列表视图在列中显示每个排班的当前主要操作员,实时更新。

告警详情页

当告警触发时,告警详情页显示告警路由到的排班的当前值班人员

已分配排班:  平台团队值班
当前主要:    alice
当前备用:    bob

这有助于响应操作员快速看到预期接收人是谁以及备用是谁。

即将到来的值班

在排班详情视图中,即将到来部分显示接下来 7 天谁值班,便于计划交接和了解应联系谁。


7. 将排班与升级策略集成

升级策略定义告警触发时的通知顺序。排班提供升级策略路由通知的值班操作员。

如何将排班关联到升级策略

  1. 进入升级策略(或告警 → 升级策略)。
  2. 创建或编辑升级策略。
  3. 在策略步骤中,选择通知值班作为目标类型。
  4. 选择要使用的排班
选项 描述
主要 通知所选排班中当前值班的任何人作为主要。
备用 通知所选排班中当前值班的备用。
主要 + 备用 同时通知主要和备用。
  1. 设置超时 — 如果没有确认,等待多久升级到下一步。

示例:两步升级

步骤 1:  通知值班(平台团队值班 / 主要)
         超时: 5 分钟
         ↓(未确认)
步骤 2:  通知值班(平台团队值班 / 备用)
         超时: 10 分钟
         ↓(未确认)
步骤 3:  通知 @platform-lead(email + SMS)

如果 alice(主要)在 5 分钟内未确认,则呼叫 bob(备用)。如果 bob 在 10 分钟内仍未确认,则通知团队负责人。

路由规则中的排班作为过滤器

创建告警路由规则(告警 → 路由)时,您可以根据标签将告警路由到特定排班:

规则:   severity=critical, service=payment
  →    路由到: 支付团队值班(升级策略:支付升级)

告警将被路由到该排班升级策略定义的值班操作员。


8. 日历导出(iCal)

您可以将任何排班导出为 iCal(.ics)订阅源,允许您在 Google 日历、Apple 日历或任何其他支持 iCal 的日历应用程序中查看值班班次。

如何获取 iCal 订阅源

  1. 进入值班 → 排班
  2. 点击排班名称打开。
  3. 点击导出按钮(或日历导出选项卡)。
  4. 复制 iCal URL。

URL 格式

https://your-lingwang-ops-host/api/v1/schedules/{schedule_id}/ical?token={api_token}

添加到 Google 日历

  1. 在 Google 日历中,进入其他日历来自 URL
  2. 粘贴 iCal URL。
  3. 点击添加日历

日历将每个班次显示为全天事件:

alice  (平台团队值班 — 主要)
  开始: 2026-04-13
  结束:   2026-04-20

添加到 Apple 日历

  1. 在 Apple 日历中,进入文件新日历订阅
  2. 粘贴 iCal URL 并点击订阅

刷新订阅源

大多数日历应用程序自动刷新 iCal 订阅源。如果您的订阅源未更新,请检查日历的订阅设置中的刷新间隔(通常每 15–60 分钟)。


9. 排班通知(提前通知下一班)

灵王 Ops 可以在班次开始前主动通知下一位值班操作员。这让他们有时间准备、检查当前操作员的状态,以及处理任何进行中的事件。

如何配置提前通知

  1. 进入值班 → 排班 → 打开排班。
  2. 点击排班上的设置(齿轮图标)。
  3. 启用班次开始提醒并配置:
字段 描述 示例
班次前提醒 班次开始前多久发送通知。 15 分钟1 小时1 天
渠道 如何发送提醒:emailSMSpushall email + push
包含交接摘要 是否包含当前班次中活跃告警和事件的摘要。
  1. 点击保存

示例:班次前 1 小时每日提醒

班次开始提醒:  1 小时前
渠道:               email + push
包含交接:       是

在 09:00 班次开始前 1 小时(即 08:00),carol 收到 email 和推送通知:

主题: [灵王 Ops] 您将在 1 小时后值班 — 平台团队值班(主要)

Hi Carol,

您计划在 09:00(Asia/Shanghai)开始您的主要值班班次。

此班次期间的活跃事件:
  - INC-2023: PaymentServiceDown(SEV-1,已确认)
  - INC-2025: 结账-api 高延迟(SEV-2,触发中)

查看完整排班: https://your-lingwang-ops-host/on-call/schedules/platform

覆盖行为

提前通知基于常规排班发送,而不是覆盖。如果覆盖交换了特定日期的值班人员,下一班次通知仍会发送给常规 upcoming 操作员。您可能需要手动通知覆盖操作员。


10. 多团队排班

在较大的组织中,单个值班职责可能跨越多个团队,或者操作员可能属于多个排班。

一个排班,一个团队

每个排班严格属于一个团队。所有班次指派来自该团队的成员。这是大多数团队的推荐模式。

每个团队多个排班

单个团队可以有多个排班。例如,平台团队可能维护:

  • 平台团队 — 主要值班(覆盖核心基础设施告警,24x7)
  • 平台团队 — 内部值班(覆盖内部工具告警,工作时间)

每个排班独立运作,有自己的班次和升级策略。

一个操作员,多个排班

属于多个团队的操作员可以被指派到多个排班的班次。灵王 Ops 不阻止双重预订——如果操作员同时在两个排班中值班,他们将收到两方的通知。

提示: 使用我的值班视图(可从顶部导航栏访问)查看您当前在所有团队中被指派的所有排班的合并视图。

跨团队交接

当班次结束且主要团队中无人可用时(例如,团队规模小),您可以将升级策略配置为在下一步路由到不同团队的排班

步骤 1:  通知值班(前端团队值班 / 主要)
         超时: 10 分钟
         ↓(未确认)
步骤 2:  通知值班(后端团队值班 / 主要)
         超时: 10 分钟
         ↓(未确认)
步骤 3:  通知 @on-call-manager(所有渠道)

这确保关键服务始终有备用值班操作员,即使主要团队不可用。


快速参考

任务 路径
查看所有排班 值班 → 排班
创建排班 值班 → 排班 → 新建排班
添加班次 打开排班 → 添加班次
创建轮换 打开排班 → 添加轮换
创建手动覆盖 打开排班 → 覆盖 → 新建覆盖
查看当前值班 仪表板小部件或值班 → 排班(列表)
关联到升级策略 升级策略 → 添加步骤 → 通知值班
导出 iCal 订阅源 打开排班 → 导出
配置提前通知 打开排班 → 设置 → 班次开始提醒
查看我的值班(所有团队) 顶部导航栏 → 我的值班

有关设置升级策略和通知规则的信息,请参见告警管理通知配置