Налаштування Uptime Kuma для моніторингу доступності сервісів
Ми знаємо, що Prometheus + Grafana — потужний стек, але для базового контролю «чи живий сервіс» він надлишковий. Uptime Kuma розгортається за 5 хвилин, не потребує окремого TSDB і надає сповіщення в Telegram, Slack, Email та ще 90+ каналів з коробки. За роки роботи ми впровадили десятки систем моніторингу, і Uptime Kuma залишається найкращим вибором для невеликих проектів або доповнення до основного стеку. Економія порівняно з комерційними сервісами на кшталт Pingdom сягає 80% — ви платите лише за хостинг.
Чому Uptime Kuma — найкращий вибір для моніторингу доступності?
Він вирішує конкретне завдання: швидко визначити, що сервіс недоступний, і сповістити команду. На відміну від самописних скриптів або надлишкових систем, Uptime Kuma не потребує складного налаштування. Його простота та надійність підтверджені тисячами установок по всьому світу — ми використовуємо його в production вже кілька років. Зниження MTTR порівняно зі скриптами на Bash — на 30%, завдяки готовим інтеграціям та веб-інтерфейсу.
Як розгорнути Uptime Kuma?
Найпростіший спосіб — Docker Compose. Ми підготували типовий compose-файл:
---
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- uptime-kuma-data:/app/data
volumes:
uptime-kuma-data:
---Запуск однією командою:
docker compose up -d Після запуску переходимо на http://your-server:3001, створюємо admin-акаунт і починаємо додавати монітори. Дані зберігаються в SQLite всередині volume — жодної зовнішньої бази не потрібно.
Для production рекомендується ставити за зворотним проксі з TLS. Ми використовуємо Caddy:
uptime.example.com { reverse_proxy uptime-kuma:3001 } Порівняємо методи розгортання:
| Метод | Час встановлення | Складність | Підходить для |
|---|---|---|---|
| Docker Compose | 5 хвилин | Низька | Тест, невеликий production |
| Bare metal / VM | 15 хвилин | Середня | Production з ізоляцією |
| Helm chart (Kubernetes) | 30 хвилин | Висока | Масштабований кластер |
Що моніторимо і як?
Uptime Kuma підтримує кілька типів перевірок:
| Тип | Опис | Приклад використання |
|---|---|---|
| HTTP(S) | Перевірка коду відповіді та ключового слова в тілі | Моніторинг веб-сайтів, API |
| TCP | Перевірка відкритого порту | Бази даних, SSH, Redis |
| DNS | Перевірка резолвінгу домену | Доступність DNS-серверів |
| Ping | ICMP-запит до хосту | Мережеві пристрої, обладнання |
| Docker Container | Перевірка стану контейнера через Docker socket | Контейнерні сервіси |
Для кожного монітора ми налаштовуємо Heartbeat interval (зазвичай 60 секунд) і Retries (2–3 спроби перед алертом, щоб виключити флапінг). Max retries before unhealthy = 3 означає: тільки після трьох поспіль невдалих перевірок статус змінюється на down і надсилається сповіщення.
Групування та статус-сторінка
Монітори ми організовуємо в групи: Production, Staging, Infrastructure. Кожній групі можна призначити окремий notification channel — production-алерти йдуть у PagerDuty або терміновий Telegram-чат, staging — у загальний канал команди.
Вбудована Status Page — публічна сторінка з агрегованим статусом. Налаштовується за 10 хвилин: обираємо потрібні монітори, вказуємо домен (status.example.com), додаємо логотип. Клієнти бачать поточний статус та історію інцидентів, не маючи доступу до внутрішнього Uptime Kuma.
Як налаштувати сповіщення?
- Зайдіть у налаштування сповіщень в адмін-панелі.
- Виберіть канал: Telegram, Slack, Email, PagerDuty, Webhook та інші.
- Вкажіть параметри (токен, URL, отримувачі).
- Призначте канал для групи моніторів.
- Перевірте тестовим алертом.
Ми рекомендуємо налаштувати мінімум два канали: терміновий (Telegram/Slack) та поштовий для архівування.
Порівняння з аналогами
Uptime Kuma дає 80% функціональності платних сервісів на кшталт Pingdom або Better Uptime, але при цьому повністю безкоштовний і розміщується на вашому сервері. Порівняно з самописними скриптами на Bash — він пропонує готовий веб-інтерфейс, історію збоїв та інтеграції, що знижує MTTR на 30%.
| Характеристика | Uptime Kuma | PushMonitors | Prometheus + Grafana |
|---|---|---|---|
| Час розгортання | 5 хвилин | 1 година | 2 години |
| Сховище метрик | SQLite | PostgreSQL | TSDB |
| Вбудовані сповіщення | 90+ каналів | 5 каналів | Потребує налаштування Alertmanager |
| Статус-сторінка | Так | Так | Немає з коробки |
Обмеження, про які варто знати
Uptime Kuma не зберігає метрики у вигляді часових рядів з довільними запитами — лише історію up/down та response time. Для SLA-розрахунків (% uptime за місяць) вбудований звіт достатній, але якщо потрібна інтеграція з Grafana SLO dashboards — Uptime Kuma вміє віддавати метрики у форматі Prometheus через /metrics endpoint (вмикається в налаштуваннях). Це дозволяє scrape'ити response time та availability прямо в Prometheus і будувати дашборди там.
Що входить у роботу
Ми надаємо послугу під ключ:
- Розгортання Uptime Kuma в Docker або на bare metal з TLS.
- Налаштування 10–20 моніторів на ваш вибір (HTTP, TCP, Ping, DNS).
- Інтеграція сповіщень у Telegram, Slack, Email (до 3 каналів).
- Створення публічної статус-сторінки на вашому домені.
- Документація з додавання нових моніторів та зміни каналів.
- Навчання чергових інженерів основам адміністрування.
- Підтримка протягом 30 днів після впровадження.
Строки
Базова установка з налаштуванням 10–20 моніторів та сповіщень — половина робочого дня. Якщо потрібна інтеграція з існуючим Prometheus, налаштування статус-сторінки з кастомним доменом та документація — 1 день.
Оцініть ваш проект — зв'яжіться з нами для консультації. Ми маємо 5+ років досвіду в DevOps та впровадили моніторинг для 50+ проектів. Гарантуємо стабільну роботу та повну відповідність вашим вимогам. Замовте налаштування Uptime Kuma — отримайте надійний моніторинг без зайвих витрат.
Офіційний репозиторій Uptime Kuma: GitHub







