Мониторинг cron-задач через heartbeat
У cron-задачи нет адреса, к которому можно постучаться. Поэтому проверка переворачивается: сигнал подаёт сама задача, а Аптайм следит за тишиной.
Как это работает
- Заведите монитор типа heartbeat и задайте предел ожидания.
- Скопируйте выданный адрес — он секретный, в нём токен.
- Допишите вызов этого адреса в конец задачи, после успешного выполнения.
- Пока сигналы приходят вовремя, монитор зелёный. Пропуск дольше предела — падение.
Пример для crontab
# Бэкап каждую ночь в 3:30; сигнал уходит ТОЛЬКО при успехе
30 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://aptme.ru/api/heartbeat/ВАШ_ТОКЕНОбратите внимание на && вместо ;. С точкой с запятой сигнал уйдёт даже после падения бэкапа, и монитор будет бодро зелёным при сломанных копиях — это худший из возможных исходов.
Выбор предела ожидания
Предел — это интервал задачи плюс запас на её длительность и разброс. Для ночного бэкапа раз в сутки разумно 26–30 часов: разовая задержка не поднимет тревогу, а пропущенный день — поднимет.
Сервис за NAT
Для постоянно работающей службы, к которой нет доступа снаружи, есть тот же приём под именем реверс-мониторинга: служба периодически дёргает выданный вебхук, а Аптайм следит за паузами.
Токен в адресе — это и есть доступ. Не публикуйте heartbeat-адрес в открытом репозитории и в логах сборки; если он утёк, перевыпустите токен кнопкой в карточке монитора.