Чем больше становится систем, с которыми ты работаешь, тем сильнее беспокоишься о том, чтобы нигде и ничего не сломалось. А если и сломалось, то реакция мангуста и очумелые ручки должны успеть всё оперативно исправить. Недавно я задумался о поиске удобной и простой системы мониторинга. Большинство существующих решений слишком громоздкие и требуют значительных временных затрат на изучение. Сегодня мы с вами рассмотрим очень простую и легкую в освоении систему мониторинга доступности сайтов и серверов под названием Uptime Kuma.

Что нужно для работы?

  1. Сервер с root-доступом.
  2. Доменное имя (подойдёт бесплатный поддомен).
  3. Установленные Docker и Docker-Compose.
  4. Настроенный Nginx Proxy Manager (или другой прокси).
  5. 10–20 минут свободного времени.

О системе Uptime Kuma

Основные преимущества:

  • Открытый код (Open Source): всё бесплатно 🙂
  • Простота интерфейса: настройка проверки ресурсов через ping, HTTP-запросы, или TCP/UDP (например, SSH).
  • Графическое отображение данных: результат мониторинга представлен в удобных графиках с временными метками.
  • Уведомления: 28 способов оповещения, включая Telegram, email, Discord и другие.

Дополнительные функции:

  • Доступ к сервису с возможностью подключить 2FA из «коробки»
  • Возможность создать публичную страницу мониторинга.
  • Гибкая настройка уведомлений для разных событий.

Подготовка к установке

Создаём директории для хранения данных:

sudo mkdir -p /app/uptime-kuma/data
sudo chown -R $USER:$USER /app/uptime-kuma

Настройка Docker-Compose

Переходим в папку:

cd /app/uptime-kuma

Создаём файл docker-compose.yml:

nano docker-compose.yml

Добавляем в него следующий конфиг:

services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- 3001:3001
volumes:
- ./data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
security_opt:
- no-new-privileges:true

Если вы используете Nginx Proxy Manager и не хотите светить порты наружу.
Добавьте директиву networks в конфиг и закомментируйте порты. Подробней в статье про NPM.

#Добавьте в docker-compose.yml
networks:
default:
external: true
name: venom

Запускаем контейнер:

sudo docker compose up -d

Переходим в браузер и видим, что наш сервис Uptime Kuma запустился и работает!
Он попросит нас создать первого пользователя.

На момент написания статьи доступен образ louislam/uptime-kuma:1 первой версии.
Но уже вышла Uptime KUMA beta v.2 которая скоро перекочует в стабильную.

После ввода данных заходим и смотрим, что у нас получилось:

Если вы, как и я, решили выбрать русский язык, то увидите прекрасно русифицированный понятный web-интерфейс.


Использование домена/поддомена

Для удобства можно прикрепить домен с SSL-сертификатом (например, от Let’s Encrypt), что бы понять как это сделать, не светя порты наружу, прочитайте мою статью для настройки Nginx Proxy Manager.


Настройка мониторинга через веб-интерфейс

  1. Открываем браузер и переходим по адресу http://<IP-адрес>:3001 или если вы настроили домен, прокси и добавили SSL-сертификат переходим на https://example.com
  2. Создаём учётную запись администратора.
  3. Добавляем ресурсы для мониторинга:
    • Тип мониторинга: HTTP(S), ping, TCP/UDP.
    • Интервал проверки: задаётся в секундах (например, 600 секунд для проверки каждые 10 минут).
    • Уведомления: настройка алертов для Telegram, email или других каналов.

Мониторинг Docker-контейнеров

Настройка:

  1. Проверьте в вашем docker-compose.yml наличие мапинга томов:
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  2. Если его нет — добавьте и перезапустите контейнер:sudo docker compose down && sudo docker compose up -d
  3. В Uptime KUMA нажмите Новый монитор и выберите тип монитора Docker контейнер

В той же вкладке, нажмите + в разделе Хост Docker и добавьте наш локальный Docker Hosts и настройте мониторинг какого-то контейнера.


Итог

Uptime Kuma — это лёгкое и удобное решение для мониторинга с гибкими настройками и множеством функций. Благодаря простоте настройки, системе уведомлений и интуитивному интерфейсу, эта система отлично подойдёт как для профессионалов, так и для новичков.

Полезные ссылки:

Категории:

Контейнеры,