new Slack platformで障害対応のフローを統一&効率化した【問題解決編】
この記事に書いていること
この記事では、障害対応時に抱えていた課題や非効率さをslackの新しいbotを使って解決したお話を紹介します。
抱えていた課題と解決方法
1. 障害発生時のフローが決められておらず、報告者や対応者に委ねられていた
弊社では、障害が発生すると、それに気づいた人がslackの #インシデント発生時対応部屋 チャンネルに送信をして、障害に身に覚えのある人とCREの方が協力して対応するようになっています。しかし、報告する人も対応する人も毎回異なるので、障害報告の内容や障害対応の進行が定まっていませんでした。
そこで、障害発生時のbotを作成して、誰が障害報告をして誰が障害対応をしたとしてもbotに従って操作するだけでよく、統一したフローにすることができました。
2. 障害対応で必要なこと(報告書の作成など)の認識が合っておらず、記載漏れなどが発生していた。
障害が発生発生するとkintoneによる障害発生報告書が必須になっているのですが、誰がいつ作成するのかが定まっておらず、報告書の作成漏れなどが生じていました。また、kintoneの障害報告をしなければならないということをそもそも知らない人もいるなど障害対応で必要なことの認識が合っていないという状況でした。
そこで、障害報告をした段階で報告者がkintoneの障害報告をわかる範囲で作成し、共有することをbotのフローの中に組み込み、記載漏れが絶対に起こらない仕組みにしました。
3. 障害報告をしたslackのチャットの一つのスレッドで会話がされていたため、とんでもなく長いスレッドができてしまい、情報がバラバラになっていた。
画像のように一つのスレッドでその障害に関するすべての会話がされており、バラバラになっていました。
そこで、必要があれば特定の障害の対応のための専用チャンネルを作成し、さらにチャンネル作成も自動化することが可能になりました。
4. 対応中の障害がいくつあり、どんな内容かをすぐに把握することができなかった。
今対応中の障害を把握できるようにしたいという要望がCREの方からあったため、報告完了コマンドで進行中の障害が確認できるようにしました。
作ったもの
障害発生報告ワークフロー
動作内容
-
チャンネル上部のピンされている部分からインシデント報告開始を選択し、フォームを入力する。
この時、チャンネルを作成するを選択すると、#incident_yyyymmdd_{タイトル名}
という名前のチャンネルが自動で作成され、報告者とメンションされた人がそのチャンネルに招待されます。それ以降新しく作られたチャンネルで障害に関する会話がされます。 -
作成を押すとメッセージが送信される
ここで、必ず報告者の方がkintoneの報告の雛形を作成することで、kintoneの作成漏れがないようになっています。
kintoneのAPIを使ってslack上のフォームを入力することでkintoneの障害報告を作成することもできたのだが、どのようにフローに組み込むか悩ましかったため最初はなしで実装しました。
障害報告完了ワークフロー
- チャンネル上部のピンされている部分からインシデント報告完了を選択する
対応中の障害がない場合、進行中の障害はありません
と表示されます。
おわりに
今回の記事では、弊社の障害対応フローにおいて抱えていた課題とその解決方法、botの動作内容を紹介しました。
次回は今回紹介したbotのnew Slack platformによる実装編です。実装において、つまずいた点や工夫した点を書きます。
Discussion