Нотификации в telegram о падении приложения, через графану

от автора

Это не анонсированная третья часть. Первые две здесь:

1. Подготовка Django приложения для локальной разработки и деплоя

2. Django приложение в докере. Логирование и мониторинг(тоже в докере)

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

Для начала нужно создать telegram-бота, находим бота BotFather и создаем нового бота в нем с помощью команды /newbot, получаем токен вашего бота.

Теперь нужно получить ChatId. Для этого, напишите вашему новому боту сообщение, а затем откройте в браузере(желательно инкогнито, а еще лучше curl-ом) следующий адрес 

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates

Заменив <YOUR_BOT_TOKEN> на токен вашего бота. В ответе вы получите json с информацией о последних сообщениях, отправленных вашему боту. В этом JSON найдите поле chat, которое будет содержать ваш id.

Значение поля id внутри объекта chat — это и есть ваш Chat ID.

Ну, основное позади.

Далее переходим в графану Home -> Alerting -> Contact points 

Там у вас, если еще не было Contact points редактируем единственный существующий.

Вводим любое название и в поле Integration выбираем Telegram.

Там указываем BOT API Token и Chat ID полученные ранее, сохраняем.

Переходим в Alert rules в том же Alerting и создаем новое правило — New alert rule.

Тут мы подразумеваем, что у вас уже есть настроенный на приложение Prometheus, хотя бы из предыдущих шагов.

Итак, в первом поле вводим любое название правила. Ниже в А выбираем Prometheus, в Metric вводим up и в лэйблах выбираем приложение. Далее в B выбираем input A, Function — Min, Mode — Strict. В С(Threshold) выбираем Input — B, ниже IS BELOW — 1.

Можно нажать Preview и убедиться, что правило отрабатывает.

Далее в п.3 можно выбрать папку, куда положить правило и период ожидания.

4 пункт заполняем так же по желанию.

В п.5 указываем произвольные лэйблы для правила. Они по-сути нужны для верного выбора нотификатора.

Ну и последний в статье этап — выбор политик нотификации: переходим в Notification policies там же в Alerting, нажимаем три точки напротив Default policy — Edit и меняем Default contact point на созданную нами на соответствующем этапе. Сохраняем. Все!

Теперь у нас настроены нотификации от бота в телеграмме если метрика up в Prometheus-е упадет ниже 1. 


ссылка на оригинал статьи https://habr.com/ru/articles/845462/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *