Настройка Uptime Kuma: мониторинг доступности сервисов под ключ

Когда сервис недоступен, бизнес теряет клиентов и деньги, а команда узнаёт об этом последней. Мы настраиваем Uptime Kuma — бесплатный мониторинг доступности сервисов, который мгновенно оповещает о сбоях в Telegram и других каналах. Наша команда реализует проект под ключ: от развёртывания в Docker до настройки статус-страницы и уведомлений, обеспечивая стабильную работу и последующую поддержку.
Часто задаваемые вопросы

Настройка 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.

Как настроить уведомления?

  1. Зайдите в настройки уведомлений в админ-панели.
  2. Выберите канал: Telegram, Slack, Email, PagerDuty, Webhook и другие.
  3. Укажите параметры (токен, URL, получатели).
  4. Назначьте канал для группы мониторов.
  5. Проверьте тестовым алертом.

Мы рекомендуем настроить минимум два канала: срочный (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

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1543
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1374
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142