Довідка та інструкціїHeartbeat (cron моніторинг) › Що таке heartbeat і коли використовувати

Що таке heartbeat і коли використовувати

3 хв читання · Heartbeat (cron моніторинг)

Стисло: Heartbeat монітор сповістить вас, коли якесь завдання (типово нічний backup, денний sync або інший cron job) перестане виконуватися. Працює навпаки відносно класичного uptime монітора - ви надсилаєте "ping" у бік ePulz.io, а не ми на ваш сервер.

Коли heartbeat корисний

  • Нічні backup-и бази даних - бажаєте знати, якщо вночі backup не вдасться
  • Синхронізація із зовнішнім сервісом - імпорт з CRM, accounting, payment processor
  • Регулярне виставлення рахунків - генерація рахунків, надсилання нагадувань
  • Cleanup завдання - видалення старих session, тимчасових файлів, логів
  • Звіти і статистика - щотижневі/щомісячні звіти
  • Healthcheck фонових 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", інтервал 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 проти Grace

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

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

ЗавданняIntervalGrace
Щогодини60 хв10 хв
Щоденний backup (триває в середньому 20 хв)1440 хв60 хв
Щотижневий звіт10080 хв6 годин
Кожні 5 хвилин worker check5 хв2 хв

Розпочніть

У наступному кроці показуємо точну процедуру як heartbeat монітор створити в дашборді ePulz.io.

Наступний крок:

Створення heartbeat монітора в ePulz.io.

Створити heartbeat монітор →