深色模式
值班与交接规范
摘要:值班混乱的根源是"职责不清 + 交接不全"。本文给出值班人的四项职责边界、交接单的五段式模板、强制确认机制,以及无人交接时的兜底规则。
适用环境
bash
mkdir -p oncall/handoff
date -u '+%F %T'
ls -1 oncall/handoff | tail -31
2
3
2
3
操作步骤
第 1 步:明确值班人四项职责
bash
cat > duties.md <<'EOF'
1. 响应:告警 5 分钟内 ACK,先止损后定位
2. 记录:每步动作写入时间线
3. 升级:超过能力或时限立即升级,不硬扛
4. 交接:结束时完成交接单并取得接手人确认
不属于值班人的职责:根因彻底修复、长期优化(转为工单)
EOF1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
第 2 步:交接单五段式
bash
cat > handoff-template.md <<'EOF'
## 交接 <起止时间> <A> -> <B>
1. 未关闭事件:<ID / 当前状态 / 下一步>
2. 进行中变更:<发布/迁移/扩容,是否跨班>
3. 已知隐患:<临时绕过、降级开关、未纳入手册的脚本>
4. 本班告警与处理:<关键几条>
5. 需下一班观察:<具体指标与阈值>
接手人确认:________ 时间:____
EOF1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
第 3 步:固定交接时间与方式
bash
cat > schedule.md <<'EOF'
- 交接时间:工作日 10:00(双方清醒时段)
- 方式:15 分钟同步会 + 书面交接单
- 强制:交接单需接手人签字(或回复确认)方为完成
EOF1
2
3
4
5
2
3
4
5
第 4 步:无人交接时的兜底
bash
# 上一班失联时,下一班按此顺序自行补齐信息
cat > fallback.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
echo "1. 查看未恢复告警:"
curl -sS http://127.0.0.1:9093/api/v2/alerts | jq -r '.[] | select(.status.state=="active") | .labels.alertname'
echo "2. 查看近 24h 变更:"
git -C /path/to/ops log --since='24 hours ago' --oneline
echo "3. 查看近 24h 事故记录:"
tail -20 incidents.log 2>/dev/null || echo "(无)"
EOF
chmod +x fallback.sh && ./fallback.sh1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
第 5 步:交接归档与抽检
bash
# 归档便于检索,并定期抽检完成质量
mv handoff-*.md oncall/handoff/ 2>/dev/null
grep -L '接手人确认' oncall/handoff/*.md | head1
2
3
2
3
验证
bash
# 1. 交接单五段齐全
for s in '未关闭事件' '进行中变更' '已知隐患' '本班告警' '需下一班观察'; do
grep -q "$s" handoff-template.md && echo "$s OK" || echo "$s 缺失"
done
# 2. 历史交接均有确认
grep -c '接手人确认' oncall/handoff/*.md | tail -3
# 3. 兜底脚本可执行
./fallback.sh | head -51
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
常见坑
值班人被要求"彻底修好"
要求值班人完成根因修复会导致疲劳与拖延升级。值班职责是止损与升级,长期修复走工单。
交接写成"一切正常"
无事件时也要写进行中的变更与隐患。省略这两项最容易出事。
换班只口头说、不改排班系统
告警仍打给原值班人,形成无人接管窗口。换班必须同步修改排班来源。