Netdata – это инструмент с открытым исходным кодом для сбора метрик как посекундно, так и в режиме реального времени. К ним относятся, в частности, активность чтения и записи на диск, использование процессора, пропускная способность и т.д. Netdata предназначена для работы на физических серверах или в контейнерах. Netdata также предлагает мониторинг производительности и работоспособности в реальном времени с помощью простых в интерпретации графиков. В этом руководстве мы покажем вам, как установить Netdata на Debian 12.
Шаг 1. Вход на VPS
Сначала нам нужно войти на наш сервер Debian 12 через SSH:
ssh root@IP_Address -p Port_number
Замените «root» на пользователя с правами sudo или root, если это необходимо. Кроме того, замените «IP_Address» и «Port_Number» на соответствующие IP-адрес и номер порта SSH вашего сервера. Далее, давайте убедимся, что мы находимся на Debian 12. Это можно сделать следующим образом:
lsb_release -a
В результате выполнения команды должно получиться следующее:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm
Теперь, когда мы вошли в систему и подтвердили, что находимся на Debian 12, приступим к установке.
Шаг 2. Установка зависимостей
Установка Netdata требует наличия некоторых пакетов. Поэтому, прежде чем приступить к установке, установим все необходимые пакеты на нашу систему Debian 12. Для этого выполним приведенную ниже команду.
apt install dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
Шаг 3. Установка Netdata
Существует несколько способов установки Netdata на систему Debian 12. Мы можем установить её с помощью собственных DEB-пакетов из их репозитория, в контейнере docker или использовать статический бинарный Linux-пакет. Но в этом руководстве мы покажем, как установить Netdata с помощью сценария kickstart.sh. Это рекомендуемый способ установки Netdata. Чтобы установить ее таким образом, просто выполните следующую команду и при появлении запроса ответьте на вопросы «Да».
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel
Опция -stable-channel означает, что мы собираемся установить стабильную версию netdata. Если не использовать эту опцию, то сценарий установки установит ночную версию, которая может быть нестабильной или содержать больше ошибок.
По окончании установки вы должны увидеть сообщение об успешном завершении установки следующего содержания:
Successfully installed the Netdata Agent. Official documentation can be found online at https://learn.netdata.cloud/docs/. Looking to monitor all of your infrastructure with Netdata? Check out Netdata Cloud at https://app.netdata.cloud. Join our community and connect with us on: - GitHub: https://github.com/netdata/netdata/discussions - Discord: https://discord.gg/5ygS846fR6 - Our community forums: https://community.netdata.cloud/ [/root]# rm -rf /tmp/netdata-kickstart-alOGF95w3O OK
В системе Debian Netdata автоматически запускается при установке и настроена на запуск после перезагрузки. Давайте проверим статус службы.
systemctl status netdata
Вы увидите сообщение, подобное этому:
● netdata.service - Real time performance monitoring Loaded: loaded (/lib/systemd/system/netdata.service; enabled; preset: enabled) Active: active (running) since Fri 2023-09-15 05:06:31 CDT; 59s ago Main PID: 3802 (netdata) Tasks: 88 (limit: 2306) Memory: 139.9M CPU: 6.033s CGroup: /system.slice/netdata.service ├─3802 /usr/sbin/netdata -D -P /var/run/netdata/netdata.pid ├─3839 /usr/sbin/netdata --special-spawn-server ├─4154 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1 ├─4156 /usr/libexec/netdata/plugins.d/nfacct.plugin 1 ├─4166 /usr/libexec/netdata/plugins.d/ebpf.plugin 1 ├─4169 /usr/bin/python3 /usr/libexec/netdata/plugins.d/python.d.plugin 1 ├─4173 /usr/libexec/netdata/plugins.d/systemd-journal.plugin 1 ├─4182 /usr/libexec/netdata/plugins.d/go.d.plugin 1 ├─4189 /usr/libexec/netdata/plugins.d/debugfs.plugin 1 └─4199 /usr/libexec/netdata/plugins.d/apps.plugin 1 Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: set name of thread 4230 to EBPF FD Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: thread created with task id 4231 Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: set name of thread 4231 to EBPF SOFTIRQ Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: thread created with task id 4232 Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: set name of thread 4232 to EBPF OOMKILL Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: thread created with task id 4233 Sep 15 05:06:32 debian12.rosehosting.com ebpf.plugin[4166]: set name of thread 4233 to EBPF SHM Sep 15 05:06:33 debian12.rosehosting.com apps.plugin[4199]: Using now_boottime_usec() for uptime (dt is 0 ms) Sep 15 05:06:33 debian12.rosehosting.com debugfs.plugin[4189]: Zswap is disabled Sep 15 05:06:33 debian12.rosehosting.com debugfs.plugin[4189]: Failed to find powercap zones.
Вот и все! Netdata запущена, и вы можете получить доступ к ней по адресу http://YOUR_SERVER_IP_ADDRESS:19999
Шаг 4. Настройка Netdata
По умолчанию Netdata прослушивает все интерфейсы вашего сервера. По соображениям безопасности рекомендуется настроить netdata на прослушивание только localhost, а для доступа к ней необходимо использовать обратный прокси. Теперь давайте продолжим.
nano /etc/netdata/netdata.conf
Добавьте эту строку в файл в раздел [global]:
bind to = 127.0.0.1
Выглядеть она должна так:
[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, чтобы применить сделанные изменения.
systemctl restart netdata
Теперь Netdata больше не доступна при обращении к http://YOUR_SERVER_IP_ADDRESS:19999
Шаг 5. Установка Nginx
На предыдущем шаге мы настроили Netdata на прослушивание только localhost. Поэтому для доступа к ней нам необходим веб-сервер, который будет выступать в роли обратного прокси-сервера для Netdata. Сейчас мы установим Nginx и настроим его в качестве обратного прокси-сервера.
apt install nginx
На данный момент Nginx запущен и работает. Давайте создадим блок сервера Nginx.
Затем вставьте в файл следующие слова:
nano /etc/nginx/conf.d/netdata.conf
Замените netdata.yourdomain.com на реальное имя домена или поддомена, указывающее на ваш сервер. Сохраните файл, затем выйдите и перезапустите Nginx.
systemctl restart nginx
Теперь вы должны иметь доступ к Netdata по адресу http://netdata.yourdomain.com – конечно, измените netdata.yourdomain.com на реальный домен, который вы используете для своего сервера.

Шаг 6. Настройка аутентификации по паролю через Nginx
Как видите, Netdata теперь доступна по адресу http://netdata.yourdomain.com, но все еще доступна для всех посетителей. Для того чтобы неавторизованные посетители не смогли увидеть информацию о вашем сервере через Netdata, мы можем настроить Nginx на использование HTTP-аутентификации. Таким образом, при обращении пользователей к сайту http://netdata.yourdomain.com им будет предложено ввести имя пользователя и пароль. Сначала создадим файл .htpassword. В этом файле хранятся учетные данные пользователя и пароль.
htpasswd -c /etc/nginx/.htpasswd netdata
Вам будет предложено создать пароль. Результат выполнения команды должен выглядеть следующим образом.
New password: Re-type new password: Adding password for user netdata
На данный момент мы имеем „netdata“ в качестве имени пользователя и пароль, который мы набрали ранее. Обязательно сохраните копию пароля или запомните его. Далее отредактируем конфигурационный файл Nginx.
nano /etc/nginx/conf.d/netdata.conf
Добавим эти две строки внутри блока location /:
auth_basic "NetData Admin"; auth_basic_user_file /etc/nginx/.htpasswd;
Выглядеть это должно так:
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_pass http://netdata; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; auth_basic "NetData Admin"; auth_basic_user_file /etc/nginx/.htpasswd; } }
Сохраним файл, затем перезапустим Nginx.
При следующем обращении к http://netdata.yourdomain.com вам будет предложено ввести имя пользователя и пароль. После их ввода вы сможете использовать Netdata как обычно.
Комментарии (0)