Уведомления из Grafana в Линк Чаты

Пошаговое описание настройки уведомлений из Grafana

Описание настройки универсальных вебхуков чат-бота


Для отправки уведомлений от Grafana в МТС Линк чат нужно:

1. Создать чат-бота

2. Создать новый вебхук для входящих уведомлений

3. Настроить отправку уведомления в Grafana

4. Отправить тестовое уведомление


Детальное описание настройки уведомлений в Grafana

В нашем примере будет описана отправка уведомлений об ошибках вебсервера с кодом 500. Но также можно настроить любые другие уведомления, которые поддерживает Grafana.

1 Настройка источника данных (Data Source)

  1. Войдите в Grafana с учетной записью администратора
  2. Перейдите в раздел "Configuration" -> "Data Sources"
  3. Убедитесь, что у вас настроен источник данных, который содержит метрики HTTP-запросов (например, Prometheus)


2 Создание дашборда и панели

  1. Создайте новый дашборд: "Dashboards" -> "New Dashboard"

  2. Добавьте новую панель: нажмите кнопку "Add panel"

  3. Настройте запрос для отслеживания ошибок 500:

    Для Prometheus, запрос может выглядеть примерно так:

    sum(rate(http_requests_total{status="500"}[5m])) > 0

  4. Сохраните панель и дашборд


3 Настройка правила оповещения (Alert Rule)

  1. На созданной панели нажмите "Edit"
  2. Перейдите на вкладку "Alert"
  3. Нажмите "Create Alert"
  4. Настройте условие срабатывания:
    • Name: "HTTP 500 Error Alert"
    • Evaluate every: "1m" (или другой подходящий интервал)
    • For: "0m" (или время, в течение которого условие должно сохраняться)
    • Condition: "WHEN last() OF query(A, 5m, now) IS ABOVE 0"
  5. В разделе "No Data & Error Handling" выберите подходящие настройки (например, "No Data = OK", "Error = OK")
  6. Нажмите "Save" для сохранения правила оповещения


4 Создание канала уведомлений (Notification Channel) для вебхука

  1. Перейдите в "Alerting" -> "Notification channels"
  2. Нажмите "New channel"
  3. Заполните форму :

{  "text": "Ошибка 500 на сервере 1" } 

Если нужны более динамические сообщения, можно использовать переменные Grafana: 

{  "text": "Ошибка 500 на сервере: {{ .Labels.instance }}. Значение: {{ .Value }}" } 


4. Нажмите "Test" для проверки работы вебхука

5. Сохраните настройки канала уведомлений


5 Привязка канала уведомлений к правилу оповещения

  1. Вернитесь к правилу оповещения, которое вы создали на шаге 3
  2. В разделе "Notifications" выберите созданный канал "MTS Link Webhook"
  3. При необходимости настройте дополнительные параметры:
    • Send reminder: если нужны повторные уведомления
    • Disable resolve message: если не нужно отправлять сообщение о восстановлении
  4. Сохраните правило оповещения


6 Проверка работы оповещений

  1. Вызовите принудительно ошибку 500 на вашем сервере или симулируйте ее
  2. Убедитесь, что графики на панели Grafana отображают эту ошибку
  3. Подождите время, указанное в настройках правила оповещения
  4. Проверьте, что вебхук был вызван и сообщение было отправлено в МТС Линк


Если все настроено корректно, то в чате с чат-ботом отобразится сообщение:


Примечания

  • Убедитесь, что у Grafana есть доступ к URL вебхука (https://prod-chat.mts-link.ru/* )
  • Для более сложных сценариев можно использовать расширенные шаблоны в сообщениях
  • Если нужно отправлять разные сообщения для разных серверов, можно использовать метки (labels) из источника данных



👆 На этом пока всё