Prometheus Alertmanager 連携 - サーバー・インフラ監視通知
Prometheus AlertmanagerをEchobellと統合して即座にモバイルアラートを受け取るための完全ガイド。サーバー監視、インフラアラート、CPU/メモリ使用率警告、クリティカルシステムイベントのプッシュ通知をWebhookまたはメールで受信。
Prometheus 連携
Prometheus と Alertmanager は広く使用されているオープンソースの監視・アラートスタックです。Alertmanager を Echobell と統合することで、アラートルールが発火するたびに、即座にモバイル通知(時間重要通知や通話通知を含む)を受け取ることができます。
前提条件
- 少なくとも 1 つのチャンネルが作成された Echobell アカウント
- 稼働中の Prometheus + Alertmanager 環境
- Alertmanager 設定ファイル(alertmanager.yml)の編集権限
概要
- Echobell チャンネルの作成
- 通知テンプレートの設定
- 統合方法の選択(Webhook または Email)
- アラートルールの作成・更新
- テストと調整
ステップバイステップガイド
Echobell チャンネルの作成
- Echobell アプリを開く
- 新しいチャンネルを作成(例:「Prometheus アラート」)
- 識別しやすい色を選択
通知テンプレートの設定
Alertmanager の Webhook ペイロードには status、commonLabels、commonAnnotations、externalURL、alerts 配列などの構造化されたフィールドが含まれます。
タイトルテンプレート:
{{commonLabels.alertname}} - {{status}}本文テンプレート:
🔔 アラート: {{commonLabels.alertname}}
📊 重要度: {{commonLabels.severity}}
🖥️ インスタンス: {{alerts[0].labels["instance"]}}
⏰ 開始: {{alerts[0].startsAt}}
ℹ️ 概要: {{commonAnnotations.summary}}オプションのリンクテンプレート(詳細設定):
{{alerts[0].generatorURL || externalURL}}方法 A — Webhook(推奨)
- Echobell チャンネルで、トリガーから Webhook URL をコピー
- Alertmanager で Webhook レシーバーを設定:
route:
receiver: echobell-webhook
receivers:
- name: echobell-webhook
webhook_configs:
- url: "https://hook.echobell.one/t/REPLACE_WITH_YOUR_TOKEN"
send_resolved: true
http_config:
follow_redirects: true注意:send_resolved: true でアラートが解決した際にも通知されます。
方法 B — Email(代替)
Email を使用する場合は、Alertmanager の Email レシーバーを使用:
- Echobell で、トリガーからチャンネルの Email アドレスをコピー
- Alertmanager で Email レシーバーを設定:
receivers:
- name: echobell-email
email_configs:
- to: "PASTE_CHANNEL_EMAIL_ADDRESS"
send_resolved: true
subject: "{{ .CommonLabels.alertname }} - {{ .Status }}"
html: |
<p><strong>概要:</strong> {{ .CommonAnnotations.summary }}</p>
<p>{{ .CommonAnnotations.description }}</p>サンプルアラートルールの作成
groups:
- name: example
rules:
- alert: HighCPU
expr: avg(rate(process_cpu_seconds_total[5m])) > 0.8
for: 2m
labels:
severity: critical
annotations:
summary: "CPU 使用率が高い"
description: "CPU が 2 分間 80% を超えています"このアラートが発火すると、Alertmanager がイベントを Echobell に送信します。
通知タイプ
- 時間重要:重大な本番障害、ページングレベルのインシデント
- 通話:フォーカスモードを中断する必要がある深刻な障害
- 通常:定期的なアラート、警告、情報通知
ベストプラクティス
- テンプレートは簡潔だが情報を含めて保つ
- リンクテンプレートでグラフ/ダッシュボードに直接アクセス
- Alertmanager でアラートをグループ化してルーティング
- Webhook URL を機密情報として保護
トラブルシューティング
アラートが Echobell に表示されない場合:
- Webhook URL またはチャンネル Email を確認
- チャンネルがアクティブで購読者がいるか確認
- Alertmanager のログで配信エラーを確認
- alertmanager.yml のルートを確認