Heartbeat и мониторинг cron

Пингуйте SitePuls после выполнения задачи. Если пинг пропал — алерт: бэкапы, импорты и фоновые процессы.

Зачем heartbeat

Cron и фоновые воркеры падают тихо, пока сайт открывается. Сигнал «я отработал» после задачи подтверждает расписание.

Как это устроено

Выдаём уникальный URL; скрипт дергает его curl или HTTP после успеха. Если запроса нет в окне интервал+льгота — монитор DOWN и алерт.

Какие задачи сторожить

Бэкапы, ночные синки, очистки, отчёты, дренаж очередей — всё, что должно происходить по расписанию без ручного контроля.

Алерты

Те же каналы, что и у остальных мониторов; история показывает пропуски.

Что можно проверять в SitePuls на этой странице

  • Heartbeat ждёт HTTPS-пинг после cron, бэкапа или воркера.
  • Пропуск heartbeat в окне ожидания помечает монитор как сбойный.
  • Алерт, если задача по расписанию перестала отчитываться.

Куда уходят оповещения об инцидентах

  • Адреса электронной почты в контактах получают письма при открытии и закрытии инцидентов (в рамках настроек уведомлений).
  • Уведомления в Telegram через бота SitePuls после привязки чата к контакту (включая сценарий /start для ожидающих контактов).
  • HTTPS-вебхуки с JSON: тип события, идентификаторы монитора, статус, время, при необходимости id инцидента и короткое сообщение — для своих интеграций.
  • Режим Slack-compatible incoming webhook: отдельный формат полезной нагрузки в настройках контакта.

Практический гайд по мониторингу

Пример ниже иллюстративный — значения вымышленные, не данные реальных клиентов.

Что мониторить через heartbeat

  • Cron и импорты по расписанию.
  • Бэкапы, которые должны отчитаться об успехе.
  • Фоновые воркеры и потребители очередей.
  • Задачи, где молчание = сбой, даже если сайт «вверху».

Шаги настройки

  • Создайте heartbeat-монитор с окном ожидания пинга.
  • Вызывайте URL heartbeat после успешного завершения задачи.
  • Привяжите контакты для пропущенных heartbeat.
  • Протестируйте, пропустив один запуск в контролируемом окне.

Пример алерта о пропущенном heartbeat

Heartbeat пропущен: nightly-backup не отправил пинг за 30 минут

Без агента

Только исходящий HTTPS из вашей среды — ВМ, контейнеры, serverless при разрешённом исходящем.

С API мониторингом

API проверяет внешний HTTP; heartbeat — что фоновая работа завершилась.

Внутренние задачи

Удобно для процессов без красивого публичного URL — важен факт check-in.

Чек-лист

Создать монитор, скопировать URL, добавить в конец cron, настроить интервал и льготу под длительность, привязать контакты.

Частые вопросы

Что такое heartbeat-мониторинг?

Проверка, что запланированная задача отчитывается вовремя.

Что можно мониторить через heartbeat?

Cron, бэкапы, воркеры, импорты и скрипты по расписанию.

Что если heartbeat пропущен?

SitePuls может алертить команду, что задача перестала выполняться или отчитываться.

Задача иногда дольше интервала?

Увеличьте интервал или льготу под худший случай длительности.

Подходит ли serverless?

Да, если по завершении функция может вызвать HTTPS URL.

Заменяет ли это алерты по логам?

Heartbeat отвечает «была ли задача по расписанию»; логи — «что внутри». Часто нужны оба.

Один URL на несколько задач?

У каждого монитора свой URL — так видно, какой пайплайн пропал.

Нельзя ли запускать задачи параллельно?

Исключение гонок настраивается в планировщике; SitePuls не блокирует задачи между собой.

Узнавайте, когда cron перестаёт отчитываться.

Создать heartbeat-монитор Тарифы