名称: 值班交接模式 描述: 掌握值班班次交接的模式,包括上下文传递、升级程序和文档记录。用于交接值班职责、编写班次总结或改进值班流程。 版本: 1.0 模型: sonnet 调用方式: 两者皆可 用户可调用: true 工具: [读取, 写入, Bash] 最佳实践:
- 班次期间记录一切
- 不确定时尽早升级
- 保持交接同步进行
- 事件前测试设置 错误处理: 优雅 流式支持: 支持 已验证: false 最后验证时间: 2026-02-19T05:29:09.098Z
模式: 认知/提示驱动 — 无独立实用脚本;通过代理上下文使用。
值班交接模式
值班班次交接的有效模式,确保跨班次的连续性、上下文传递和可靠的事件响应。
何时使用此技能
- 交接值班职责
- 编写班次交接总结
- 记录进行中的调查
- 建立值班轮换程序
- 改进交接质量
- 入职新值班工程师
核心概念
1. 交接组件
| 组件 | 目的 |
|---|---|
| 活动事件 | 当前发生的问题 |
| 进行中调查 | 正在调试的问题 |
| 最近变更 | 部署、配置 |
| 已知问题 | 已实施的工作区 |
| 即将事件 | 维护、发布 |
2. 交接时间安排
推荐: 班次间30分钟重叠
离岗:
├── 15分钟: 编写交接文档
└── 15分钟: 与接班同步通话
接班:
├── 15分钟: 审查交接文档
├── 15分钟: 与离岗同步通话
└── 5分钟: 验证警报设置
模板
模板1: 班次交接文档
# 值班交接: 平台团队
**离岗**: @alice (2024-01-15 至 2024-01-22)
**接班**: @bob (2024-01-22 至 2024-01-29)
**交接时间**: 2024-01-22 09:00 UTC
---
## 活动事件
### 当前无活动事件
交接时无活动事件。
---
## 进行中调查
### 1. 间歇性API超时 (ENG-1234)
**状态**: 调查中
**开始时间**: 2024-01-20
**影响**: 约0.1%的请求超时
**上下文**:
- 超时与数据库备份窗口 (02:00-03:00 UTC) 相关
- 怀疑备份过程导致锁争用
- 已在PR #567中添加额外日志 (部署于01/21)
**下一步**:
- [ ] 今晚备份后审查新日志
- [ ] 如果确认,考虑移动备份窗口
**资源**:
- 仪表板: [API延迟](https://grafana/d/api-latency)
- 线程: #platform-eng (01/20, 14:32)
---
### 2. 认证服务内存增长 (ENG-1235)
**状态**: 监控中
**开始时间**: 2024-01-18
**影响**: 暂无 (主动)
**上下文**:
- 内存使用每天增长约5%
- 性能分析未发现内存泄漏
- 怀疑连接池未正确释放
**下一步**:
- [ ] 审查01/21的堆转储
- [ ] 如果使用率 > 80%,考虑重启
**资源**:
- 仪表板: [认证服务内存](https://grafana/d/auth-memory)
- 分析文档: [内存调查](https://docs/eng-1235)
---
## 本班次已解决
### 支付服务中断 (2024-01-19)
- **持续时间**: 23分钟
- **根因**: 数据库连接耗尽
- **解决**: 回滚v2.3.4,增加池大小
- **事后分析**: [POSTMORTEM-89](https://docs/postmortem-89)
- **跟进工单**: ENG-1230, ENG-1231
---
## 最近变更
### 部署
| 服务 | 版本 | 时间 | 备注 |
| ------------ | ------- | ----------- | -------------------------- |
| api-gateway | v3.2.1 | 01/21 14:00 | 头部解析错误修复 |
| user-service | v2.8.0 | 01/20 10:00 | 新配置文件功能 |
| auth-service | v4.1.2 | 01/19 16:00 | 安全补丁 |
### 配置变更
- 01/21: API速率限制从1000增加到1500 RPS
- 01/20: 数据库连接池最大值从50更新到75
### 基础设施
- 01/20: 向Kubernetes集群添加2个节点
- 01/19: Redis从6.2升级到7.0
---
## 已知问题及工作区
### 1. 仪表板加载缓慢
**问题**: Grafana仪表板周一早上加载缓慢
**工作区**: UTC时间08:00后等待5分钟缓存预热
**工单**: OPS-456 (P3)
### 2. 不稳定集成测试
**问题**: CI中`test_payment_flow`间歇性失败
**工作区**: 重新运行失败作业 (通常重试后通过)
**工单**: ENG-1200 (P2)
---
## 即将事件
| 日期 | 事件 | 影响 | 联系人 |
| ----------- | -------------------- | ------------------- | ------------- |
| 01/23 02:00 | 数据库维护 | 5分钟只读 | @dba-team |
| 01/24 14:00 | 主要发布v5.0 | 密切监控 | @release-team |
| 01/25 | 营销活动 | 预期流量翻倍 | @platform |
---
## 升级提醒
| 问题类型 | 首次升级 | 第二次升级 |
| --------------- | -------------------- | ----------------- |
| 支付问题 | @payments-oncall | @payments-manager |
| 认证问题 | @auth-oncall | @security-team |
| 数据库问题 | @dba-team | @infra-manager |
| 未知/严重 | @engineering-manager | @vp-engineering |
---
## 快速参考
### 常用命令
```bash
# 检查服务健康
kubectl get pods -A | grep -v Running
# 最近部署
kubectl get events --sort-by='.lastTimestamp' | tail -20
# 数据库连接
psql -c "SELECT count(*) FROM pg_stat_activity;"
# 清空缓存 (紧急情况)
redis-cli FLUSHDB
```
重要链接
交接清单
离岗工程师
- [x] 记录活动事件
- [x] 记录进行中调查
- [x] 列出最近变更
- [x] 注明已知问题
- [x] 添加即将事件
- [x] 与接班工程师同步
接班工程师
- [ ] 阅读本文档
- [ ] 加入同步通话
- [ ] 验证PagerDuty是否路由到您
- [ ] 验证Slack通知是否工作
- [ ] 检查VPN/访问是否工作
- [ ] 审查关键仪表板
### 模板2: 快速交接 (异步)
```markdown
# 快速交接: @alice → @bob
## 摘要
- 无活动事件
- 1项调查进行中 (API超时,见ENG-1234)
- 明天主要发布 (01/24) - 准备好应对问题
## 监控列表
1. UTC时间02:00-03:00的API延迟 (备份窗口)
2. 认证服务内存 (如果 > 80% 重启)
## 最近
- 昨天部署了api-gateway v3.2.1 (稳定)
- 速率限制增加到1500 RPS
## 即将发生
- 01/23 02:00 - 数据库维护 (5分钟只读)
- 01/24 14:00 - v5.0发布
## 有问题吗?
我今天在Slack上可用直到17:00。
模板3: 事件交接 (事件中)
# 事件交接: 支付服务降级
**事件开始**: 2024-01-22 08:15 UTC
**当前状态**: 缓解中
**严重性**: SEV2
---
## 当前状态
- 错误率: 15% (从40%下降)
- 缓解进行中: 扩展Pod
- 解决预计时间: ~30分钟
## 我们知道什么
1. 根因: 支付服务Pod的内存压力
2. 触发: 异常流量激增 (正常3倍)
3. 促成因素: 结账流程中的低效查询
## 我们做了什么
- 扩展支付服务从5 → 15 Pods
- 启用结账端点的速率限制
- 禁用非关键功能
## 需要发生什么
1. 监控错误率 - 应在~15分钟内达到 <1%
2. 如果没有改善,升级到 @payments-manager
3. 稳定后,开始根因调查
## 关键人员
- 事件指挥官: @alice (交接中)
- 通信负责人: @charlie
- 技术负责人: @bob (接班)
## 通信
- 状态页面: 更新于08:45
- 客户支持: 已通知
- 执行团队: 已知晓
## 资源
- 事件频道: #inc-20240122-payment
- 仪表板: [支付服务](https://grafana/d/payments)
- 运行手册: [支付降级](https://wiki/runbooks/payments)
---
**接班值班员 (@bob) - 请确认您有:**
- [ ] 加入 #inc-20240122-payment
- [ ] 访问仪表板
- [ ] 理解当前状态
- [ ] 知道升级路径
交接同步会议
议程 (15分钟)
## 交接同步: @alice → @bob
1. **活动问题** (5分钟)
- 浏览任何进行中事件
- 讨论调查状态
- 传递上下文和理论
2. **最近变更** (3分钟)
- 需关注的部署
- 配置变更
- 已知回归
3. **即将事件** (3分钟)
- 维护窗口
- 预期流量变化
- 计划发布
4. **问题** (4分钟)
- 澄清任何不清楚之处
- 确认访问和警报
- 交换联系信息
值班最佳实践
班次前
## 班次前清单
### 访问验证
- [ ] VPN工作
- [ ] kubectl访问所有集群
- [ ] 数据库读取访问
- [ ] 日志聚合器访问 (Splunk/Datadog)
- [ ] PagerDuty应用已安装并登录
### 警报设置
- [ ] PagerDuty排班显示您为主要人员
- [ ] 电话通知已启用
- [ ] 事件频道的Slack通知
- [ ] 测试警报已接收并确认
### 知识复习
- [ ] 审查最近事件 (过去2周)
- [ ] 检查服务变更日志
- [ ] 略读关键运行手册
- [ ] 知道升级联系人
### 环境准备
- [ ] 笔记本电脑已充电且可访问
- [ ] 电话已充电
- [ ] 通话的安静空间可用
- [ ] 识别备用联系人 (如果旅行)
班次期间
## 日常值班例行
### 早上 (工作日开始)
- [ ] 检查夜间警报
- [ ] 审查仪表板异常
- [ ] 检查任何P0/P1工单创建
- [ ] 略读事件频道获取上下文
### 全天
- [ ] 在SLA内响应警报
- [ ] 记录调查进展
- [ ] 更新团队重要问题
- [ ] 分诊传入页面
### 工作日结束
- [ ] 交接任何活动问题
- [ ] 更新调查文档
- [ ] 注明下个班次内容
班次后
## 班次后清单
- [ ] 完成交接文档
- [ ] 与接班值班员同步
- [ ] 验证PagerDuty路由已更改
- [ ] 关闭/更新调查工单
- [ ] 为任何事件填写事后分析
- [ ] 如果班次压力大,休息
升级指南
何时升级
## 升级触发
### 立即升级
- SEV1事件宣布
- 怀疑数据泄露
- 30分钟内无法诊断
- 收到客户或法律升级
### 考虑升级
- 问题跨多个团队
- 需要您不具备的专业知识
- 业务影响超过阈值
- 您对下一步不确定
### 如何升级
1. 页面适当的升级路径
2. 在Slack中提供简要上下文
3. 保持参与直到升级确认
4. 清晰交接,不要直接消失
最佳实践
要做的事
- 记录一切 - 未来的您会感谢
- 尽早升级 - 安全总比遗憾好
- 休息 - 警报疲劳是真实的
- 保持交接同步 - 异步会丢失上下文
- 测试设置 - 事件前,不是事件中
不要做的事
- 不要跳过交接 - 上下文丢失导致事件
- 不要英雄 - 需要时升级
- 不要忽略警报 - 即使它们看起来次要
- 不要带病工作 - 换班代替
- 不要消失 - 班次期间保持可联系
资源
内存协议 (强制)
开始前:
阅读 .claude/context/memory/learnings.md
完成后:
- 新模式 ->
.claude/context/memory/learnings.md - 发现问题 ->
.claude/context/memory/issues.md - 决策 ->
.claude/context/memory/decisions.md
假设中断: 如果不在内存中,就没发生。