Это третий день моего участия в первом испытании обновлений 2022. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г.
предисловие
На самом деле существует множество решений для Prometheus для срабатывания сигналов тревоги DingTalk, и эта статья — лишь одно из них.Если некоторым студентам случится использовать это решение, я надеюсь, что оно поможет.
Это набор инструментов мониторинга и оповещения, которые я сейчас использую:
- prometheus: Installation | Prometheus
- alert manager: Configuration | Prometheus
- prometheus-webhook-dingtalk: GitHub.com/TI Simulation Вонг/Боюсь…
Топология монитора
Prometheus, наконец, отправляет информацию о тревоге в группу DingTalk.
Что касается этой схемы мониторинга и оповещения, в отрасли должны быть некоторые студенты, которые все еще используют ее, потому что я сначала узнал об этой схеме в Интернете, а позже внес целенаправленные улучшения в свои собственные бизнес-сценарии и применил ее на практике.
Предупреждать разных ботов
После того, как webhook-dingtalk получает информацию о тревоге, отправленную alert-manager, он украшает ее (в основном я использую ее для украшения тревоги и преобразования ее в формат уценки), а затем передает тревогу роботу DingTalk.
Я также писал ранее статью о том, как раздавать оповещения разным ботам:Аварийные сигналы конфигурации Prometheus распределяются по разным группам DingTalk!
Но в этом месте есть хлопотное место, эти конфигурации прописаны в конфигурационном файле, конечно, могут загружаться в горячем режиме, но раздавать разную тревожную информацию по разным роботам крайне неудобно.
Например, я сделал аларм RocketMQ, но в разных проектах используются разные группы потребителей, и человек, ответственный за проект, заботится только о аларме незавершенного потребления группы потребителей, которую они используют, и является лицом, ответственным за эту платформу сообщений. , но я хочу получать всю информацию о тревогах в моей группе тревог. Кроме того, есть много групп потребителей и много соответствующих групп проектов.Разные аварийные сигналы должны быть отправлены в разные группы проектов, что очень хлопотно.
решение
Порекомендуйте инструмент для вас:webhook-dingtalk-dispatcher
Вы можете настроить, какие сигналы тревоги будут уведомлены для каких роботов DingTalk.
следующим образом:
В приведенном выше примере я настроил 3 правила оповещения.
- Если информация о тревоге содержит какое-либо из настроенных ключевых слов, соответствующий робот получит сигнал тревоги.
- Если информация о тревоге содержит все настроенные ключевые слова, соответствующий робот получит сигнал тревоги.
- Все оповещения, отправленные этим роботом, будут получены
Новая топология оповещения
После добавления webhook-dingtalk-dispatcher новая топология тревог выглядит следующим образом:
Это кажется довольно сложным.На самом деле, webhook-dingtalk-dispatcher можно оптимизировать, а также поддерживает украшение тревожной информации, так что webhook-dingtalk можно заменить, но в настоящее время он не поддерживается.
использование webhook-dingtalk-dispatcher
скачать
ссылка на скачивание:GitHub.com/tiny76379515…
развертывать
1. Загрузите установочный пакет и разархивируйте его.
2. Файл конфигурации: config/application.yml, если вам нужно изменить информацию о порте или токене, вы можете изменить это здесь или нет по умолчанию.
3. Старт/Стоп
# 启动
sh bin/start.sh
# 停止
sh bin/shutdown.sh
4. Настройте prometheus-webhook-dingtalk и измените файл конфигурации prometheus-webhook-dingtalk: config.yml
Обратите внимание, что файл конфигурации prometheus-webhook-dingtalk изменяется, а не файл конфигурации этого webhook-dingtalk-dispatcher.
Изначально это место было адресом робота DingTalk, а теперь его можно изменить на адрес webhook-dingtalk-dispatcher, пример такой:
targets:
webhook:
url: http://localhost:7006/dispatcher?access_token=1234567890
Обратите внимание, что следует параметр access_token. Значение этого access_token настраивается в файле конфигурации webhook-dingtalk-dispatcher. По умолчанию 1234567890.
тестовое задание
Настройка завершена, так же запущен webhook-dingtalk-dispatcher Доступ в браузере:http://localhost:7006
Затем нажмите кнопку «Добавить», чтобы добавить конфигурацию сигнализации робота:
После настройки вы также можете щелкнуть тестовое соединение, чтобы увидеть, получил ли робот DingTalk аварийное сообщение, и проверить правильность конфигурации.
Наконец, нажмите «Отправить».