Mímisbrunnr知恵の泉

← クラウドインフラ 一覧

🎓 レベル:標準 | 重要度:A(必須)

📎 前提:メトリクス・ログ・トレース(3本柱) | 関連:SREとは・SLI/SLO/エラーバジェットインシデント対応とポストモーテム

要点(BLUF)

概念 ── アラートは「行動要求」

アラートが多すぎると人は鈍ります(アラート疲れ/alert fatigue)。すべてに反応できず、本当に重要な1件を見逃す。だから原則は「鳴ったら必ず人の行動が要る」ものだけを鳴らす。「知っておきたい」程度はダッシュボード(メトリクス・ログ・トレース(3本柱))で見る。

flowchart TB
    signal["信号(メトリクス)"] --> q{"人が今すぐ動く必要があるか"}
    q -->|"はい"| page["アラート(呼び出し・page)"]
    q -->|"いいえ・参考情報"| dash["ダッシュボードに表示のみ"]
    page --> runbook["ランブックに沿って対応"]

仕組み ── 症状ベースと SLO バーン

原因ベース(CPU 80%超で警告)の問題は、(1) CPUが高くてもユーザーが困っていないことがある(誤報)、(2) CPUは正常でもユーザーが困っていることがある(見逃し)。

**症状ベース(symptom-based)**は「ユーザーが体感する悪さ」で鳴らす——エラー率の上昇、レイテンシの悪化、可用性の低下。これらは SLI(SREとは・SLI/SLO/エラーバジェット)そのもの。

さらに SLOバーンレート:エラーバジェットをどれだけ速く食っているかで緊急度を分けます。

flowchart LR
    budget["エラーバジェット(SLOの余裕)"] --> rate{"消費速度(バーンレート)"}
    rate -->|"高い:急速に枯渇"| urgent["即ページ(緊急)"]
    rate -->|"低い:ゆっくり"| ticket["チケット(非緊急)"]

これにより「一時的なスパイクでは鳴らず、本当に予算を脅かす異常でだけ鳴る」アラートになります。

仕組み ── ランブックと多段階

鳴らすアラートには必ず**ランブック(対応手順書)**を紐づけます。「このアラートが鳴ったら何を見て、何をするか」が書いてあれば、誰でも・夜中でも対応できる。深夜の判断を属人化させない。

通知も多段階に:緊急は呼び出し(オンコール)、非緊急はチャット/チケット、参考はダッシュボードのみ。重大度(severity)でルーティングします。

なぜこう設計するのか

⚠️ よくある誤解・落とし穴

対応ラボ

なし(設計トピック)。鳴らす元のメトリクスは メトリクス・ログ・トレース(3本柱) の Prometheus ラボで収集できる。Prometheus の alerting rule/Alertmanager は同ラボを拡張して実装(要最新確認)。

関連

第7章 監視と可観測性 目次