地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【障害対応】オレオレインシデントbotツールを書いた

この記事は「渡部 Advent Calendar 2025」の6日目の記事です。


github.com

障害対応の記事を書いたり書籍を書いていたらbotについて聞かれることが多かったのでサンプルとして書いてみたやつ。現在社内で作られたものとは別のものですが概ねこんな感じでやっているというのを紹介してあります。

incident-response-bot は Slack 上で「インシデントを報告・管理」するためのボットです。ざっくり機能ですが

  • Slack でボットをメンションするとモーダル(入力フォーム)が開き、インシデント情報を入力可能 — タイトル、重要度 (Critical / High / Medium / Low)、詳細説明、影響範囲などを記入
  • 入力途中には「〇〇さんが入力中です」のような案内メッセージが表示され、他の人が同時に編集しづらいよう配慮
  • 報告すると、自動でインシデント用チャンネル(例: incident-YYYYMMDD)が作成され、報告内容が整形された形で投稿される
  • 必要に応じて、全体周知用のチャンネルへ同時投稿(通知)も可能。複数の通知先を設定できる
  • インシデント対応ガイドラインの自動投稿、担当者割り当て機能(ハンドラーのアサイン)、および対応履歴の記録(PostgreSQL によるデータ保存)機能 その他、help / list / handler などのコマンドで、オープンインシデントの一覧取得や担当状況の確認も可能

というようなことができます。気づく人もいるかもしれませんが私が過去に所属していた会社で使われていたbotの機能の一部が実装されているという感じです。

speakerdeck.com

こだわっているポイント

障害対応は会社ごとにフローが全く違ったりします。サービスの特性や会社の規模の違いがあるので当然です。なのである程度最初のテンプレートになるような機能だけを実装して必要なものは会社ごとに実装する or 運用でカバーしていくというような使い方を目指しています。

現在は副業先で導入が進んでいて実際の障害対応にも使ってもらっていたりします。ただ社内固有の情報がだんだん増えてきて現在はforkして運用するという形になっています。もう一社でも使えないかは現在検討中で手触り感を見てもらっているという状況でそちらも多分forkするかこんな機能あると良いよ的な感じでスクラッチで書いていくのかは未定です。とりあえずインシデントレスポンスbotがあると障害対応で色々と便利ですよというのを伝えやすくなるというところが達成できているので目的は達成できました。

結局はツールがあっても障害対応に対する姿勢だったり文化の方が大事なのでその部分は別途作っていく必要があったりします。その辺の話は書籍にも書いたので見てもらえると嬉しいですw

gihyo.jp