В Steadrun четыре типа проверок. В первых двух задача сама сообщает пингом, что отработала. Два других Steadrun выполняет сам, открывая сайт или проверяя сертификат.
| Тип | Для чего | Кто отправляет сигнал |
|---|---|---|
| Cron | Задачи по расписанию: бэкапы, выгрузки, рассылки | Задача, пингом в конце работы |
| Очередь / воркер (heartbeat) | Процессы, которые работают постоянно: воркеры очередей, демоны | Процесс, пингом раз в N секунд |
| HTTP | Сайты, API, страницы /health |
Steadrun сам открывает адрес |
| SSL-сертификат | Срок действия и корректность сертификата | Steadrun сам проверяет сертификат |
У всех типов есть имя и часовой пояс. Имя попадает в текст алерта, поэтому пишите его так, чтобы ночью было сразу понятно, что сломалось. «Бэкап базы магазина» поймёте спросонья, «backup-2» вряд ли.
Cron
Подходит для всего, что запускается по расписанию. Это может быть crontab, systemd timer, Laravel Scheduler, Kubernetes CronJob или CI.
- Cron-выражение — то же, что в Вашем crontab:
0 3 * * *(каждый день в 03:00),*/15 * * * *(каждые 15 минут),0 9 * * 1(по понедельникам в 09:00). Пять полей: минута, час, день месяца, месяц, день недели. - Grace-период — сколько секунд ждать пинг после времени запуска. Ставьте больше, чем задача обычно работает. Если задача идёт 10 минут, ставьте хотя бы 1200 секунд (20 минут). По умолчанию в форме 60 секунд, этого хватает только для быстрых задач.
- Часовой пояс — тот, в котором работает cron на сервере. Проверьте командой
date.
Очередь / воркер (heartbeat)
Для процессов без расписания, которые работают постоянно. Это воркер очереди, демон или бесконечный цикл обработки. Процесс пингует сам, например раз в минуту, а Steadrun следит, чтобы пинги не прекращались.
- Ожидаемый интервал между пингами — как часто процесс отправляет пинг. Можно указать в секундах, минутах, часах или днях.
- Grace-период — запас сверх интервала. Если воркер выполняет долгие задания и между ними не пингует, запас должен быть больше самого долгого задания.
Тот же тип подходит для задач, у которых нет точного расписания, но есть частота. Скажем, синхронизация должна проходить хотя бы раз в 6 часов. Укажите интервал 6 часов, и Steadrun пришлёт алерт, если за 6 часов плюс grace-период пинга не было.
В Laravel пакет steadrun/laravel-monitor сам отправляет heartbeat из воркера, подробнее на странице
о Laravel.
HTTP
Steadrun открывает адрес с заданным интервалом и проверяет ответ. Пинги не нужны.
- URL — адрес страницы, например главная магазина или
https://example.com/health. - Ожидаемый код ответа — по умолчанию 200. Редиректы Steadrun проходит (до пяти подряд) и сравнивает код конечной страницы.
- Ключевое слово (необязательно) — текст, который должен быть на странице. Помогает поймать случай, когда сервер отвечает 200, но вместо сайта показывает заглушку или ошибку. Например, для магазина можно указать «Корзина». Регистр букв важен. Страница для поиска слова должна быть не больше 2 МБ.
- Интервал опроса — не меньше минуты.
- Неудач подряд до алерта — от 1 до 10, по умолчанию 3. Одиночный таймаут бывает и у здорового сайта, порог защищает от ложных алертов. 1 — алерт с первой же неудачи.
Steadrun ждёт соединения 5 секунд, а весь ответ 10 секунд. Если сайт не уложился, это неудача. В алерте будет причина, например «Ожидался код 200, получен 503» или текст сетевой ошибки.
Запросы приходят с таким User-Agent:
Steadrun-Monitor/1.0 (+https://steadrun.ru/bot)
Если сайт закрыт защитой от ботов, добавьте его в исключения. Подробнее о боте рассказано на странице /bot.
SSL-сертификат
Steadrun подключается к домену по порту 443 и проверяет, что сертификат действителен, выдан для этого домена и не скоро истекает.
- Домен — только имя, без
https://и пути, напримерexample.com. - Алерт за сколько дней до истечения — от 1 до 90, по умолчанию 14. Двух недель обычно хватает, чтобы разобраться, почему не сработало автопродление.
- Интервал проверки — не меньше часа, обычно хватает раза в сутки.
- Неудач подряд до алерта — действует только на случай, когда сервер не отвечает.
Когда алерт приходит сразу, без порога:
- сертификат истёк;
- сертификат не прошёл проверку: самоподписанный, выдан для другого домена, неполная цепочка;
- до окончания осталось меньше дней, чем указано в проверке.
В алерте будет «Check «…» требует внимания (SSL)» и причина, например «Сертификат истекает 2026-11-01 (осталось дней: 13)».
Что дальше
- Как это работает: когда именно придёт алерт, напоминания и пауза.
- Пинги: какие адреса есть у проверки и что можно отправить вместе с пингом.
- Рецепты: как подключить cron-задачу или воркер на Вашем стеке.