Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び

Avatar for taxin taxin
October 30, 2025

Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び

Avatar for taxin

taxin

October 30, 2025
Tweet

More Decks by taxin

Other Decks in Technology

Transcript

  1. はじめに インシデントレスポンスとは - インシデントが発生した際に、システム・サービスを迅速に復旧させる ためのプロセス - インシデントレスポンスの各ステップ (障害対応フォーメーションの 形成、調査 etc.)

    におけるハードルを下げるための仕組みが重要 ポストモーテムとは - インシデント発生後に行われるインシデントの分析・学習のプロセス - アクションアイテムの作成 “だけ” に留めないことが重要 3
  2. Mackerelにおけるインシデント対応(1/3) (※ 前提) Mackerelのサービス基盤の監視にはMackerelを利用している - 情報経路としてはアラートと問い合わせが主 - アラート通知用のSlack channel、ユーザーからの問い合わせが流れて くるSlack

    channelに開発チームのメンバーが参加 - 障害と思われる事象が発生している場合は、障害対応フォーメーション を組む - 障害対応するか迷った時に、障害対応の実施要否を判定するための フローチャートを用意している 7
  3. Mackerelにおけるインシデント対応(2/3) - 障害対応は Google Meet + Cosenseを利用 - 障害対応時の情報共有は専用のSlack channelで行う

    - 「障害が起きたら、とりあえずこのMeetに入って、このSlack channelを見て...」 - 障害対応用のドキュメントテンプレートをCosenseで用意しており、 チェックリスト方式で初動の動きができるようにしている - 障害対応の記録用のページの作成 - 障害対応フォーメーションの形成 (役割分担 etc.) - ユーザーへの第一報の準備 10
  4. 11

  5. 13

  6. Mackerelにおけるインシデント対応(3/3) 初動の動きが済んだら、障害対応を行う - チームにjoinしたタイミングでSRE 1on1を実施しており、障害対応や アーキテクチャ解説など概要情報はインプット済み - 詳細情報にアクセスできるインデックス集 (Cosense) を用意

    - e.g.) ログの検索方法、コンポーネントごとの調査方法 etc… - 障害対応時の定型作業などをまとめたRunbook (GitHub) も用意 - 上記のドキュメントにはアラート通知内のリンクやSlackのBookmarks から飛べるようにしている 14
  7. インシデント対応の改善事例 Incident Severity Levels 課題解決のために何をしたか - 障害の重大度を判断するIncident Severity Levelsの定義 -

    Mackerel開発チームでは4段階のSeverityを定義した - 障害対応フローにSeverityの判定を組み込む - 導入時には、Incident Severity Levelsに関するワークショップを実施 20
  8. 21 重大度 解説 優先度 SEV1 セキュリティもしくは課金・請求に関する 問題 事後対策を最優先で行う SEV2 すべての顧客が機能を正常に利用できない

    もしくは Mackerelのコア機能を正常に利用 できない問題 事後対策をデフォルトで通常 のタスクよりも優先して行う SEV3 一部の顧客がコア機能以外を正常に利用で きない問題 通常のタスクも含めて開発 チームで優先度を会話する SEV4 ユーザーを苛立たせているが、顧客が機能 を正常に利用できない程度ではない問題 通常のタスクも含めて開発 チームで優先度を会話する ※ 実際のSeverityの定義から登壇用に文言の修正等を行っています
  9. インシデント対応の改善事例 Incident Severity Levels どのような効果があったか - 障害対応の場面では活用できている - SEVという障害に対する共通認識ができた -

    一方で、SEVの判定に迷うケースが散見されるので、フローチャー トの修正 or 機械的に判定できるような仕組みを考えたい - 恒久対応での優先度判断においては課題がある - SEVを基にした意思決定が疎かになる場面があるので、Mackerel チーム内での文化の浸透を目指していく 22
  10. Mackerelにおけるポストモーテム ポストモーテムは、下記のような流れで実施する (60min) - 1) 障害概要・タイムラインの読み合わせ - 2) ~ 4)

    のための事実の整理 - 2) GKPT (Good, Keep, Problem, Try) - 整理された事実を分析し、チームにとっての学びを得る - 3) 恒久対応などのアクション・対策の洗い出し - 分析結果や学びを基にインシデントレスポンスの改善に繋げる - 4) 社内共有用の障害報告のアウトライン作成 + 担当者決め - 開発組織にとっての学びを得る 26
  11. 29

  12. ポストモーテムの改善事例 ポストモーテム読書会・アラート点検会 どのような課題があったか - 課題ベースではなく taxin のキャッチアップとして始まったのが きっかけ - 2023年3月:入社

    ~ 2023年5月:読書会の初回 - ポストモーテムを通じて、Mackerelのアーキテクチャに対する 理解を深めたい - システム・障害対応フローの課題・改善点も確認できる 31
  13. ポストモーテムの改善事例 ポストモーテム読書会・アラート点検会 どのような課題があったか - インシデント対応において、検知 ~ トリアージ ~チームの構成を 最速で実施する上でアラートは重要な要素である -

    アラートを見て障害の詳細/重大度が一発でわかるのが理想 - 障害判定フローチャートでも触れたが、偽陽性のアラートが多いと疲弊 するので、改善したい - 逆に既存の監視ルールがカバーできていない部分も発見したい 34