通知のモニタリング

モニタリングダッシュボードには、事前定義されているアラートがいくつかあります。アラートの状態が変わると、通知が送信されます。Grafanaからアラートを受け取るには、通知チャネルを構成する必要があります。

Grafanaでは、さまざまな通知タイプ(メール、Slack、Webhooksなど)がサポートされています。その他の通知タイプのサポートについては、Grafanaのドキュメントをご覧ください。

このドキュメントでは、次のような一般的な通知チャネルの設定について説明します。

通知を設定する前に、モニタリングコンテナが実行中であることを確認してください。

メール

  1. monitoring-compose.ymlファイルでSMTP設定値を構成します。
    services:
      ...
      grafana:
      ...
        environment:
          GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD:?Missing env GF_SECURITY_ADMIN_PASSWORD for Grafana admin password}
          WA_PROMETHEUS_ENDPOINT: ${WA_PROMETHEUS_ENDPOINT:-http://prometheus:9090}
          GF_SMTP_ENABLED: 1
          GF_SMTP_HOST: your-smtp-host #(ex. smtp.gmail.com:465)
          GF_SMTP_USER: your-smtp-auth-user #(ex. you@email.com)
          GF_SMTP_PASSWORD: your-smtp-auth-password
          GF_SMTP_SKIP_VERIFY: 1
        depends_on:
          - 'prometheus'
    
  2. Grafanaを再起動します。
    docker-compose -f monitoring-compose.yml up -d
  3. アラートパネルで通知チャネルにアクセスします。
    通知チャネル
  4. メールアドレスを入力し、[テスト送信]ボタンをクリックして設定をテストします。
    テスト送信
    正しく構成されているなら、次のようなメールを受信します。
    Grafanaメール
    そうでない場合、Grafanaコンテナのログを調べてデバッグしてください。
  5. [保存]をクリックして設定を保存します。これ以降、Grafanaからアラートを受信するようになります。詳しくは、Grafanaのメール通知についてのドキュメントをご覧ください。

Slack

  1. 名前(「アラート」など)を入力し、アプリをインストールするためのワークスペースを選択することにより、Slack Appを作成します。
  2. [受信Webhooks]ボタンをクリックして、この機能をアプリに追加します。
    受信Webhooks
  3. [受信Webhooksをアクティブにする]のトグルをクリックしてオンにし、[新しいWebhookをワークスペースに追加する]をクリックします。
    新しいWebhookをワークスペースに追加する
  4. アプリの投稿先となるチャネルを選び、[承認]ボタンをクリックしてアプリを承認します。
  5. Webhook URL (https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXXなど)をコピーして、GrafanaのSlack通知を設定します。[テスト送信]ボタンをクリックして設定をテストします。正しく構成されているなら、構成されたチャネルで次のようなメッセージを受信します。
    Slack通知
    そうでない場合、Grafanaコンテナのログを調べてデバッグしてください。
  6. [保存]をクリックして設定を保存します。これ以降、Grafanaからアラートを受信するようになります。詳しくは、GrafanaのSlack通知についてのドキュメントをご覧ください。

PagerDuty

  1. 新しいサービス(https://XXXX.pagerduty.com/services/newなど)を追加し、[統合タイプ]として[直接APIを使用]を選択します。
    サービスの追加
  2. 統合キー(de7439f367354513b9e1ba4042f0e3b8など)をコピーして、GrafanaのPagerDuty通知を設定します。[テスト送信]ボタンをクリックして設定をテストします。正しく構成されているなら、PagerDutyのアラートのページで次のようなアラートを受信します。
    PagerDuty通知
    そうでない場合、Grafanaコンテナのログを調べてデバッグしてください。
  3. [保存]をクリックして設定を保存します。これ以降、Grafanaからアラートを受信するようになります。詳しくは、GrafanaのPagerDuty通知についてのドキュメントをご覧ください。

Webhooks

Webhookサーバーがアラートを受信するように設定することもできます。

  1. GrafanaでWebhook通知を設定します。[テスト送信]ボタンをクリックして設定をテストします。正しく構成されているなら、次のようなJSONペイロードを受信します。
    {
        "evalMatches": [
            {
                "metric": "High value",
                "tags": null,
                "value": 100
            },
            {
                "metric": "Higher Value",
                "tags": null,
                "value": 200
            }
        ],
        "message": "Someone is testing the alert notification within grafana.",
        "ruleId": 0,
        "ruleName": "Test notification",
        "ruleUrl": "http://localhost:3000/",
        "state": "alerting",
        "title": "[Alerting] Test notification"
    }
    
    そうでない場合、Grafanaコンテナのログを調べてデバッグしてください。
  2. [保存]をクリックして設定を保存します。これ以降、Grafanaからアラートを受信するようになります。詳しくは、GrafanaのWebhook通知についてのドキュメントをご覧ください。