Описание настройки универсальных вебхуков чат-бота
Для отправки уведомлений от Grafana в МТС Линк чат нужно:
1. Создать чат-бота
2. Создать новый вебхук для входящих уведомлений
3. Настроить отправку уведомления в Grafana
4. Отправить тестовое уведомление
Детальное описание настройки уведомлений в Grafana
В нашем примере будет описана отправка уведомлений об ошибках вебсервера с кодом 500. Но также можно настроить любые другие уведомления, которые поддерживает Grafana.
1 Настройка источника данных (Data Source)
- Войдите в Grafana с учетной записью администратора
- Перейдите в раздел "Configuration" -> "Data Sources"
- Убедитесь, что у вас настроен источник данных, который содержит метрики HTTP-запросов (например, Prometheus)
2 Создание дашборда и панели
Создайте новый дашборд: "Dashboards" -> "New Dashboard"
Добавьте новую панель: нажмите кнопку "Add panel"
Настройте запрос для отслеживания ошибок 500:
Для Prometheus, запрос может выглядеть примерно так:
sum(rate(http_requests_total{status="500"}[5m])) > 0
Сохраните панель и дашборд
3 Настройка правила оповещения (Alert Rule)
- На созданной панели нажмите "Edit"
- Перейдите на вкладку "Alert"
- Нажмите "Create Alert"
- Настройте условие срабатывания:
- Name: "HTTP 500 Error Alert"
- Evaluate every: "1m" (или другой подходящий интервал)
- For: "0m" (или время, в течение которого условие должно сохраняться)
- Condition: "WHEN last() OF query(A, 5m, now) IS ABOVE 0"
- В разделе "No Data & Error Handling" выберите подходящие настройки (например, "No Data = OK", "Error = OK")
- Нажмите "Save" для сохранения правила оповещения
4 Создание канала уведомлений (Notification Channel) для вебхука
- Перейдите в "Alerting" -> "Notification channels"
- Нажмите "New channel"
- Заполните форму :
- Name: "MTS Link Webhook"
- Type: "webhook"
- URL: https://chat.mts-link.ru/application/webhook/11111111 (подставить свой вебхук, как получить адрес вебхука Линк Чатов)
- HTTP Method: "POST"
- Content type: "application/json"
- В разделе "Message" укажите следующий шаблон
{ "text": "Ошибка 500 на сервере 1" }
Если нужны более динамические сообщения, можно использовать переменные Grafana:
{ "text": "Ошибка 500 на сервере: {{ .Labels.instance }}. Значение: {{ .Value }}" }
4. Нажмите "Test" для проверки работы вебхука
5. Сохраните настройки канала уведомлений
5 Привязка канала уведомлений к правилу оповещения
- Вернитесь к правилу оповещения, которое вы создали на шаге 3
- В разделе "Notifications" выберите созданный канал "MTS Link Webhook"
- При необходимости настройте дополнительные параметры:
- Send reminder: если нужны повторные уведомления
- Disable resolve message: если не нужно отправлять сообщение о восстановлении
- Сохраните правило оповещения
6 Проверка работы оповещений
- Вызовите принудительно ошибку 500 на вашем сервере или симулируйте ее
- Убедитесь, что графики на панели Grafana отображают эту ошибку
- Подождите время, указанное в настройках правила оповещения
- Проверьте, что вебхук был вызван и сообщение было отправлено в МТС Линк
Если все настроено корректно, то в чате с чат-ботом отобразится сообщение:

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