Здесь мы поставим на мониторинг одну cron-задачу и проверим, что алерты доходят. Это займёт минут пять.
Понадобятся аккаунт Steadrun, Telegram (можно обойтись почтой) и сервер с curl.
Шаг 1. Зарегистрируйтесь
Зарегистрируйтесь по email или через Яндекс ID. При регистрации по email подтвердите почту по ссылке из письма. Бесплатный тариф даёт 5 проверок, карта не нужна.
Алерты сразу будут приходить на почту, указанную при регистрации. Если Telegram не нужен, переходите к шагу 3.
Шаг 2. Подключите Telegram
Сообщение в Telegram проще заметить, чем письмо, особенно ночью.
- Откройте профиль, блок «Каналы алертов».
- Нажмите «Привязать Telegram», откроется чат с ботом Steadrun.
- Нажмите «Старт» в Telegram. Бот ответит «Аккаунт привязан», а в профиле статус сменится на «Привязан».
Шаг 3. Создайте проверку
Для примера возьмём ночной бэкап базы, который запускается каждый день в 03:00. На странице проверок нажмите «Новый check» и заполните форму:
- Имя — «Бэкап базы». Имя будет в тексте алерта, так что назовите проверку так, чтобы спросонья было понятно, о чём речь.
- Тип — Cron.
- Cron-выражение —
0 3 * * *, как в Вашем crontab. - Grace-период — сколько ждать пинга после времени запуска. Если бэкап обычно идёт минут десять, поставьте 1200 секунд (20 минут). Тогда алерт придёт, только если к 03:20 пинга так и не было.
- Таймзона — часовой пояс, по которому живёт cron на сервере. Чаще всего
Europe/Moscow.
После сохранения откроется карточка проверки с адресом для пингов вида
https://steadrun.ru/ping/ВАШ-UUID. У проверки статус «новый», пингов ещё не было. Но Steadrun уже ждёт
задачу по расписанию: если до 03:20 пинг не придёт, будет алерт. Поэтому подключите задачу (шаг 6) в тот же
день.
Шаг 4. Отправьте первый пинг
Скопируйте адрес из карточки и выполните на сервере:
curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID
Обновите карточку. Статус сменится на «работает», а в ленте событий появится пинг. Следующий пинг Steadrun будет ждать до ближайших 03:20.
Шаг 5. Убедитесь, что алерт приходит
Проверить алерты можно сразу, ночи ждать не нужно. Отправьте сигнал о неудаче, по нему алерт уходит немедленно:
curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID/fail
Через несколько секунд в Telegram и на почту придёт «⚠️ Check «Бэкап базы» молчит», а у проверки будет статус «не отвечает». Теперь снова отправьте обычный пинг:
curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID
Придёт «✅ Check «Бэкап базы» восстановлен». Если оба сообщения дошли, алерты настроены правильно.
Шаг 6. Добавьте пинг в crontab
Откройте crontab командой crontab -e и допишите пинг в конец строки с задачей:
0 3 * * * /home/deploy/backup.sh && curl -fsS -m 10 --retry 3 https://steadrun.ru/ping/ВАШ-UUID > /dev/null
&& значит, что curl выполнится, только если бэкап завершился без ошибки. Если скрипт упадёт, пинга не
будет, и в 03:20 Steadrun пришлёт алерт.
Что делают ключи curl:
-f— если сервер ответил ошибкой (например, 404 из-за опечатки в адресе),curlзавершится с ошибкой и Вы это увидите;-sS— не показывать прогресс, но показывать ошибки;-m 10— ждать ответа не больше 10 секунд, чтобы проблемы с сетью не задерживали задачу;--retry 3— повторить запрос, если сеть ненадолго пропала.
Что дальше
- Остальные задачи подключаются так же. На каждую задачу заводите отдельную проверку. Готовые примеры для systemd, Docker, CI и разных языков — в рецептах.
- Как Steadrun считает время ожидания и когда приходят напоминания — на странице «Как это работает».
- В Laravel не обязательно дописывать
curlк каждой задаче. Пакетsteadrun/laravel-monitorподключает задачи Scheduler одной строкой и заодно следит за очередями. Примеры для Laravel Scheduler, Python и Docker есть в карточке проверки, в блоке «Как подключить». - Сайт и SSL-сертификат Steadrun может проверять сам, без пингов. При создании проверки выберите тип «HTTP» или «SSL-сертификат».