Настройка уведомлений мониторинга

На панелях мониторинга предусмотрено несколько стандартных уведомлений. Они отправляются при изменении состояния. Чтобы получать уведомления от Grafana, необходимо настроить канал уведомлений.

Grafana поддерживает различные типы уведомлений (по электронной почте, в Slack, через Webhooks и другие). Подробные сведения см. в документации по Grafana.

В этом документе рассматривается настройка популярных каналов уведомлений, таких как: электронная почта, Slack, PagerDuty и Webhooks.

Перед настройкой уведомления необходимо запустить контейнеры мониторинга.

Электронная почта

  1. Настройте параметры SMTP в файле monitoring-compose.yml.
    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. На панели Alerting (Уведомления) выберите Notification channels (Каналы уведомлений).
    Каналы уведомлений
  4. Введите свой электронный адрес и протестируйте настройки, нажав кнопку Send Test (Отправить тестовое уведомление).
    Отправить тестовое уведомление
    Если все настроено правильно, вы получите примерно такое электронное письмо:
    Электронное письмо от Grafana
    В противном случае проверьте журналы контейнеров Grafana.
  5. Нажмите Save (Сохранить), чтобы сохранить настройки. Теперь вы будете получать уведомления от Grafana. Подробные сведения см. в документации Grafana по уведомлениям по электронной почте.

Slack

  1. Создайте приложение Slack. Для этого введите его название (например, "Уведомления") и выберите рабочую среду для его установки.
  2. Нажмите кнопку Incoming Webhooks (Входящие Webhooks), чтобы добавить эту функцию в приложение.
    Входящие Webhooks
  3. Переведите переключатель Activate Incoming Webhooks (Активировать входящие Webhooks) в положение On (Включено), а затем нажмите Add New Webhook to Workspace (Добавить новый Webhook в рабочую среду).
    Добавить новый Webhook в рабочую среду
  4. Выберите канал, в котором будут публиковаться уведомления, и нажмите кнопку Authorize (Авторизовать), чтобы авторизовать приложение.
  5. Скопируйте URL Webhook (например, https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX), чтобы настроить уведомление Slack в Grafana. Протестируйте настройки, нажав кнопку Send Test (Отправить тестовое уведомление). Если все настроено правильно, вы получите через настроенный канал примерно такое сообщение:
    Уведомление в Slack
    В противном случае проверьте журналы контейнеров Grafana.
  6. Нажмите Save (Сохранить), чтобы сохранить настройки. Теперь вы будете получать уведомления от Grafana. Подробные сведения см. в документации по уведомлениям в Slack.

PagerDuty

  1. Добавьте новый сервис (например, https://XXXX.pagerduty.com/services/new) и выберите тип интеграцииUse our API directly (Использовать наш API напрямую).
    Добавление сервиса
  2. Скопируйте ключ интеграции (например, de7439f367354513b9e1ba4042f0e3b8), чтобы настроить уведомление PagerDuty в Grafana. Протестируйте настройки, нажав кнопку Send Test (Отправить тестовое уведомление). Если все настроено правильно, на странице уведомлений PagerDuty вы получите примерно такое уведомление:
    Уведомление PagerDuty
    В противном случае проверьте журналы контейнеров Grafana.
  3. Нажмите Save (Сохранить), чтобы сохранить настройки. Теперь вы будете получать уведомления от Grafana. Подробные сведения см. в документации по уведомлениям PagerDuty.

Webhooks

Вы также можете настроить получение уведомлений на сервере Webhook.

  1. Настройте уведомления Webhook в Grafana. Протестируйте настройки, нажав кнопку Send Test (Отправить тестовое уведомление). Если все настроено правильно, вы получите примерно такие полезные данные 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. Нажмите Save (Сохранить), чтобы сохранить настройки. Теперь вы будете получать уведомления от Grafana. Подробные сведения см. в документации по уведомлениям Webhook.