監控通知

監控主控板內有多項預先定義的警示。警示變更狀態時,便會傳送通知。若要接收 Grafana 的警示,您需要設定通知管道。

Grafana 支援多種通知類型(電子郵件、Slack、Webhook 等)有關通知類型支援的詳細資訊,請參閱 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. 輸入名稱(例如,alert),並選擇要安裝應用程式的工作空間,以建立 Slack App
  2. 點擊傳入的 Webhook 按鈕,將此功能新增到您的應用程式。
    傳入的 Webhook
  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 通知文件

Webhook

您也可以設定 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 通知文件