Prometheus визуально настраивает сигналы тревоги для распределения по разным группам DingTalk.

задняя часть монитор Эксплуатация и обслуживание

Это третий день моего участия в первом испытании обновлений 2022. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г.

предисловие

На самом деле существует множество решений для Prometheus для срабатывания сигналов тревоги DingTalk, и эта статья — лишь одно из них.Если некоторым студентам случится использовать это решение, я надеюсь, что оно поможет.

Это набор инструментов мониторинга и оповещения, которые я сейчас использую:

  1. prometheus: Installation | Prometheus
  2. alert manager: Configuration | Prometheus
  3. prometheus-webhook-dingtalk: GitHub.com/TI Simulation Вонг/Боюсь…

Топология монитора

Prometheus, наконец, отправляет информацию о тревоге в группу DingTalk.

Что касается этой схемы мониторинга и оповещения, в отрасли должны быть некоторые студенты, которые все еще используют ее, потому что я сначала узнал об этой схеме в Интернете, а позже внес целенаправленные улучшения в свои собственные бизнес-сценарии и применил ее на практике.

Предупреждать разных ботов

После того, как webhook-dingtalk получает информацию о тревоге, отправленную alert-manager, он украшает ее (в основном я использую ее для украшения тревоги и преобразования ее в формат уценки), а затем передает тревогу роботу DingTalk.

Я также писал ранее статью о том, как раздавать оповещения разным ботам:Аварийные сигналы конфигурации Prometheus распределяются по разным группам DingTalk!

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

Например, я сделал аларм RocketMQ, но в разных проектах используются разные группы потребителей, и человек, ответственный за проект, заботится только о аларме незавершенного потребления группы потребителей, которую они используют, и является лицом, ответственным за эту платформу сообщений. , но я хочу получать всю информацию о тревогах в моей группе тревог. Кроме того, есть много групп потребителей и много соответствующих групп проектов.Разные аварийные сигналы должны быть отправлены в разные группы проектов, что очень хлопотно.

решение

Порекомендуйте инструмент для вас:webhook-dingtalk-dispatcher

Вы можете настроить, какие сигналы тревоги будут уведомлены для каких роботов DingTalk.

следующим образом:

В приведенном выше примере я настроил 3 правила оповещения.

  1. Если информация о тревоге содержит какое-либо из настроенных ключевых слов, соответствующий робот получит сигнал тревоги.
  2. Если информация о тревоге содержит все настроенные ключевые слова, соответствующий робот получит сигнал тревоги.
  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 аварийное сообщение, и проверить правильность конфигурации.

Наконец, нажмите «Отправить».