Shopify 关于 Incident Management 的 ChatOps 实践
ChatOps 在处理 Incident Management 的时候,主要关注的是沟通,确保各方的响应确切地在推进事故的应急处理。Shopify 采用的 Incident Response Process 叫做 Incident Command System (ICS)。在这个模型中,Commander (IMOC) 领导整个事故应急处理,Public Information Officer 对外沟通,Operations 对内处理。
有个概念不能混淆:Incident Response 不是修复生产环境的 bug。这个流程基本上是这样的:
- 检测到除了问题。
- IMOC 评估确认问题,发起一次 incident。
- IMOC 协调沟通,确认修复和多久可以搞定。
- 故障解除,IMOC 确认,停止 incident,写服务挂掉的报告。
- RCA 接入,深入分析,决定后续操作。
- 完成 RCA 中要求做到的后续措施。
Shopify 写了一个叫做 Spy 的机器人,联通团队成员,PagerDuty,StatePage,GitHub 。这个机器人最重要的三个指令: spy page
, spy incident
, spy status
.
spy page
:将 alert 发给 IMOC (spy page imoc xyz xxx.
),然后 IMOC ack 它 (spy pager imoc ack 125
)spy incident
: IMOC 发起 incident (spy start incident
), 绑定 slack 组。员工们可以通过spy incident tldr
查询特定时段的事故的详情,参与人,时间,简介等等。IMOC 可以通过spy incident stop
停止 incident。
整个事故处理的流程流水化的,通过 slackbot 将各种服务联系起来,集中调度控制所需要的资源,可以尽快抹平故障。