运维值班交接清单与标准化流程设计

背景与目标

运维值班是保障系统 7×24 小时稳定运行的关键环节。然而,在实际工作中,我们常遇到以下问题:

  • 交接信息不完整,遗漏重要事项
  • 责任边界模糊,问题推诿扯皮
  • 重复劳动多,效率低下
  • 新人上手慢,学习成本高

本文基于多年运维实践,总结一套标准化的值班交接流程与清单,帮助团队提升运维效率与质量。

值班交接流程设计

整体流程图

1
2
3
4
5
6
7
8
9
┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ 交班前准备 │───▶│ 交接会议 │───▶│ 接班确认 │
│ (15 分钟) │ │ (10 分钟) │ │ (5 分钟) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
填写交接单 面对面沟通 签字确认
更新工单状态 重点事项说明 开始值班
检查监控告警 答疑与演示 记录归档

时间节点安排

班次 时间 交接窗口
早班 08:00-16:00 15:50-16:10
中班 16:00-24:00 23:50-00:10
晚班 00:00-08:00 07:50-08:10

交班前准备清单

1. 系统状态检查(5 分钟)

1
2
3
4
5
6
7
8
9
10
# 核心服务健康检查
$ systemctl is-active nginx mysql redis docker

# 资源使用率检查
$ top -bn1 | head -5
$ df -h / /var /data
$ free -h

# 关键指标快照
$ curl -s http://localhost:9090/api/v1/query?query=up | jq '.data.result[].value[1]'

检查项:

  • CPU 使用率 < 80%
  • 内存使用率 < 85%
  • 磁盘使用率 < 80%
  • 核心服务状态正常
  • 无异常告警

2. 告警与工单梳理(5 分钟)

告警处理状态:

  • 已确认告警数量:___
  • 处理中告警数量:___
  • 待跟进告警数量:___

工单状态更新:

  • 已关闭工单:___ 个
  • 进行中工单:___ 个
  • 待处理工单:___ 个

3. 变更与操作记录(3 分钟)

本班次执行的操作:

  • 配置变更:是/否,详情:________
  • 服务重启:是/否,详情:________
  • 数据操作:是/否,详情:________
  • 紧急修复:是/否,详情:________

4. 交接单填写(2 分钟)

使用标准化模板填写《运维值班交接单》(见下文模板)。

交接会议流程

标准议程(10 分钟)

  1. 系统整体状态通报(2 分钟)

    • 本班次系统运行情况
    • 有无重大故障或异常
  2. 待跟进事项说明(3 分钟)

    • 未完成的工单
    • 持续中的告警
    • 需要持续关注的问题
  3. 变更与风险提示(3 分钟)

    • 本班次执行的变更
    • 已知的风险点
    • 预计可能出现的问题
  4. 答疑与确认(2 分钟)

    • 接班人提问
    • 确认理解无误

沟通要点

必须说明的事项:

  • 正在进行中的故障处理
  • 已安排但未执行的变更
  • 需要特定时间关注的任务
  • 外部依赖方的联系信息

可以简略的事项:

  • 常规巡检结果(无异常时)
  • 已关闭的普通工单
  • 日常维护操作

接班确认流程

确认检查(5 分钟)

接班人需独立验证以下事项:

1
2
3
4
# 1. 登录监控系统,确认告警状态
# 2. 查看工单系统,确认待办事项
# 3. 检查交接单,确认信息完整
# 4. 测试关键系统访问

确认清单:

  • 监控系统可正常访问
  • 告警列表已浏览
  • 工单系统已查看
  • 交接单已阅读并理解
  • 关键系统可正常访问
  • 交班人在场可答疑

签字确认

双方在交接单上签字(或电子确认),标志着责任转移完成。

运维值班交接单模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 运维值班交接单

## 基本信息
- 日期:______月__
- 交班班次:□早班 □中班 □晚班
- 交班人:________ 接班人:________
- 交接时间:__:__ - __:__

## 系统状态
| 检查项 | 状态 | 备注 |
|--------|------|------|
| CPU 使用率 | □正常 □异常 | ____% |
| 内存使用率 | □正常 □异常 | ____% |
| 磁盘使用率 | □正常 □异常 | ____% |
| 网络状态 | □正常 □异常 | ________ |
| 核心服务 | □正常 □异常 | ________ |

## 告警情况
| 级别 | 数量 | 详情 |
|------|------|------|
| 危急 | __ | ________ |
| 警告 | __ | ________ |
| 提示 | __ | ________ |

## 工单状态
| 状态 | 数量 | 重点工单编号 |
|------|------|--------------|
| 进行中 | __ | ________ |
| 待处理 | __ | ________ |
| 待验证 | __ | ________ |

## 本班次操作记录
| 时间 | 操作类型 | 操作内容 | 影响范围 | 操作人 |
|------|----------|----------|----------|--------|
| __:__ | ________ | ________ | ________ | ____ |
| __:__ | ________ | ________ | ________ | ____ |

## 待跟进事项
1. ________________________________________
优先级:□高 □中 □低 期望完成时间:________

2. ________________________________________
优先级:□高 □中 □低 期望完成时间:________

3. ________________________________________
优先级:□高 □中 □低 期望完成时间:________

## 风险提示
- [ ] 无风险
- [ ] 有风险,详情:________________________

## 其他说明
________________________________________________
________________________________________________

## 确认签字
交班人签字:________ 时间:__:__
接班人签字:________ 时间:__:__

工具与自动化

1. 交接单自动生成脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# /usr/local/bin/generate_handover.sh

DATE=$(date +%Y-%m-%d)
TIME=$(date +%H:%M)
HOSTNAME=$(hostname)

# 获取系统状态
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
MEM_USAGE=$(free | grep Mem | awk '{printf("%.2f", $3/$2 * 100.0)}')
DISK_USAGE=$(df -h / | tail -1 | awk '{print $5}')

# 获取告警数量(假设使用 Prometheus)
CRITICAL_ALERTS=$(curl -s 'http://localhost:9090/api/v1/query?query=ALERTS{severity="critical"}' | jq '.data.result | length')
WARNING_ALERTS=$(curl -s 'http://localhost:9090/api/v1/query?query=ALERTS{severity="warning"}' | jq '.data.result | length')

# 生成交接单
cat << EOF
# 运维值班交接单 - ${DATE} ${TIME}

## 系统状态快照
- 主机:${HOSTNAME}
- CPU 使用率:${CPU_USAGE}%
- 内存使用率:${MEM_USAGE}%
- 磁盘使用率:${DISK_USAGE}

## 告警统计
- 危急告警:${CRITICAL_ALERTS} 个
- 警告告警:${WARNING_ALERTS} 个

## 待办事项
(请交班人补充)

## 操作记录
(请交班人补充)

---
生成时间:${DATE} ${TIME}
EOF

2. 定时提醒

1
2
3
4
5
6
7
8
9
10
11
# 交接班前 10 分钟发送提醒
$ crontab -e

# 早班交接提醒(15:50)
50 15 * * * /usr/local/bin/send_handover_reminder.sh "早班"

# 中班交接提醒(23:50)
50 23 * * * /usr/local/bin/send_handover_reminder.sh "中班"

# 晚班交接提醒(07:50)
50 7 * * * /usr/local/bin/send_handover_reminder.sh "晚班"

3. 交接单归档

1
2
3
4
5
6
7
8
9
# 交接单存储路径
HANDOVER_DIR="/var/log/handover/$(date +%Y)/$(date +%m)"
mkdir -p $HANDOVER_DIR

# 保存交接单
cp /tmp/handover_*.md $HANDOVER_DIR/handover_$(date +%Y%m%d_%H%M).md

# 保留最近 90 天
find /var/log/handover -type f -mtime +90 -delete

最佳实践

1. 交接质量评估

每月对交接质量进行评估,指标包括:

  • 交接单填写完整率
  • 遗漏事项发生率
  • 接班人满意度
  • 问题追溯效率

2. 持续改进

  • 每周回顾交接中的问题
  • 每月更新交接清单
  • 每季度优化流程
  • 每年进行全面复盘

3. 新人培训

  • 第一周:跟随观察,不独立值班
  • 第二周:在指导下完成交接
  • 第三周:独立完成,老人复核
  • 第四周:正式独立值班

4. 特殊情况处理

紧急故障期间:

  • 延长交接时间,确保信息完整传递
  • 必要时双人共同值班直至故障恢复
  • 详细记录故障处理进展

节假日交接:

  • 提前安排,确保人员在岗
  • 简化流程但不省略关键检查
  • 保持通讯畅通

常见问题与解答

Q: 交接时间太长怎么办?
A: 优化交接内容,区分”必须说明”和”可以简略”事项;使用自动化脚本减少手工操作。

Q: 接班人经常迟到怎么办?
A: 建立考勤制度,迟到计入绩效;设置 AB 角备份机制。

Q: 交接后发现问题谁负责?
A: 以签字时间为准,签字前由交班人负责,签字后由接班人负责;重大争议由主管仲裁。

Q: 远程值班如何交接?
A: 使用视频会议进行交接;交接单电子化;关键操作录屏留存。

总结

标准化的值班交接流程是运维团队专业性的体现。关键要点:

  1. 流程清晰:交班准备 → 交接会议 → 接班确认
  2. 清单完整:系统状态、告警工单、变更操作、待跟进事项
  3. 工具辅助:自动化脚本、定时提醒、电子归档
  4. 持续改进:定期评估、优化流程、培训新人

好的交接流程能让运维工作更加高效、可靠,让每个班次的人都安心!