Що встановлено на вашому сервері Healthchecks?
- Healthchecks 5.0 на офіційному образі
- База даних SQLite, тож окремий сервер баз даних не потрібен
- Процеси сповіщень і звітів (sendalerts, sendreports), що працюють усередині контейнера
- Обліковий запис адміністратора; електронна пошта для входу та пароль у вашій панелі
- Реєстрацію закрито, тож ніхто інший не може зареєструватися
- 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 готовий.
- На вкладці «Огляд» натисніть «Відкрити застосунок» і увійдіть із даними з рядків «Електронна пошта» і «Пароль».
- Для сповіщень електронною поштою додайте в compose.yaml параметри на кшталт EMAIL_HOST або натомість підключіть вебхук.
- Створіть перевірку й задайте її період та час очікування.
- Додайте виклик curl на адресу пінгу в кінці свого завдання.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Встановлення не налаштовує вихідну пошту. Healthchecks надсилає сповіщення, звіти й посилання для входу електронною поштою, тож жодне з цього не надійде, доки ви не додасте параметри на кшталт EMAIL_HOST у /opt/seturack/healthchecks/compose.yaml.
- 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 ввімкнені типово й не потребують ключів на сервері. Для пошти потрібні налаштування SMTP. Telegram, Discord і Pushover потребують ключів від цих сервісів, доданих у compose.yaml.
Чим це відрізняється від монітора сайту?
Інструмент на кшталт Uptime Kuma надсилає запити на ваш сайт ззовні. Healthchecks працює навпаки: завдання звертається до нього, коли завершилося, а мовчання запускає сповіщення. Тож він може стежити за резервними копіями та завданнями cron, які не мають публічної адреси.
Чи можна використовувати з Healthchecks власний домен?
Так, але адреси пінгу будуються з адреси сайту, тож підключіть домен до створення перевірок. Вам знадобляться A-запис, налаштування Caddy і SITE_URL, SITE_HOST та SITE_ADI у файлі .env. Якщо змінюєте пізніше, оновіть адреси у своїх завданнях.