Что установлено на вашем сервере Healthchecks?
- Healthchecks 5.0 на официальном образе
- База данных SQLite, отдельный сервер базы данных не нужен
- Процессы оповещений и отчётов (sendalerts, sendreports) работают внутри контейнера
- Аккаунт администратора; email для входа и пароль есть в панели
- Регистрация закрыта, поэтому больше никто не сможет зарегистрироваться
- HTTPS через Caddy на адресе sslip.io, построенном по вашему IP
- Брандмауэр, в котором открыты только порты 22, 80 и 443
Какой размер нужен для Healthchecks?
В документации Healthchecks цифры по RAM нет. Ориентир такой: хорошим началом будет 1 ГБ, потому что приложение в основном отвечает на запросы пинга и в фоне рассылает оповещения. Если нужно сэкономить память, в документации указывают на параметр GUNICORN_WORKERS. Присмотритесь к 2 ГБ по мере роста числа проверок и истории пингов. По умолчанию для каждой проверки хранятся последние 100 пингов, а в одном аккаунте может быть до 10 000 проверок.
| Применение | Размер | Цена | Выбрать |
|---|---|---|---|
| Несколько человек | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/мес. | |
| Небольшая команда | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/мес. | |
| Компания | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/мес. |
Кому подходит?
- Администраторам, которым нужно подтверждение, что вчерашний бэкап действительно выполнился
- Разработчикам, которым нужно следить за заданиями cron и плановыми задачами
- Агентствам, которые следят за заданиями в нескольких проектах
- Всем, кто не хочет держать данные о мониторинге заданий у внешней службы
Что будет после заказа?
- Задайте размер и оплатите заказ.
- Сервер запускается, и Healthchecks устанавливается сам. Всё готово, когда в строке «Приложение» в панели появится «Healthchecks готов».
- На вкладке «Обзор» нажмите «Открыть приложение» и войдите с данными из строк «Email» и «Пароль».
- Для оповещений по email добавьте в compose.yaml настройки вроде EMAIL_HOST или подключите вместо этого вебхук.
- Создайте проверку и задайте её период и допустимую задержку.
- Добавьте вызов curl к адресу пинга в конец своего задания.
С каждым сервером
- Ежедневные бэкапы входят в цену
- Безлимитный трафик
- Полный root-доступ
- Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
- Расположение: Istanbul · IST-1.
Полезно знать
- Установка не настраивает исходящую почту. Healthchecks отправляет оповещения, отчёты и ссылки для входа по email, поэтому ничего из этого не уйдёт, пока вы не добавите в /opt/seturack/healthchecks/compose.yaml настройки вроде EMAIL_HOST.
- Telegram, Discord, Pushover и Matrix требуют дополнительных ключей на сервере. Вебхуки работают без них.
- Если Healthchecks остановится, оповещения тоже прекратятся. Для важных заданий держите этот сервер отдельно от серверов, за которыми следите.
- Относитесь к адресам пинга как к секретам. Любой, у кого он есть, может отметить это задание как успешное.
- Интерфейс только на английском.
- Установка использует SQLite. Проект называет базовыми компонентами для самостоятельного размещения PostgreSQL или MySQL, поэтому если у вас много проверок с частыми пингами, планируйте переход на другую базу данных.
Healthchecks: вопросы и ответы
Сколько RAM нужно Healthchecks?
В документации Healthchecks цифры по RAM нет. Ориентир такой: хорошим началом будет 1 ГБ, а 2 ГБ подойдут при растущем числе проверок и большей истории пингов. Если не хватит, вы увеличите сервер в панели.
Как работает Healthchecks?
У каждой проверки есть свой адрес пинга, ожидаемый период и допустимая задержка. Ваше задание обращается к адресу по завершении. Если обращение опаздывает и допустимая задержка истекает, проверка переходит в состояние «не работает» и рассылаются оповещения.
Как добавить Healthchecks в задание cron?
Скопируйте адрес пинга проверки и добавьте его в строку crontab так: /root/backup.sh && curl -fsS -m 10 --retry 5 -o /dev/null PING_ADDRESS. Если бэкап не удался, пинг не уходит, и по истечении времени вы получаете оповещение.
Может ли задание сообщить, что оно не удалось?
Да. Добавьте к адресу пинга /fail, чтобы сразу сообщить о сбое, /start, чтобы отметить начало запуска, или код завершения. Так при ошибке задания вам не придётся ждать конца отведённого времени.
Какие каналы оповещений поддерживает Healthchecks?
Вебхуки, Slack, Microsoft Teams и PagerDuty включены по умолчанию и не требуют ключей на сервере. Для email нужны настройки SMTP. Для Telegram, Discord и Pushover нужны ключи от этих служб, добавленные в compose.yaml.
Чем это отличается от монитора сайтов?
Инструмент вроде Uptime Kuma обращается к вашему сайту снаружи. Healthchecks работает наоборот: задание само сообщает о завершении, а тишина запускает оповещение. Поэтому он может следить за бэкапами и заданиями cron, у которых нет публичного адреса.
Можно ли использовать с Healthchecks свой домен?
Да, но адреса пинга строятся из адреса сайта, поэтому подключите домен до создания проверок. Понадобятся A-запись, настройки Caddy и значения SITE_URL, SITE_HOST и SITE_ADI в файле .env. Если вы измените его позже, обновите адреса в своих заданиях.