Heartbeat-мониторы — теперь алерты приходят и в MAX
Если в инфраструктуре есть cron-задачи, скрипты бэкапа, очереди фоновых воркеров, ночные ETL-процессы — рано или поздно встаёт вопрос: «как узнать, что процесс перестал запускаться?». Логи показывают только то, что отработало; молчание никто не присылает. Эту нишу закрывает heartbeat-мониторинг Tracker.ru. Скрипт пингает специальный URL после успешной работы; если за положенное время пинг не пришёл — Tracker присылает алерт.
Раньше эти алерты приходили только в Telegram и на email. С обновлением мы добавили мессенджер MAX как полноценный канал и для heartbeat-уведомлений. Теперь у вас есть третий независимый путь, по которому придёт сообщение о пропущенной cron-задаче — в дополнение к почте и Telegram.
Что именно приходит в MAX
В чате с ботом появляются два типа сообщений по heartbeat-монитору.
Heartbeat пропущен. Когда монитор не получил очередной пинг в ожидаемый интервал — приходит сообщение «💔 Heartbeat пропущен!» с названием монитора, временем последнего успешного пинга и тем, какой период ожидался. Этого достаточно, чтобы понять — какая именно задача замолчала и пора смотреть, что с ней.
Heartbeat восстановлен. Когда пинг снова начал приходить (задача починилась и отработала) — приходит сообщение «💚 Heartbeat восстановлен!» с названием монитора и временем простоя — сколько именно процесс не пинговал. Удобно для ситуаций, когда процесс падает и поднимается, а вы хотите понимать, что к утру всё вернулось в норму без вашего участия.
Сообщения короткие, по делу. За деталями — графиком пингов, токеном, настройками, списком получателей — открываете монитор в списке heartbeat-мониторов в кабинете.
Как включить MAX-уведомления у heartbeat-монитора
Нужны три шага.
- Подключите MAX. Если этого ещё не сделано — откройте настройки уведомлений, найдите раздел MAX и пройдите быструю привязку. Бот пришлёт код подтверждения, вы вводите его в чат — связка сделана.
- Включите MAX в настройках heartbeat-монитора. На странице создания или редактирования монитора в разделе «Уведомления» появился переключатель «MAX» рядом с уже привычными «Telegram» и «Email». Можно оставить только один из каналов или включить несколько параллельно.
- Сохраните. При следующем срабатывании события «пинг не пришёл» или «пинг вернулся» — сообщение придёт в MAX вместе с другими каналами, на которые вы подписались.
Никаких отдельных платных опций для этого включать не нужно: переключатель доступен в самой форме монитора.
Кому полезны heartbeat-алерты в MAX
Несколько типичных сценариев, где MAX оказывается удобным каналом для heartbeat-алертов.
Бэкапы базы данных. Скрипт бэкапа отрабатывает каждую ночь в 3:00 и отправляет успешный пинг в Tracker. Если ночью не получилось — утром в MAX вместо тишины приходит «💔 Heartbeat пропущен!» до того, как вы откроете рабочую почту. Это даёт час форы на восстановление до того, как кто-то заметит, что бэкапа за вчера нет.
Фоновые воркеры очередей. Воркер, который раз в минуту разгребает очередь задач, пингает heartbeat по своему успешному циклу. Если он залип, упал или просто не запустился после деплоя — пинг перестанет приходить, и в течение примерно минуты в MAX придёт уведомление. Классический мониторинг доступности здесь не помогает: воркер не имеет HTTP-интерфейса. Heartbeat — самый прямой способ ловить тишину.
Cron-джобы для ETL и отчётов. Утренний ETL-процесс должен закончиться к 9:00, чтобы аналитики увидели свежие цифры. Если процесс упал среди ночи и пинг не пришёл — в MAX придёт алерт сразу после 9:00, и команда успеет до планёрки понять, что данных за вчерашний день не будет.
Скрипты на машинах сотрудников. Иногда heartbeat ставят на скрипт, который раз в час проверяет VPN, синхронизирует данные или сверяет резервную копию папки на удалённый сервер. Если скрипт перестал работать (ноут перезагрузили, кончилось место, отвалилась сеть) — алерт в MAX приходит мгновенно.
Зачем MAX параллельно с Telegram и email
Telegram и почта уже присылают heartbeat-алерты — зачем дублировать. Несколько причин, почему стоит включить именно MAX рядом с ними.
Независимый путь доставки. MAX — российский мессенджер, отдельная платформа, отдельные серверы. Если в моменте что-то идёт не так с Telegram (блокировка, перебои, рестарт клиента, забыли логин на новом устройстве) или с почтой (письма ушли в спам, забит ящик) — алерт всё равно прилетит в MAX. Для критичных процессов, где пропускать событие нельзя, дублирующие каналы — обычная практика.
Корпоративный контур. В части компаний внутренние коммуникации перешли на MAX, а Telegram остался личным. Heartbeat-алерты по бэкапам или прод-ETL логичнее держать в рабочем мессенджере, где открыт чат команды.
Полный паритет с Telegram. Если вы подключали MAX раньше и оставались на Telegram «потому что только там приходили скриншоты» — теперь и скриншоты приходят в MAX, и heartbeat. Можно переключиться на «MAX-only», если так удобнее.
Что увидите в кабинете
После включения MAX в форме heartbeat-монитора отметка о MAX в разделе «Уведомления» появится наравне с Telegram и Email. В журнале уведомлений каждое отправленное сообщение фиксируется отдельной записью — видны статус доставки, время и текст.
Если по какой-то причине сообщение не дошло — это будет видно в журнале по статусу доставки, и привязку MAX можно перевыпустить заново через настройки уведомлений.
См. также
- Heartbeat-мониторинг — лендинг — что это, в каких сценариях нужен, как отличается от классического URL-мониторинга.
- Документация по heartbeat — формат пинга, периодичность, токен, примеры подключения.
- Heartbeat для cron-задач — практический разбор: как обернуть cron-команду в пинг к Tracker.
- Подключение MAX — пошагово, как привязать чат и проверить доставку.
- MAX-уведомления — лендинг — обзор канала: какие события поддерживаются, чем отличается от Telegram.
- Скриншоты в MAX — соседняя статья: как diff и recovery-скриншоты теперь приходят в MAX.
- Управление монитором из уведомления — общая логика: как из любого канала одним тапом перейти в кабинет.
Если у вас уже есть heartbeat-мониторы — откройте любой из них в списке и добавьте MAX в каналы уведомлений. Если ещё нет — создайте первый, его обычно можно настроить за пять минут: задаёте интервал, копируете URL пинга, вставляете в свою cron-команду после успешного завершения работы.