Как оповещать дежурных о сбоях?
Grafana или Zabbix присылают алерт в беседу дежурных в Пачке, и её участникам приходит уведомление. Дежурный ставит под алертом 👀, чтобы коллеги видели, что сбоем уже занимаются, и разбирает его в треде. Когда метрика возвращается в норму, в беседу приходит сообщение о восстановлении. Ниже можно пройти путь дежурного самому.
7 участников · бот Grafana
Дежурные
7 участников · бот Grafana
Зачем получать алерты в рабочем чате
Письма от мониторинга приходят в общий ящик вперемешку с остальной почтой, а алерт в личном Telegram видит только тот, кому он пришёл. Сбой разбирают в личных сообщениях и созвонах, и через неделю уже не восстановить, кто что откатывал. В беседе дежурных алерт видят все, кто на смене, а разбор остаётся в треде под ним.
- Алерт видят все, кто дежурит. Бот пишет в беседу, а не одному человеку. Если дежурный в метро, сбой заметит тот, кто его подстраховывает, а тимлид видит, что происходит на проде, без отдельного отчёта.
- Сразу видно, кто взялся. 👀 под алертом значит «смотрю». Двое не чинят одно и то же, а алерт без реакции сразу бросается в глаза.
- Беседа остаётся лентой алертов. Логи, гипотезы и «откатываю релиз» пишут в тред под сообщением бота, поэтому у каждого сбоя своя ветка. В тред можно позвать разработчика сервиса через @упоминание, даже если его нет в беседе.
- Восстановление приходит туда же. Когда метрика возвращается в норму, система мониторинга сама присылает сообщение. Чтобы понять, что сбой закончился, не нужно держать дашборд открытым.
- Ночью приходят только алерты. Дежурный добавляет беседу в исключения уведомлений. Остальные рабочие чаты молчат до утра, а об алерте приходит уведомление.
- Готова основа для постмортема. Время алерта, первые действия и время восстановления лежат в одном треде. Его можно найти поиском по названию алерта и перенести в разбор инцидента.
Как настроить алерты из Grafana, Zabbix и Prometheus
Grafana, Zabbix и Prometheus Alertmanager умеют отправлять алерты вебхуком, то есть HTTP-запросом на заданный адрес. Такой адрес выдаёт бот в Пачке: всё, что на него приходит, бот публикует сообщением в беседах, куда его добавили. Когда метрика возвращается в норму, система мониторинга присылает ещё один запрос, и в беседе появляется сообщение о восстановлении.
Бота и отправку алертов можно настроить минут за 15 без программиста. Понадобятся доступ к настройкам алертов в системе мониторинга и права администратора или создателя беседы в Пачке.
В Пачке
- 1
Создайте беседу для алертов
Нажмите + рядом с поиском, выберите Беседа и назовите её «Дежурные». Добавьте всех, кто ходит в дежурства, и тимлида. Если у каждой команды свои сервисы, заведите по беседе на команду: так алерт приходит тем, кто может его починить. - 2
Создайте бота
В меню Интеграции выберите Боты, нажмите Создать бота и назовите его, например, «Grafana». Этим именем бот будет подписывать алерты в беседе. - 3
Включите входящий вебхук
На странице бота откройте вкладку Входящий вебхук, нажмите Включить и скопируйте Webhook URL. На этот адрес система мониторинга будет присылать алерты. Как настроить текст алерта шаблоном, рассказываем в справке. - 4
Добавьте бота в беседу
Откройте настройки беседы «Дежурные», нажмите Добавить участников, перейдите на вкладку Интеграции и выберите бота. Он публикует алерты во всех беседах, куда его добавили, поэтому для второй команды удобнее создать отдельного бота.
В системе мониторинга
- 5
Укажите адрес бота в системе мониторинга
В Grafana, Zabbix или Prometheus Alertmanager добавьте отправку алертов через вебхук и вставьте Webhook URL бота. Включите и уведомления о восстановлении, чтобы в беседу приходило сообщение, когда метрика вернётся в норму.
В команде
- 6
Договоритесь о правилах
Дежурный ставит под алертом 👀, когда берёт его, и пишет ход разбора в тред. Когда пришло сообщение о восстановлении и причина понятна, он ставит на алерт ✅. Если сбой не в его зоне, он зовёт в тред разработчика сервиса через @упоминание. Треды в Пачке сквозные, и позвать туда можно даже того, кого нет в беседе. Правила и имя дежурного на неделю удобно писать в беседу сообщением, как в демо выше. - 7
Настройте уведомления у дежурных
Чтобы ночью приходили только алерты, дежурный нажимает на свой профиль, открывает Настройки уведомлений, выключает уведомления во всём приложении и добавляет беседу «Дежурные» в Исключения. Из исключений уведомления приходят, даже когда остальные чаты молчат. Список исключений настраивается в компьютерной версии Пачки.
Чтобы под алертом был виден график из Grafana, как в демо, нужен отдельный бот для превью ссылок. Его настраивает разработчик по нашей инструкции.
Если не работает
- Тест прошёл, а в беседе пусто. На вкладке «Входящий вебхук» у бота нажмите «Показать последний полученный объект». Если запрос там есть, проверьте, что бот добавлен в беседу. Если запроса нет, проверьте адрес в системе мониторинга.
- Сообщение не пришло, хотя запрос есть. Сверьте поля в шаблоне с последним полученным объектом: если шаблон вернул пустую строку, Пачка сообщение не отправляет.
- Сбой приходит, а восстановление нет. Проверьте, что в системе мониторинга включена отправка сообщений о восстановлении.
