Начать
Документация

Статусы и жизненный цикл чека

У heartbeat-чека пять статусов. Понимание переходов между ними объясняет, когда именно придёт алерт — и почему иногда он (правильно) не приходит.

Статус Что означает Алерты
newчек создан, ни одного пинга ещё не былонет
upпинги приходят вовремясобытие up при восстановлении
lateдедлайн пропущен, идёт grace-периодсобытие late (если включено)
downgrace истёк либо задача явно сообщила о провалесобытие down + напоминания
pausedмониторинг выключен вручнуюнет

Почему new не алертит

Чек в статусе new не отслеживается планировщиком: дедлайна у него ещё нет — он появится только с первым пингом. Поэтому можно заранее создать чеки под будущие задачи (или раскатать конфигурацию деплоем): пока код не запушен и не пингует, ложных down не будет. Первый успешный пинг переводит чек в up и назначает первый дедлайн.

Дедлайн: period и cron

Дедлайн — момент, когда должен прийти следующий пинг. Считается от фактического времени последнего пинга:

Grace

Grace — допуск после дедлайна, страховка от дрожания расписания и долгих запусков: cron редко срабатывает секунда в секунду. В момент дедлайна чек становится late («опаздывает, но ещё не авария»), и только через grace_sec секунд — down:

up ──(дедлайн)──▶ late ──(+ grace)──▶ down
 ▲                                      │
 └────────── любой успешный пинг ◀──────┘

Grace задаётся на чек: от 0 до 30 дней. Переходы по времени выполняет планировщик с точностью до минуты.

Мгновенный down

Явный сигнал провала минует grace: пинг на /<uuid>/fail или с ненулевым кодом выхода (/<uuid>/42) флипает чек в down сразу — задача сама сообщила, что упала, ждать нечего.

Восстановление, пауза и сброс

Пауза, возобновление, удаление и назначение тегов работают и массово — отметьте чеки чекбоксами в списке. Со страницы чека доступны клонирование (конфигурация без истории) и перенос в другой проект аккаунта.

Статусы видны на дашборде, в API и на публичных бейджах; у HTTP-чеков вместо тайминга пингов работают K-подтверждения.