Настройка Slack для Alerting
Используйте интеграцию Grafana Alerting — Slack, чтобы отправлять уведомления Slack при срабатывании ваших оповещений.
Есть два способа интеграции Slack в Grafana Alerting.
-
Использовать Slack API token
Включите доступ вашего приложения к Slack API. Например, если вам нужен более детальный контроль над разрешениями или ожидается регулярное масштабирование вашего проекта, приводящее к созданию новых каналов, это лучший вариант.
-
Использовать Webhook URL
Webhooks — более простой способ публиковать сообщения в Slack. Slack автоматически создаёт бота-пользователя со всеми необходимыми разрешениями на публикацию сообщений в одном выбранном канале.
Обратите внимание, что для одной точки контакта можно настроить только один канал Slack.
Вы можете настроить title и body сообщения Slack с помощью
шаблонов уведомлений; однако вы не можете изменить его внешний вид с помощью пользовательских блоков. Доступны дополнительные необязательные настройки для настройки внешнего вида бота, упоминаний и форматирования сообщений. Дополнительные сведения см. в разделе Необязательные настройки.
Перед началом
Slack API Token
Если вы используете Slack API Token, выполните следующие шаги.
-
Следуйте шагу 1 из Slack API Quickstart, чтобы создать приложение.
-
Перейдите ко второму шагу Slack API Quickstart и добавьте область chat:write.public, как описано, чтобы дать вашему приложению возможность публиковать во всех публичных каналах без присоединения.
-
В OAuth Tokens for Your Workspace скопируйте Bot User OAuth Token.
-
Откройте ваше рабочее пространство Slack.
-
Щёлкните правой кнопкой мыши канал, в котором хотите получать уведомления.
-
Нажмите View channel details.
-
Прокрутите вниз и скопируйте Channel ID.
Обратите внимание, что при выполнении этих шагов Slack может предложить вам переустановить ваше приложение, чтобы изменения вступили в силу.
Webhook URL
Если вы используете Webhook URL, выполните следующие шаги.
- Следуйте разделу Creating an app из Slack API Quickstart, чтобы создать приложение.
- Следуйте разделу Create an incoming webhook из руководства Slack Incoming Webhooks, чтобы включить входящие webhooks для вашего приложения и создать webhook для вашего рабочего пространства.
- Скопируйте Webhook URL, начинающийся с
https://hooks.slack.com/services/. Он нужен вам при настройке интеграции точки контакта в Grafana Alerting.
Процедура
Чтобы создать вашу интеграцию Slack в Grafana Alerting, выполните следующие шаги.
-
Перейдите в Alerts & IRM -> Alerting -> Notification configuration, затем выберите вкладку Contact points.
-
Нажмите + Add contact point.
-
Введите имя точки контакта.
-
В списке Integration выберите Slack.
-
Если вы используете Slack API token:
- В поле Recipient вставьте channel ID.
- В поле Token вставьте Bot User OAuth Token, начинающийся с “xoxb-”.
-
Если вы используете Webhook URL, в поле Webhook вставьте Webhook URL вашего приложения Slack.
-
Нажмите Test, чтобы проверить работу вашей интеграции.
Только для Grafana Alertmanager.
-
Нажмите Save contact point.
Необязательные настройки
Вы можете настроить дополнительные параметры для настройки ваших уведомлений Slack помимо обязательных полей.
Настройка внешнего вида бота
Вы можете настроить то, как бот отображается в каналах Slack:
Настройка упоминаний
Вы можете автоматически упоминать пользователей, группы или весь канал при отправке уведомлений:
Настройка содержимого сообщения
Вы можете настроить уведомительное сообщение с помощью шаблонов уведомлений:
Расширенная конфигурация
Для специализированных сред вы можете переопределить конечную точку Slack API по умолчанию:
Дальнейшие шаги
Точка контакта Slack готова принимать уведомления об оповещениях.
Чтобы добавить эту точку контакта к вашему оповещению, выполните следующие шаги.
- В Grafana перейдите в Alerting > Alert rules.
- Отредактируйте или создайте новое правило оповещения.
- Прокрутите вниз до раздела Configure labels and notifications.
- В разделе Notifications нажмите Select contact point.
- В выпадающем меню выберите ранее созданную точку контакта.
- Нажмите Save rule and exit.