Полное руководство по настройке мониторинга на Ubuntu-сервере
В этом руководстве описана полная настройка системы мониторинга на сервере Ubuntu, включая Netdata для системного мониторинга и Uptime Kuma для проверки доступности сервисов.
Содержание
- Подготовка сервера
- Установка и настройка Netdata
- Установка и настройка Uptime Kuma
- Настройка мониторинга сервисов
- Настройка уведомлений
- Настройка доменов для мониторинга
- Распространенные проблемы и их решения
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
- В Uptime Kuma нажмите кнопку "Добавить новый монитор"
- Выберите тип "HTTP(s)"
- Укажите:
- Понятное имя для монитора (например, "Веб-сайт")
- URL для мониторинга (например, https://ваш-домен.com)
- Интервал проверки (рекомендуется 60 секунд)
- Нажмите "Сохранить"
Добавление монитора TCP порта
Добавление монитора с проверкой содержимого
Для сервисов, которые требуют проверки не только доступности, но и содержимого страницы:
Настройка приемлемых статус-кодов
Для мониторинга сервисов, которые могут возвращать разные статус-коды:
- В настройках монитора найдите раздел "Дополнительно"
- В поле "Приемлемые коды состояния" укажите допустимые коды (например, 200, 301, 302, 307, 403)
- Нажмите "Сохранить"
5. Настройка уведомлений
Настройка Telegram уведомлений
- В Telegram создайте бота через @BotFather и получите токен
- Создайте группу и добавьте бота
- Отправьте сообщение в группу
- Получите идентификатор чата через URL:
https://api.telegram.org/bot{ваш_токен}/getUpdates - В Uptime Kuma перейдите в "Настройки" -> "Уведомления"
- Выберите "Telegram"
- Укажите имя, токен бота и ID чата
- Сохраните и протестируйте уведомление
Настройка Email уведомлений
- В Uptime Kuma перейдите в "Настройки" -> "Уведомления"
- Выберите "Email"
- Укажите настройки SMTP-сервера и адрес получателя
- Сохраните и протестируйте уведомление
6. Настройка доменов для мониторинга
Настройка Netdata через CloudPanel
- В CloudPanel создайте новый сайт (например, netdata.ваш-домен.com)
- В настройках сайта перейдите на вкладку "Reverse Proxy"
- Укажите:
- Сохраните настройки
- Перейдите на вкладку "SSL/TLS"
- Запросите SSL-сертификат Let's Encrypt
- После получения сертификата можно включить проксирование Cloudflare обратно
Настройка Uptime Kuma через CloudPanel
Аналогично можно настроить домен для Uptime Kuma, используя порт 3001.
7. Распространенные проблемы и их решения
Проблема: Netdata недоступен извне
- Проверьте открыт ли порт:
sudo ufw status | grep 19999 - Проверьте настройку прослушивания:
grep "bind to" /etc/netdata/netdata.conf - Перезапустите Netdata:
sudo systemctl restart netdata - Проверьте, запущен ли Netdata:
sudo systemctl status netdata
Проблема: Неправильные статус-коды в Uptime Kuma
- Настройте приемлемые статус-коды в разделе "Дополнительно"
- Для админ-панелей используйте тип монитора "HTTP(s) - Слово" и указывайте ключевое слово
Проблема: Ошибка SSL в CloudPanel
- Отключите проксирование Cloudflare перед запросом сертификата
- После получения сертификата можно включить проксирование обратно
- Убедитесь, что в Reverse Proxy указан правильный протокол (HTTP или HTTPS)
Проблема: Docker не запускается автоматически
- Проверьте статус Docker:
sudo systemctl status docker - Включите автозапуск:
sudo systemctl enable docker - Убедитесь, что контейнеры настроены с параметром
--restart=always - Обновите настройки перезапуска:
sudo docker update --restart=always имя_контейнера
Проблема: Сервер требует перезагрузки
- Перед перезагрузкой проверьте, что все сервисы настроены на автозапуск
- Проверьте Docker контейнеры:
docker ps -a - Обновите политику перезапуска для контейнеров:
docker update --restart=always имя_контейнера - Выполните перезагрузку:
sudo reboot
Дополнительные советы
- Регулярно проверяйте мониторинг - просматривайте панель Netdata, чтобы привыкнуть к "нормальным" показателям вашего сервера
- Настройте резервное копирование данных Uptime Kuma и Netdata
- Периодически обновляйте Netdata и Uptime Kuma для получения новых функций и исправлений безопасности
- Документируйте настройки - сохраняйте все важные конфигурации и изменения
Следуя этой инструкции, вы сможете успешно настроить комплексную систему мониторинга на вашем Ubuntu-сервере, которая будет отслеживать как внутренние метрики сервера, так и доступность внешних сервисов.