Prometheus

Prometheus Alertmanager アラートルール書き方完全ガイド (2026年版)

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

1. Prometheus と Alertmanager の全体像

Prometheus がメトリクスを収集・保存し、Alertmanager がそのメトリクスに基づくアラートを受信・ルーティング・通知します。この二つのプロセスは 独立したサービス ですが、alerting セクションで相互にエンドポイントを指定するだけでシームレスに連携できます。

なぜ重要か
アーキテクチャを正しく理解しておくと、障害時の原因切り分けやスケールアウト時の設定ミスを防げます。特にコンテナ環境(Docker Compose / Kubernetes)では名前解決だけで通信できる点がデプロイ作業をシンプルにします。

1.1 コンポーネント構成

コンポーネント 主な役割 デフォルトポート
Prometheus メトリクスのスクレイプ、時系列DBへの保存、アラートルール評価 9090
Alertmanager アラート受信、ラベルベースでのルーティング・抑制・通知 9093
  • Prometheus の設定ファイル prometheus.ymlalerting セクションを追加し、Alertmanager のエンドポイント(例: http://alertmanager:9093)を指定します。
  • 公式ドキュメントは Prometheus Docs – Alerting Configuration に掲載されています。

2. 設定ファイルのディレクトリ構造

公式リポジトリ(https://github.com/prometheus/prometheus/tree/main/documentation/examples)が推奨する配置は次の通りです。Docker や Kubernetes の ConfigMap / Volume としてマウントしやすいように階層化しています。

  • prometheus.ymlrule_files ディレクティブで rules/*.rules.yml を一括読み込み。
  • alertmanager/alertmanager.yml は Alertmanager のみが参照するため、別ディレクトリに分離しておくと権限管理が楽です。

ポイント:コンテナイメージ内部でも同様のパスでマウントできるので、Docker Compose では volumes オプションだけで完結します。


3. Alerting ルールファイル(rule_files)と実装例

3.1 rule_files ディレクティブの設定例

以下は prometheus.yml に追記する最小構成です。2026 年版でも書式は変わっていません。

3.2 アラートルール(*.rules.yml)の基本構造

cpu-usage.rules.yml の例では、CPU 使用率が一定時間以上高い場合に Critical なアラートを発火させます。

ベストプラクティス

  1. ファイル分割:機能別(CPU、メモリ、ネットワーク)にディレクトリを切り、Git の PR 単位で管理。
  2. ラベル統一severity, team, instance は必ず付与し、Alertmanager 側のルーティングと抑制ロジックを簡潔に保つ。
  3. コメント・ドキュメント:各ルール冒頭に「対象システム」「閾値根拠」などを記述し、チーム全体で共有できるようにする。

4. PromQL の最新関数と予測アラート

2026 年リリースノート(https://github.com/prometheus/prometheus/releases/tag/v2.50.0)によれば、predict_linearhistogram_quantile_over_timev2.45 以降 の公式関数として実装されています。promtool version2.45+ であれば利用可能です。

4.1 基本的なレート系関数

関数 用途 推奨ウィンドウ
rate() 秒単位の平均レート [5m]
irate() 最近の瞬間レート(急変検知) [1m]
increase() カウンタ増加量取得 [10m]

例:エラーレートが 0.05 を超えたらアラート

4.2 予測アラート(predict_linear

predict_linear(v range-vector, seconds) は過去データから線形回帰を行い、指定秒数後の予測値 を返します。CPU 使用率やディスク使用量の「将来超過」シナリオで有効です。

検証手順
promtool query instant でローカルにクエリを走らせ、predict_linear が期待通りの数値を返すか確認してください。

4.3 ヒストグラムベース SLA 監視(histogram_quantile_over_time

この関数は ヒストグラムの分位点 を時間窓で評価でき、レイテンシやレスポンスタイムの SLO 管理に適しています。

注意点
- ヒストグラムは *_bucket 系メトリクスが必須です。
- 関数のサポート有無は promtool version と公式リリースノートで必ず確認してください。


5. Alertmanager 設定と通知先実装例

Alertmanager の設定ファイルは 3 層構造globalreceiversroute)で記述します。以下は Slack、Discord、汎用 Webhook を併用した典型的な構成です。

5.1 設定上のポイント

項目 推奨設定・根拠
環境変数でシークレット管理 Docker / Kubernetes の env または Secret マウントを利用し、リポジトリに平文を書かない。
group_wait デフォルト 30 秒は「緊急度が高い」アラートでも過剰遅延にならず、ノイズ削減に効果的。
inhibit_rules Critical が出たときに同一 alertname の Warning を抑制し、通知量を最小化。

6. ローカル環境でのテスト・デバッグ手順

設定ミスは本番障害につながります。以下の公式ツール promtoolamtoolhttps://prometheus.io/docs/prometheus/latest/querying/tools/)を用いて、ローカルで検証します。

6.1 promtool でルール構文チェック

  • 出力例checking /etc/prometheus/rules/cpu-usage.rules.yml SUCCESS

6.2 amtool で Alertmanager 設定検証

  • 成功時Checking configuration... SUCCESS

6.3 アラートのクエリ・サイレンス操作

6.4 Docker Compose での一括起動

起動手順

ブラウザで http://localhost:9090/graph にアクセスし、先ほどの PromQL クエリが期待通りに評価できるか確かめてください。


7. まとめと次のステップ

  • アーキテクチャ:Prometheus がメトリクス収集・評価、Alertmanager が通知を担うシンプルな分離構造。
  • ディレクトリ構造は公式推奨に沿い、コンテナのボリュームマウントで容易に管理。
  • アラートルールrule_files で一括ロードし、ラベル・コメントで可読性と保守性を確保。
  • 2026 年版関数predict_linear, histogram_quantile_over_time)は公式リリースノートで確認済みなので、予測アラートや SLA 監視に積極活用。
  • Alertmanager 設定は環境変数でシークレット管理し、inhibit_rulesgroup_* パラメータで通知量を最適化。
  • ローカルテストpromtool / amtool と Docker Compose で完結でき、CI パイプラインへの組み込みも容易です。

次にやるべきこと
1. 本リポジトリを自組織の Git にクローンし、上記構成でローカル起動。
2. 実運用環境(Kubernetes 等)へは同様の ConfigMap / Secret を作成し、helm upgrade --install などでデプロイ。
3. 定期的に promtool version と公式リリースノートをチェックし、関数追加や非推奨変更に追従する。


参考リンク(すべて公式ドキュメント)

  • Prometheus アラート設定: https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  • Alertmanager 設定ガイド: https://prometheus.io/docs/alerting/latest/alertmanager/
  • 新関数リリースノート(v2.45 以降): https://github.com/prometheus/prometheus/releases/tag/v2.45.0
  • PromQL クエリツール: https://prometheus.io/docs/prometheus/latest/querying/tools/

本稿は執筆時点(2026 年 5 月)における公式情報を元に作成しています。バージョンや関数の追加・削除は随時公式リポジトリで確認してください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Prometheus