February 28, 2025

Полное руководство по настройке мониторинга на Ubuntu-сервере 

В этом руководстве описана полная настройка системы мониторинга на сервере Ubuntu, включая Netdata для системного мониторинга и Uptime Kuma для проверки доступности сервисов.

Содержание

  1. Подготовка сервера
  2. Установка и настройка Netdata
  3. Установка и настройка Uptime Kuma
  4. Настройка мониторинга сервисов
  5. Настройка уведомлений
  6. Настройка доменов для мониторинга
  7. Распространенные проблемы и их решения

1. Подготовка сервера

Базовая настройка и обновление системы

# Подключение к серверу
ssh пользователь@ip-адрес

# Обновление системы
sudo apt update
sudo apt upgrade -y

# Установка необходимых утилит
sudo apt install -y curl wget gnupg2 software-properties-common apt-transport-https ca-certificates ufw

Настройка файрвола (UFW)

# Проверка статуса UFW
sudo ufw status

# Если UFW неактивен, включите его с базовыми правилами
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

# Проверьте статус после включения
sudo ufw status

2. Установка и настройка Netdata

Установка Netdata

# Установка Netdata с помощью скрипта автоматической установки
bash <(curl -Ss https://get.netdata.cloud/kickstart.sh)

# После установки проверьте статус службы
systemctl status netdata

Настройка доступа к Netdata

# Разрешить внешний доступ к Netdata (порт 19999)
sudo ufw allow 19999/tcp
sudo ufw reload

# Настройка Netdata для прослушивания на всех интерфейсах
echo -e "[web]\n    bind to = *" | sudo tee /etc/netdata/netdata.conf

# Перезапуск Netdata
sudo systemctl restart netdata

Проверка доступа

Откройте в браузере адрес http://ваш-ip-сервера:19999/

3. Установка и настройка Uptime Kuma

Установка Docker (если не установлен)

# Установка Docker
sudo apt install -y docker.io

# Запуск и включение автозапуска Docker
sudo systemctl start docker
sudo systemctl enable docker

Установка Uptime Kuma

# Запуск Uptime Kuma в Docker
sudo docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:latest

# Открытие порта 3001 в файрволе
sudo ufw allow 3001/tcp
sudo ufw reload

Проверка установки

Откройте в браузере адрес http://ваш-ip-сервера:3001/ и настройте учетную запись администратора.

4. Настройка мониторинга сервисов

Добавление монитора HTTP/HTTPS

  1. В Uptime Kuma нажмите кнопку "Добавить новый монитор"
  2. Выберите тип "HTTP(s)"
  3. Укажите:
    • Понятное имя для монитора (например, "Веб-сайт")
    • URL для мониторинга (например, https://ваш-домен.com)
    • Интервал проверки (рекомендуется 60 секунд)
  4. Нажмите "Сохранить"

Добавление монитора TCP порта

  1. Нажмите "Добавить новый монитор"
  2. Выберите тип "TCP Port"
  3. Укажите:
    • Имя (например, "SSH")
    • Хост (IP-адрес или доменное имя)
    • Порт (например, 22 для SSH)
    • Интервал проверки
  4. Нажмите "Сохранить"

Добавление монитора с проверкой содержимого

Для сервисов, которые требуют проверки не только доступности, но и содержимого страницы:

  1. Нажмите "Добавить новый монитор"
  2. Выберите тип "HTTP(s) - Слово"
  3. Укажите:
    • Имя монитора
    • URL
    • Ключевое слово, которое должно присутствовать на странице
  4. Нажмите "Сохранить"

Настройка приемлемых статус-кодов

Для мониторинга сервисов, которые могут возвращать разные статус-коды:

  1. В настройках монитора найдите раздел "Дополнительно"
  2. В поле "Приемлемые коды состояния" укажите допустимые коды (например, 200, 301, 302, 307, 403)
  3. Нажмите "Сохранить"

5. Настройка уведомлений

Настройка Telegram уведомлений

  1. В Telegram создайте бота через @BotFather и получите токен
  2. Создайте группу и добавьте бота
  3. Отправьте сообщение в группу
  4. Получите идентификатор чата через URL: https://api.telegram.org/bot{ваш_токен}/getUpdates
  5. В Uptime Kuma перейдите в "Настройки" -> "Уведомления"
  6. Выберите "Telegram"
  7. Укажите имя, токен бота и ID чата
  8. Сохраните и протестируйте уведомление

Настройка Email уведомлений

  1. В Uptime Kuma перейдите в "Настройки" -> "Уведомления"
  2. Выберите "Email"
  3. Укажите настройки SMTP-сервера и адрес получателя
  4. Сохраните и протестируйте уведомление

6. Настройка доменов для мониторинга

Настройка Netdata через CloudPanel

  1. В CloudPanel создайте новый сайт (например, netdata.ваш-домен.com)
  2. В настройках сайта перейдите на вкладку "Reverse Proxy"
  3. Укажите:
    • Тип: HTTP
    • URL: http://ваш-ip-сервера:19999
  4. Сохраните настройки
  5. Перейдите на вкладку "SSL/TLS"
  6. Запросите SSL-сертификат Let's Encrypt
    • ВАЖНО: Перед запросом сертификата отключите проксирование в Cloudflare (серое облако)
  7. После получения сертификата можно включить проксирование Cloudflare обратно

Настройка Uptime Kuma через CloudPanel

Аналогично можно настроить домен для Uptime Kuma, используя порт 3001.

7. Распространенные проблемы и их решения

Проблема: Netdata недоступен извне

Решение:

  1. Проверьте открыт ли порт: sudo ufw status | grep 19999
  2. Проверьте настройку прослушивания: grep "bind to" /etc/netdata/netdata.conf
  3. Перезапустите Netdata: sudo systemctl restart netdata
  4. Проверьте, запущен ли Netdata: sudo systemctl status netdata

Проблема: Неправильные статус-коды в Uptime Kuma

Решение:

  1. Настройте приемлемые статус-коды в разделе "Дополнительно"
  2. Для админ-панелей используйте тип монитора "HTTP(s) - Слово" и указывайте ключевое слово

Проблема: Ошибка SSL в CloudPanel

Решение:

  1. Отключите проксирование Cloudflare перед запросом сертификата
  2. После получения сертификата можно включить проксирование обратно
  3. Убедитесь, что в Reverse Proxy указан правильный протокол (HTTP или HTTPS)

Проблема: Docker не запускается автоматически

Решение:

  1. Проверьте статус Docker: sudo systemctl status docker
  2. Включите автозапуск: sudo systemctl enable docker
  3. Убедитесь, что контейнеры настроены с параметром --restart=always
  4. Обновите настройки перезапуска: sudo docker update --restart=always имя_контейнера

Проблема: Сервер требует перезагрузки

Решение:

  1. Перед перезагрузкой проверьте, что все сервисы настроены на автозапуск
  2. Проверьте Docker контейнеры: docker ps -a
  3. Обновите политику перезапуска для контейнеров: docker update --restart=always имя_контейнера
  4. Выполните перезагрузку: sudo reboot

Дополнительные советы

  1. Регулярно проверяйте мониторинг - просматривайте панель Netdata, чтобы привыкнуть к "нормальным" показателям вашего сервера
  2. Настройте резервное копирование данных Uptime Kuma и Netdata
  3. Периодически обновляйте Netdata и Uptime Kuma для получения новых функций и исправлений безопасности
  4. Документируйте настройки - сохраняйте все важные конфигурации и изменения

Следуя этой инструкции, вы сможете успешно настроить комплексную систему мониторинга на вашем Ubuntu-сервере, которая будет отслеживать как внутренние метрики сервера, так и доступность внешних сервисов.