Хабы: DevOps, Django
Это не анонсированная третья часть. Первые две здесь:
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.
Читать далее