Пошаговое руководство по мониторингу сервера Debian с помощью Netdata
14:54, 10.06.2024
Мониторинг вашего сервера - это одна из важнейших практик, которая поможет вам регулярно принимать меры по улучшению производительности вашего сайта, выявлять его слабые места для повышения безопасности, а также выяснять, как увеличить количество посетителей, добиться лучшей SEO-оптимизации и т.д.
Nextdata - это инструмент, который может помочь вам в решении подобных задач в самых разных аспектах, позволяя собирать данные в режиме реального времени и независимо от того, какая у вас сетевая инфраструктура - будь то VPS или выделенный сервер.
Давайте посмотрим на этот инструмент и на то, как использовать его для мониторинга сервера Debian.
Возможности Netdata
Netdata - это инструмент мониторинга производительности и работоспособности систем и приложений в реальном времени с открытым исходным кодом, с помощью которого можно визуализировать и устранять неполадки в работе системы в режиме реального времени. Основные возможности Netdata включают:
Мониторинг в реальном времени
С помощью Netdata вы можете в режиме реального времени получать информацию о самых разных показателях, таких как загрузка процессора, потребление памяти, дисковый ввод-вывод, сетевой трафик и многое другое. Информация обновляется каждую секунду, поэтому вы можете в любой момент проверить, что происходит с вашей системой.
Необязательная настройка
После установки Netdata больше нет необходимости в дополнительной настройке. Сразу после установки программа автоматически начнет отслеживать различные системные показатели, а также приложения и сервисы без каких-либо дополнительных действий с вашей стороны.
Веб-панель мониторинга
В Netdata вы можете использовать интерактивную веб-панель с подробным и всеобъемлющим представлением о работе вашей системы. Панель мониторинга имеет широкие возможности настройки, поэтому вы можете получить все, что хотите, независимо от ваших представлений об этом.
Обширный сбор метрик
Собирайте тысячи показателей с различных ресурсов, включая ОС, приложения, а также сторонние сервисы, чтобы контролировать свои проекты со всех сторон.
Оповещения и уведомления
Помимо мониторинга в режиме реального времени, Netdata также поддерживает функции оповещения. Так, например, вы можете настроить оповещения для определенных метрик, чтобы получать уведомления при превышении определенного порога, что позволит вам всегда быть готовым к решению критических проблем.
Легкость и эффективность
Несмотря на то, что инструмент Netdata является действительно масштабным по своей функциональности, он также разработан как легкий и эффективный. Поскольку его требования к ресурсам минимальны, вы можете запустить его даже на самом базовом VPS.
Открытый исходный код и сообщество
Netdata - это решение с открытым исходным кодом, поэтому в его работе участвует огромное сообщество пользователей, которые могут свободно вносить свои изменения в программу.
Кросс-платформенная поддержка
Netdata может работать на различных широко распространенных операционных системах, включая большинство дистрибутивов Linus, macOS, а также FreeBSD. Возможности мониторинга распространяются на Docker-контейнеры, кластеры Kubernetes и многие другие среды, поэтому программу можно считать по-настоящему универсальной.
Шаг 1: Установка зависимостей
Теперь давайте перейдем к процессу установки Netdata.
Прежде чем перейти к установке Netdata, убедитесь, что установлены необходимые зависимости:
sudo apt update && sudo apt upgrade -y
sudo apt install dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
Шаг 2: Установка Netdata
Рекомендуемый метод установки Netdata - использование скрипта kickstart.sh. Выполните эту команду и каждый раз выбирайте YES:
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel
-stable-channel в команде означает установку стабильной версии.
После успешной установки вы увидите вывод, начинающийся с "Successfully installed the Netdata Agent".
Статус можно проверить с помощью команды:
$ systemctl status netdata
Теперь вы можете получить доступ к Netdata через браузер с помощью команды:
http://<your-ip-address>:19999
Шаг 3: Настройка Netdata
После установки Netdata начнет сканировать все интерфейсы на вашем сервере, что означает максимальную потенциальную площадь атаки. Чтобы минимизировать распространение атаки и таким образом повысить безопасность всего сервера, рекомендуется настроить Netdata на мониторинг только localhost.
Для этого откройте файл, как показано на рисунке, и добавьте строки в разделе [global]
$ sudo vim /etc/netdata/netdata.conf
[global]
run as user = netdata
# default storage size - increase for longer data retention
page cache size = 32
dbengine multihost disk space = 256
bind to = 127.0.0.1
Чтобы это вступило в силу, перезапустите Netdata:
-stable-channel в команде означает об установке стабильной версии.
После успешной установки вы увидите вывод, начинающийся со слов "Successfully installed the Netdata Agent".
Статус можно проверить с помощью команды:
$ systemctl status netdata
Теперь вы можете получить доступ к Netdata через браузер с помощью команды:
http://<your-ip-address>:19999
1. Установка Nginx
Для более эффективной защиты и управления доступом необходимо настроить Nginx в качестве обратного прокси:
$ sudo apt install nginx
После успешной установки создайте конфигурационный файл для Netdata в Nginx:
$ sudo nano /etc/nginx/sites-available/netdata
Добавьте следующую конфигурацию, изменив server_name на ваш домен или IP-адрес:
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http://localhost:19999;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Включите конфигурацию, создав симлинк:
$ sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
Наконец, проверьте наличие синтаксических ошибок и перезапустите Nginx:
$ sudo nginx -t
$ sudo systemctl restart nginx
2. Аутентификация по паролю
На данный момент Netdata открыта и может быть доступна любым пользователям. Чтобы только авторизованные пользователи могли просматривать информацию о сервере через Netdata, необходимо настроить аутентификацию по паролю. Установите утилиты Apache2 и создайте файл .htpassword, в котором будут храниться имя пользователя и пароль.
$ sudo apt-get install apache2-utils
Создайте файл и добавьте имя пользователя, заменив его на предпочитаемое вами имя пользователя:
$ sudo htpasswd -c /etc/nginx/.htpasswd username
Обновите конфигурацию Nginx для Netdata, чтобы включить аутентификацию по паролю:
$ sudo nano /etc/nginx/sites-available/netdata
Добавьте следующие строки внутри блока location /:
auth_basic "Protected";
auth_basic_user_file /etc/nginx/.htpasswd;
Проверьте, все ли введено правильно, и перезапустите Nginx еще раз:
$ sudo nginx -t
$ sudo systemctl restart nginx
Подведение итогов
Это было краткое руководство о том, как начать использовать Netdata для мониторинга вашего сервера Debian. Это очень универсальный инструмент, который позволит вам отслеживать метрики различных аспектов производительности вашего сервера. Как вы видели, он не требует длительной начальной настройки, так что если вы следовали приведенным инструкциям, вы уже можете использовать Netdata по своему усмотрению. Удачи!