LESSON 30分

ストーリー

田中VPoE
異常検知、アラート設計、AIOpsの基盤ができた。最後のピースは「インシデント相関分析」だ。TaskFlow社のインシデントデータを見ると、46%が複数チーム関与のインシデントで、その原因特定に平均4時間かかっている
あなた
チームをまたぐインシデントが最も困難ですよね。どのサービスが根本原因か分からない
田中VPoE
その通りだ。分散システムではインシデントの「症状」が最初に表れる場所と「原因」がある場所が異なることが多い。API Gatewayでエラーレートが上昇しているが、根本原因はデータベースのコネクションリークだった、というケースだ
あなた
メトリクス・ログ・トレースの3本柱を相関させて追跡するということですね
田中VPoE
それに加えて「時間的相関」「トポロジカル相関」「変更相関」の3つの観点で分析する。これらを組み合わせたインシデント相関分析の手法と、組織的なインシデント対応プロセスを設計する

インシデント相関分析の3つの観点

観点の全体像

観点定義問いツール
時間的相関異常イベントの発生時刻の相関「何が最初に起きたか」時系列分析、イベントタイムライン
トポロジカル相関サービス依存関係に基づく相関「影響はどう伝播したか」サービスマップ、トレース分析
変更相関デプロイ/設定変更との時間的相関「何が変わったか」デプロイ履歴、設定変更ログ

時間的相関分析

イベントタイムラインの構築

ステップアクションツール
1インシデント発生前後の全イベントを収集ログ集約、メトリクスクエリ
2時系列に沿ってイベントを並べるイベントタイムライン
3「最初の異常」を特定する時間的逆追跡
4因果関係の仮説を立てる相関分析

実例: TaskFlow社のインシデント分析

インシデントタイムライン:

14:30:00  Payment Service: DBコネクション数が緩やかに上昇開始
14:32:15  Task Service: v2.15.3 デプロイ完了
14:33:00  Task Service: DBコネクション数が急増(通常の3倍)
14:33:30  Database: アクティブコネクション数が上限の90%到達
14:34:00  Task Service: レイテンシP99が220ms→1500msに上昇
14:34:15  Payment Service: DBコネクション取得タイムアウト発生
14:34:30  API Gateway: エラーレートが0.02%→2.5%に上昇 ← アラート発報
14:35:00  ジャーニーSLO「タスク作成」: 違反検知

根本原因: Task Service v2.15.3 のコネクションリーク
  → DBコネクションプール枯渇
  → Payment Service(同じDB利用)も影響を受ける
  → API Gateway経由でユーザーにエラーが返る

発見のポイント:
  - アラートはAPI Gatewayで発報(症状の場所)
  - 根本原因はTask Serviceのデプロイ(原因の場所)
  - 時間的相関で14:32のデプロイと14:33の異常開始を結びつける

トポロジカル相関分析

サービスマップを活用した影響伝播分析

分析手法説明効果
上流追跡エラーが発生しているサービスの依存先を確認下流の根本原因を特定
下流追跡障害サービスに依存している上流を確認影響範囲の把握
共通依存分析複数サービスが同時に障害の場合、共通の依存先を確認共有リソース障害の検出

分散トレースによる相関分析

分析タイプ手法適用場面
エラートレース分析エラーステータスのトレースを抽出し、失敗スパンを特定リクエスト単位の障害原因特定
レイテンシ分析遅延トレースを抽出し、ボトルネックスパンを特定パフォーマンス劣化の原因特定
比較分析正常時と異常時のトレースパターンを比較異常パターンの特徴抽出
分散トレース相関分析の例:

正常トレース:
  Gateway(5ms) → Auth(3ms) → Task(15ms) → DB(8ms)
  合計: 31ms

異常トレース:
  Gateway(5ms) → Auth(3ms) → Task(1200ms) → DB(1150ms)
  合計: 1358ms

差分分析:
  DB応答時間: 8ms → 1150ms(144倍)
  → DBレイヤーに問題があることが明確
  → DBのコネクション数、クエリ実行計画を確認

変更相関分析

変更イベントの統合管理

変更タイプデータソース相関の重要度
アプリケーションデプロイCI/CDパイプライン(GitHub Actions等)最高
インフラ変更Terraform、CloudFormation
設定変更フィーチャーフラグ、環境変数
依存サービス変更外部API、クラウドサービスのメンテナンス
トラフィック変動マーケティングイベント、メディア掲載

変更イベントの可視化

変更とメトリクスの統合ビュー:

エラーレート (%)
3.0 │                              ╱╲
2.5 │                            ╱    ╲
2.0 │                          ╱        ╲
1.5 │                        ╱            ╲
1.0 │                      ╱                ──
0.5 │──────────────────╱
0.0 │─────────────────────────────────────────
    14:00  14:15  14:30  14:45  15:00  15:15

    ▼ 14:32 Task Service v2.15.3 デプロイ
    ▼ 14:45 Task Service v2.15.2 ロールバック

→ デプロイ→エラー上昇→ロールバック→エラー収束
  の因果関係が視覚的に明確

組織的なインシデント対応プロセス

インシデントコマンドシステム

役割責任誰が担当するか
インシデントコマンダー(IC)全体の指揮、意思決定、コミュニケーションオンコールSRE or 自動アサイン
テクニカルリード(TL)技術的な調査・対応の指揮障害サービスのテックリード
コミュニケーションリード(CL)ステークホルダーへの状況報告SREリード or マネージャー
スクライブタイムラインの記録自動化 + 手動補完

インシデント対応と相関分析の統合フロー

インシデント検知(自動)

  ├── 1. 自動相関分析の実行(2分以内)
  │     ├── 時間的相関: 直近30分のイベントタイムライン生成
  │     ├── トポロジカル相関: 影響を受けたサービスの特定
  │     └── 変更相関: 直前のデプロイ/設定変更の検出

  ├── 2. インシデントチャネル自動作成(Slack)
  │     ├── 相関分析結果の自動投稿
  │     ├── 関連ダッシュボードリンク
  │     ├── ランブックリンク
  │     └── 影響を受けるチームの自動メンション

  ├── 3. 人的対応
  │     ├── ICが対応方針を決定
  │     ├── TLが根本原因調査を指揮
  │     └── CLがステークホルダーに状況報告

  └── 4. ポストモーテム
        ├── 自動生成されたタイムラインをベースに作成
        ├── 根本原因と寄与要因の分析
        └── 改善アクションの策定

ポストモーテムと可観測性改善のフィードバック

ポストモーテムの出力可観測性への反映
「アラートが遅すぎた」アラート閾値の見直し、バーンレートアラートの追加
「根本原因の特定に時間がかかった」トレースカバレッジの拡大、相関IDの追加
「影響範囲の把握が困難だった」サービスマップの更新、依存関係の可視化強化
「同じ障害が再発した」異常検知パターンの追加、自動修復の検討
「変更との因果関係の確認に時間がかかった」デプロイマーカーの追加、変更ログの統合

相関分析の高度化

メトリクス・ログ・トレース相関の実装

相関タイプ実装方法効果
メトリクス→トレースメトリクスのスパイク期間のトレースを自動検索異常の具体的な原因パスを特定
トレース→ログトレースIDでログを検索リクエスト単位のエラー詳細を確認
ログ→メトリクスエラーログの集計をメトリクスとして表示エラーの傾向把握
全体相関共通のトレースID/スパンIDで3シグナルを横断検索End-to-Endの因果関係追跡

相関分析の精度を高めるデータ品質要件

要件説明優先度
統一されたタイムスタンプ全テレメトリデータがNTPで同期されたタイムスタンプを持つ最高
共通の相関IDトレースID、スパンIDが全サービスで伝播される最高
統一されたサービス名service.name属性が全テレメトリで一貫している
デプロイマーカーデプロイイベントがメトリクス上にアノテーションされる
構造化ログログがJSON形式で、トレースIDフィールドを含む

「インシデント相関分析の精度は、日頃のデータ品質への投資で決まる。障害が起きてから”データが足りない”と気づくのでは遅い。相関IDの伝播、構造化ログ、デプロイマーカー — これらの”地味な仕込み”がインシデント時に劇的な効果を発揮する」 — 田中VPoE


まとめ

ポイント内容
3つの相関観点時間的相関、トポロジカル相関、変更相関を組み合わせて根本原因を特定
分散トレースエラートレース、レイテンシ分析、比較分析でリクエスト単位の原因追跡
組織的対応インシデントコマンドシステムと自動相関分析の統合
データ品質相関ID、統一タイムスタンプ、構造化ログが分析精度の基盤

チェックリスト

  • 時間的相関、トポロジカル相関、変更相関の3つの観点を理解した
  • 分散トレースを活用した相関分析の手法を理解した
  • インシデントコマンドシステムと相関分析の統合フローを理解した
  • データ品質要件と相関分析精度の関係を理解した

次のステップへ

次は演習です。ここまで学んだ異常検知、アラート設計、AIOps、インシデント相関分析を統合して、TaskFlow社の予防的インシデント検知システムを設計しましょう。


推定読了時間: 30分