Для каждой проверки Steadrun знает, к какому времени должен прийти следующий пинг. Если к этому времени пинга нет, проверка получает статус «не отвечает», и Вам приходит алерт.
Когда Steadrun ждёт пинг
Время ожидания зависит от типа проверки.
Cron. Steadrun находит по cron-выражению ближайший запуск после последнего пинга и прибавляет к нему
grace-период. Допустим, выражение 0 3 * * *, grace-период 20 минут, а пинг пришёл в 03:12. Следующий запуск
будет завтра в 03:00, значит, пинг Steadrun ждёт до 03:20.
Очередь или воркер (heartbeat). Вместо расписания здесь интервал. Если воркер пингует раз в минуту, а grace-период 2 минуты, то после каждого пинга Steadrun ждёт следующий не дольше трёх минут.
Ждать Steadrun начинает сразу после создания проверки. Если проверку создали, а задачу так и не подключили, алерт придёт в первый же раз, когда задача должна была отработать.
Grace-период
Это запас времени на случай, если задача выполняется дольше обычного или стартует с задержкой. Пинг отправляется в конце задачи, поэтому grace-период должен быть больше, чем задача обычно работает. Если бэкап идёт 10 минут, ставьте хотя бы 20. С маленьким запасом будут ложные алерты, а с огромным Вы позже узнаете о настоящей поломке.
Часовой пояс
Cron-выражение Steadrun читает в часовом поясе, который указан в проверке. Он должен совпадать с часовым
поясом сервера, где работает cron. Посмотреть его можно командой date или timedatectl.
Статусы проверки
| Статус | Что значит |
|---|---|
| новый | Пингов ещё не было. Steadrun уже ждёт первый по расписанию |
| работает | Последний пинг пришёл вовремя |
| не отвечает | Пинг не пришёл к сроку или задача сообщила об ошибке |
| на паузе | Алерты и напоминания выключены, пока Вы не возобновите проверку |
Статус «не отвечает» бывает в двух случаях. Либо к сроку не пришло ни одного пинга, либо задача сама
отправила пинг на адрес /fail и так сообщила, что упала. Во втором случае алерт уходит сразу, не дожидаясь
конца grace-периода. Подробнее про адреса написано на странице о пингах.
Когда придёт алерт
Steadrun проверяет сроки раз в минуту. Поэтому алерт о тишине приходит в течение минуты после того, как истёк grace-период.
Если бэкап из примера выше ночью не отработает, события пойдут так:
| Время | Что происходит |
|---|---|
| 03:00 | Задача должна запуститься. Пинга нет, но grace-период ещё идёт |
| 03:20 | Grace-период закончился |
| 03:21 | Steadrun замечает тишину, статус «не отвечает», приходит «⚠️ Check «Бэкап базы» молчит» |
| 04:25 | Первое напоминание, если задача так и не отработала |
| 09:40 | Вы починили скрипт и запустили бэкап вручную. Пинг пришёл, статус «работает», приходит «✅ Check «Бэкап базы» восстановлен» |
Алерт приходит на почту владельцу аккаунта, а если привязан Telegram, то и туда. Если в аккаунте есть
команда, алерт получают и участники, которые не выключили у себя уведомления. В алерте есть время последнего
пинга. Если задача отправила текст ошибки на /fail, он тоже будет в алерте.
Пока проверка в статусе «не отвечает», повторных алертов о падении нет, приходят только напоминания.
Напоминания
Если проверка лежит долго, Steadrun раз в час присылает «🔁 Check «Бэкап базы» по-прежнему молчит». Напоминаний не больше 24, то есть они идут сутки. Потом Steadrun молчит до восстановления.
Чтобы напоминания прекратились раньше, почините задачу или поставьте проверку на паузу.
Пауза
Пауза нужна, когда Вы знаете, что задача какое-то время работать не будет. Например, на сервере идут плановые работы или переезд, или выгрузку отключили на неделю. Поставить проверку на паузу можно кнопкой «Пауза» в её карточке или через API, если у Вас тариф «Команда».
Что происходит на паузе:
- алертов о тишине и напоминаний нет;
- сайты и SSL-сертификаты Steadrun на паузе не проверяет;
- если от задачи пришёл пинг, пауза снимается сама, и Steadrun снова следит за задачей. Исключение — когда работающих проверок уже столько, сколько позволяет тариф: тогда пинг сохранится, но пауза останется.
Кнопка «Возобновить» возвращает проверку в статус «новый». Время ожидания Steadrun считает заново, от момента возобновления, поэтому за время паузы алерт не придёт. Проверки на паузе не входят в лимит тарифа, поэтому возобновить проверку получится, только если в лимите есть место.
Когда платный тариф заканчивается, проверки сверх лимита Free встают на паузу сами. Подробнее на странице о тарифах.
Сайты и SSL-сертификаты
Сайты и сертификаты Steadrun проверяет сам, пинги для них не нужны. Интервал задаёте Вы: для сайта не меньше минуты, для сертификата не меньше часа.
Один неудачный запрос ещё не значит, что сайт упал. Бывают таймауты и сетевые сбои по дороге. Поэтому в проверке есть порог, сколько неудач подряд нужно для алерта, по умолчанию 3. Восстановление засчитывается с первого успешного ответа.
С сертификатом иначе. Если он истёк, не прошёл проверку или скоро истекает, алерт приходит сразу, без порога. Порог действует, только когда сервер с сертификатом не отвечает.
Что именно проверяется и какие значения ставить, рассказано на странице о типах проверок.
Что дальше
- Типы проверок: когда какой выбирать и как заполнить форму.
- Пинги: адреса
/startи/fail, текст ошибки в алерте, время выполнения задачи. - Рецепты: готовые примеры для crontab, systemd, Docker, CI и разных языков.