设置监控通知

监控面板中有几种预定义提醒。当一条提醒更改状态时,它便会发出通知。为接收来自 Grafana 的提醒,您需要配置一个通知渠道。

Grafana 支持各种通知类型(邮件、Slack、Webhooks 等)。请参阅 Grafana 的文档,获取更多通知类型支持。

本文档将介绍如何设置常见的通知渠道,例如:邮件SlackPagerDutyWebhooks

在设置通知之前,请确保监控容器已启动并正在运行。

邮件

  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_SERVER_ROOT_URL: your-grafana-public-endpoint #(ex. https://foo.bar.com:3000)
          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 应用
  2. 点击传入 Webhooks 按钮,将此功能添加至您的应用。
    传入 Webhooks
  3. 点击激活传入 Webhooks 开关切换至此功能,然后点击添加新 Webhooks 至工作区
    添加新 Webhook 至工作区
  4. 选择应用要使用的目标渠道,并点击授权按钮向您的应用授权。
  5. 复制 Webhooks 网址(例如,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 的 Webhooks 通知文档