Steadrun следит за cron-задачами, очередями, сайтами и SSL-сертификатами. Задача не отработала вовремя или сайт перестал отвечать — в ту же минуту придёт сообщение в Telegram и на почту. Подключение — обычный HTTP-запрос из любого стека.
Один HTTP-запрос в конце задачи — из любого языка и планировщика.
*/5 * * * * your-command && curl -fsS https://steadrun.ru/ping/{uuid} || curl -fsS https://steadrun.ru/ping/{uuid}/fail
$ composer require steadrun/laravel-monitor
// routes/console.php
Schedule::command('backup:run')
->dailyAt('03:00')
->pingSteadrun('{uuid}');
import requests
try:
your_command()
requests.get("https://steadrun.ru/ping/{uuid}", timeout=10)
except Exception as e:
requests.post("https://steadrun.ru/ping/{uuid}/fail", data=str(e), timeout=10)
raise
# entrypoint.sh
#!/bin/sh
set -e
your-command
curl -fsS https://steadrun.ru/ping/{uuid}
Успех — обычный пинг, ошибка — /fail: алерт придёт сразу, не дожидаясь конца grace-периода.
Пакет сам отправит /start, успех или /fail, а Steadrun посчитает время выполнения.
Текст исключения уйдёт на /fail и придёт прямо в алерте.
Один curl в конце entrypoint — без изменений в самом образе.
Пакет для Laravel следит и за очередью, и за самим планировщиком. Код писать не нужно, хватит переменных в .env.
# .env
STEADRUN_QUEUE_UUID=… # упал job — алерт с классом и трейсом
STEADRUN_WORKER_HEARTBEAT_UUID=… # воркер жив, даже когда очередь пустая
STEADRUN_QUEUE_PROBE_UUID=… # очередь не отстаёт: проверочный job раз в 5 минут
STEADRUN_CRON_UUID=… # сам schedule:run запускается
Работает с любым драйвером очереди — database, Valkey/Redis, SQS. Не Laravel? Heartbeat — тот же HTTP-пинг из цикла воркера.
Здесь пинги не нужны: Steadrun сам открывает сайт и проверяет сертификат.
Сайт отвечает и показывает то, что нужно
Steadrun открывает страницу с интервалом от одной минуты и сверяет код ответа. Ключевое слово ловит случай, когда хостинг отдаёт заглушку с кодом 200. Алерт приходит после нескольких неудач подряд, так что разовый таймаут не разбудит Вас ночью.
Ожидался код 200, получен 503
Сертификат не истечёт внезапно
Предупреждение придёт за 14 дней до окончания срока, число дней можно поменять. Если сертификат уже истёк, самоподписанный или выдан для другого домена, алерт придёт сразу.
Сертификат истекает 2026-11-01 (осталось дней: 13)
Статус, история пингов, success rate и время выполнения p50/p95 — в карточке проверки. Текст последней ошибки там же, и он же приходит в алерте.
Когда что-то сломалось, клиенты видят это на странице, а не пишут в поддержку.
На тарифах «Старт» и «Команда».
Когда проектов и людей становится больше одного.
Команда до 5 человек
Роли «участник» и «только чтение». Алерты приходят каждому в его Telegram и на почту.
API
Создавайте проверки и меняйте статус компонентов статус-страницы из своих скриптов.
Пауза на время работ
Кнопкой в карточке или из скрипта деплоя через API. Первый же пинг снимет паузу сам.
Бейдж для README
SVG-картинка со статусом проверки для GitHub, GitLab, вики или дашборда.
Команда и API — на тарифе «Команда». Пауза и бейджи — на любом.
Классический dead man's switch: тишина — это и есть сигнал.
Задача пингует уникальный URL при каждом запуске
Steadrun ждёт следующий пинг в пределах grace-периода
Пинг не пришёл вовремя — проверка помечается down
Алерт летит в Telegram и на почту в течение минуты
Технически — можно. Вопрос в том, кто последит за наблюдателем.
Не Zabbix и не Prometheus
Ничего не разворачиваете и не администрируете ради одного виджета «жив / не жив» — просто добавляете HTTP-пинг в задачу.
Не Uptime Kuma на своём сервере
Self-hosted вариант — это тоже свой сервер, обновления и бэкапы данных. Steadrun — готовый облачный сервис, администрировать нечего.
Не самописный cron + curl + telegram-notify
У самодельного наблюдателя нет своего наблюдателя: если скрипт молча упадёт сам, узнать об этом будет неоткуда.
Данные — в России
Продакшен-сервер и база данных — на российском хостинге, как того требует 152-ФЗ о локализации персональных данных.
Telegram-бот — основной канал уведомлений, email — дублирующий. Никаких обязательных email-дайджестов раз в сутки.
billing — daily-report
Проверка не отвечает 12 минут.
Последний пинг: сегодня в 06:00.
Без скрытых условий. Оплата картой РФ через ЮKassa, рубли — без международных платежей. Нужен чек или акт для бухгалтерии (ИП, ООО, самозанятые) — оформим при каждой оплате.
Одиночный разработчик, пробный вход
Соло-разработчик или маленький проект
Команда, несколько проектов
5 проверок, Telegram и email алерты, история пингов 7 дней — бесплатно, без карты.
Начать бесплатноСначала хотите разобраться? Документация и руководства
Для входа и защиты форм сайту нужны технические cookie. Если Вы согласны, на страницах сайта (кроме личного кабинета) включится Яндекс Метрика: по ней мы смотрим, какие страницы читают. Подробнее — политика cookie.