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 将各种服务联系起来,集中调度控制所需要的资源,可以尽快抹平故障。