Healthchecks.io: Работаетhealthchecks.io

Альтернатива Healthchecks.io на русском

Мониторинг cron-задач по пингу с открытым кодом. Работает.

Чем является Healthchecks.io

Healthchecks.io следит за тем, что ваши задачи отработали, но сам их не запускает. Скрипт в конце работы дёргает уникальный URL; если пинг не пришёл в срок - приходит алерт. Есть отдельный сигнал о начале работы, так что видно и длительность выполнения.

Код открыт под лицензией BSD, сервис можно развернуть на своём сервере. Тарифы: Hobbyist бесплатно (до 20 проверок и до 3 участников), Business 20 $ в месяц (до 100 проверок), Business Plus 80 $ в месяц (до 1000 проверок).

Текущее состояние

Сервис работает и активно развивается. Это зрелый продукт с большим набором готовых интеграций - Slack, PagerDuty, Telegram и другие.

Healthchecks.io и CronBox: соответствие возможностей

ВозможностьHealthchecks.ioCronBox
Heartbeat-мониторингДа, основная функцияДа, с интервалом или cron-расписанием и запасом времени
Отдельный сигнал о начале работыДаДа, мониторы процессов с пингом начала и конца
Запуск HTTP-запросов по расписаниюНет, сервис не выполняет ваши задачиДа: cron-задачи, отложенные задачи и цепочки
Проверка SSL-сертификатов, ICMP, TCPНетДа
ИнтеграцииМного готовых: Slack, PagerDuty, Telegram и другиеEmail, Telegram, MAX, webhook
Участники командыДа, начиная с бесплатного тарифаНет, рабочее пространство принадлежит одному владельцу
Установка на свой серверДа, открытый код под BSDНет, только облако
ОплатаВ долларахРоссийские карты и СБП через ЮKassa, для юрлиц - счёт и закрывающие документы
Где хранятся данныеЗа пределами РоссииРоссия

Лимиты CronBox - число задач, мониторов, доступные каналы и минимальный интервал - зависят от тарифа. Актуальные значения на странице тарифов.

Как перенести мониторы из Healthchecks.io

  1. 1

    Выпишите проверки

    Для каждой проверки нужны имя, период и grace period - то есть насколько задача может опоздать, прежде чем это станет проблемой. Эти же значения переносятся в CronBox один в один.

  2. 2

    Получите токен API

    Задачи можно завести руками в панели управления, но при переносе десятка расписаний быстрее работать через API. Токен выдаётся по логину и паролю и живёт 15 минут.

    curl -X POST https://api.cronbox.ru/v1/auth/login \
      -H "Content-Type: application/json" \
      -d '{"email": "you@example.com", "password": "..."}'
  3. 3

    Перенесите мониторы и замените ping-URL

    Создайте heartbeat-монитор с той же периодичностью и запасом времени, получите его токен и подставьте новый URL в конец скрипта вместо старого.

    curl -X POST https://api.cronbox.ru/v1/workspaces/WORKSPACE_ID/heartbeats \
      -H "Authorization: Bearer YOUR_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"name": "backup-daily", "schedule_type": "interval", "expected_interval": "24h", "grace_period": "30m"}'
    
    # в скрипте:
    curl -fsS https://api.cronbox.ru/ping/PING_TOKEN
  4. 4

    Решите, что делать с задачами без своего сервера

    Если часть задач вы держали на сервере только ради cron, их можно не переносить, а превратить в cron-задачи CronBox: сервис сам сходит на ваш эндпоинт по расписанию, и отдельный монитор для них уже не нужен.

  5. 5

    Настройте каналы уведомлений

    Email, Telegram, MAX и webhook настраиваются на уровне рабочего пространства. Telegram и MAX подключаются по одноразовому коду через бота. Набор доступных каналов зависит от тарифа.

  6. 6

    Проверьте первые запуски

    Раздел «Выполнения» показывает код ответа, тело и длительность каждого запроса. Задачу можно запустить вручную, не дожидаясь расписания, - так проще убедиться, что заголовки и авторизация переехали правильно.

Массового импорта у нас нет - переносить задачи придётся скриптом по API или руками. Полное описание эндпоинтов - в документации.

Чего у CronBox нет

Список честный: если что-то из этого критично, лучше узнать сейчас, а не после переноса.

  • Участников команды и ролей нет: рабочее пространство принадлежит одному владельцу. Несколько пространств - это способ разделить проекты, а не выдать доступ коллегам.
  • Входа через OAuth и SSO нет: email с паролем или вход по одноразовому коду на почту.
  • Открытого кода и версии для установки на свой сервер нет.
  • Готовых интеграций со Slack, PagerDuty и Discord нет - есть исходящий webhook, который можно направить куда угодно.
  • Массового импорта задач нет: перенос идёт через API или руками.
  • Мобильных приложений и консольной утилиты нет.
  • Готовых интеграций уровня Healthchecks.io у нас нет: список каналов ограничен четырьмя.

Короткий вывод

Healthchecks.io - честный и зрелый продукт с открытым кодом: если нужен только heartbeat-мониторинг, а английский интерфейс и оплата в долларах не мешают, он полностью закрывает задачу и его можно поставить у себя. CronBox стоит смотреть, если кроме мониторинга нужен сам запуск задач, проверки SSL и портов, алерты в Telegram или MAX и российское юрлицо с закрывающими документами. Участников команды и self-hosted версии у нас нет - это выбор не в нашу пользу.

Другие сравнения