Справка и руководстваHeartbeat (cron мониторинг) › Что такое heartbeat и когда использовать

Что такое heartbeat и когда использовать

3 мин чтения · Heartbeat (cron мониторинг)

Кратко: Heartbeat-монитор уведомит вас, когда какая-то задача (обычно ночной backup, ежедневный sync или другой cron job) перестанет работать. Работает наоборот, чем классический uptime-монитор - вы отправляете "ping" в сторону ePulz.io, а не мы на ваш сервер.

Когда heartbeat полезен

  • Ночные backups базы данных - хотите знать, если ночью backup не удался
  • Синхронизация с внешним сервисом - импорт из CRM, accounting, payment processor
  • Регулярное выставление счетов - генерация счетов, отправка напоминаний
  • Cleanup-задачи - удаление старых session, временных файлов, логов
  • Отчёты и статистика - еженедельные/ежемесячные отчёты
  • Healthcheck background workers - Celery, Sidekiq, BullMQ

Как это работает

  1. В ePulz.io создаёте heartbeat-монитор с ожидаемым интервалом (например, каждый час, каждую ночь в 3:00 и т. д.)
  2. Получаете уникальный heartbeat URL - выглядит как https://epulz.io/heartbeat/abc123xyz
  3. Этот URL добавляете в конец своего cron-скрипта / задачи
  4. Когда задача успешно завершится, "пингует" этот URL
  5. Если ping не придёт в ожидаемое время (+ grace-период), ePulz.io вас уведомит

Практический пример

Представим себе ночной backup базы данных, который работает каждый день в 3:00 утра и длится ~5 минут:

  1. Создаёте heartbeat-монитор с названием "Ночной DB backup", interval 1440 минут (24 часа), grace 15 минут
  2. В backup-скрипт добавляете: после успешного backup вызовите heartbeat URL
  3. Каждый день после 3:05 ePulz.io ожидает ping. Если не придёт до 3:15 (interval + grace), отправит вам оповещение
Ключевой принцип: Heartbeat URL вызываете только после успешного завершения задачи. Если скрипт не удался, ping не пройдёт, ePulz.io узнает об этом и уведомит вас. Нет ping = сбой.

Interval vs Grace

  • Interval - как часто должен приходить heartbeat (например, каждый час = 60 минут)
  • Grace - толерантность, сколько ждать после ожидаемого времени, прежде чем запустить оповещение

Практические значения:

ЗадачаIntervalGrace
Каждый час60 мин10 мин
Ежедневный backup (в среднем 20 мин длится)1440 мин60 мин
Еженедельный отчёт10080 мин6 часов
Каждые 5 минут worker check5 мин2 мин

Начните

В следующем шаге показываем точную процедуру, как создать heartbeat-монитор в dashboard ePulz.io.

Следующий шаг:

Создание heartbeat-монитора в ePulz.io.

Создать heartbeat-монитор →