Как установить Netdata с Nginx на Alma Linux 8
На этой странице
- Предпосылки
- Установите требуемую зависимость
- Установить Netdata
- Настройка брандмауэра
- Настройка Nginx в качестве обратного прокси-сервера для Netdata
- Доступ к панели мониторинга Netdata
- Заключение
Netdata — это бесплатный инструмент мониторинга сервера с открытым исходным кодом в режиме реального времени, который визуализирует и отслеживает данные в реальном времени, такие как использование ЦП, использование ОЗУ, загрузка, использование подкачки, использование полосы пропускания, использование диска и т. д. Это помогает системному администратору получить обзор того, что происходит и что только что произошло в вашей системе или приложении. Его можно установить на любые физические серверы, виртуальные машины, контейнеры и устройства IoT. Он предоставляет интерактивный веб-интерфейс для просмотра показателей вашего сервера с поддержкой различных хранилищ данных для постоянного хранения.
В этом руководстве мы покажем вам, как установить инструмент мониторинга Netdata на Alma Linux 8.
Предпосылки
- Сервер под управлением Alma Linux 8.
- Действительное доменное имя, указанное с IP-адресом вашего сервера.
- На сервере настроен пароль root.
Установить необходимую зависимость
Во-первых, вам нужно будет установить репозиторий EPEL и другие зависимости, необходимые для установки Netdata. Вы можете установить их все, выполнив следующую команду:
dnf install epel-release -y
dnf install git libuuid-devel autoconf automake pkgconfig zlib-devel curl findutils libmnl gcc make -y
После установки всех пакетов можно переходить к следующему шагу.
Установить Netdata
По умолчанию Netdata не включен в репозиторий Alma Linux по умолчанию. Поэтому вам нужно будет установить его из источника.
Сначала загрузите последнюю версию Netdata из репозитория Git, используя следующую команду:
git clone --recurse-submodules https://github.com/netdata/netdata.git --depth=100
После завершения загрузки измените каталог на netdata и установите все необходимые зависимости, используя следующую команду:
cd netdata
./packaging/installer/install-required-packages.sh --non-interactive --dont-wait netdata
Затем установите другие пакеты с помощью следующей команды:
dnf --enablerepo=powertools install libuv-devel
Затем запустите сценарий установки Netdata, чтобы начать установку.
./netdata-installer.sh
Вы получите следующий вывод:
--- real-time performance monitoring, done right! --- You are about to build and install netdata to your system. The build process will use /tmp for any temporary files. You can override this by setting $TMPDIR to a writable directory where you can execute files. It will be installed at these locations: - the daemon at /usr/sbin/netdata - config files in /etc/netdata - web files in /usr/share/netdata - plugins in /usr/libexec/netdata - cache files in /var/cache/netdata - db files in /var/lib/netdata - log files in /var/log/netdata - pid file at /var/run/netdata.pid - logrotate file at /etc/logrotate.d/netdata This installer allows you to change the installation path. Press Control-C and run the same command with --help for help. NOTE: Anonymous usage stats will be collected and sent to Netdata. To opt-out, pass --disable-telemetry option to the installer or export the environment variable DISABLE_TELEMETRY to a non-zero or non-empty value (e.g: export DISABLE_TELEMETRY=1). Press ENTER to build and install netdata to your system >
Нажмите клавишу Enter, чтобы установить Netdata в вашу систему. После установки Netdata вы получите следующий вывод:
Setting netdata.tarball.checksum to 'new_installation' --- We are done! --- ^ |.-. .-. .-. .-. .-. . netdata .-. .-. .-. .-. .-. .- | '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> --- is installed and running now! --- enjoy real-time performance and health monitoring...
systemctl start netdata
systemctl enable netdata
Теперь вы можете проверить состояние Netdata, используя следующую команду.
systemctl status netdata
Вы получите следующий вывод:
? netdata.service - Real time performance monitoring Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2022-03-19 04:22:22 UTC; 4min 16s ago Main PID: 58935 (netdata) Tasks: 50 (limit: 11412) Memory: 103.1M CGroup: /system.slice/netdata.service ??58935 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D ??58938 /usr/sbin/netdata --special-spawn-server ??59063 /usr/libexec/netdata/plugins.d/apps.plugin 1 ??59064 /usr/libexec/netdata/plugins.d/ebpf.plugin 1 ??59065 /usr/libexec/netdata/plugins.d/go.d.plugin 1 Mar 19 04:22:22 linux systemd[1]: Starting Real time performance monitoring... Mar 19 04:22:22 linux systemd[1]: Started Real time performance monitoring. Mar 19 04:22:22 linux netdata[58935]: CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults. Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/> Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : Found 0 legacy dbengines, setting multidb diskspace to 256MB Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO : MAIN : Created file '/var/lib/netdata/dbengine_multihost_size' to > Mar 19 04:22:22 linux netdata[58935]: Found 0 legacy dbengines, setting multidb diskspace to 256MB Mar 19 04:22:22 linux netdata[58935]: Created file '/var/lib/netdata/dbengine_multihost_size' to store the computed value Mar 19 04:22:23 linux ebpf.plugin[59064]: Does not have a configuration file inside `/etc/netdata/ebpf.d.conf. It will try to load stock file. Mar 19 04:22:23 linux ebpf.plugin[59064]: Cannot read process groups configuration file '/etc/netdata/apps_groups.conf'. Will try '/usr/lib/n>
На данный момент Netdata работает и прослушивает порт 19999. Вы можете проверить это с помощью следующей команды:
ss -antpl | grep netdata
Вы получите следующий вывод:
LISTEN 0 128 127.0.0.1:8125 0.0.0.0:* users:(("netdata",pid=58935,fd=29)) LISTEN 0 128 0.0.0.0:19999 0.0.0.0:* users:(("netdata",pid=58935,fd=6)) LISTEN 0 128 [::1]:8125 [::]:* users:(("netdata",pid=58935,fd=28)) LISTEN 0 128 [::]:19999 [::]:* users:(("netdata",pid=58935,fd=7))
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить брандмауэр
Если вы используете брандмауэр firewalld в своей системе, вам нужно разрешить порты 19999 и 80 через firewalld. Вы можете разрешить их с помощью следующей команды:
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --permanent --add-port=80/tcp
Затем перезагрузите демон firewalld, чтобы применить изменения:
firewall-cmd --reload
Как только вы закончите, вы можете перейти к следующему шагу.
Настройте Nginx в качестве обратного прокси для Netdata
Всегда полезно установить и настроить Nginx в качестве обратного прокси-сервера для доступа к Netdata. Сначала установите сервер Nginx с помощью следующей команды:
dnf install nginx httpd-tools -y
Затем сгенерируйте файл паролей с помощью следующей команды:
htpasswd -c /etc/nginx/.htpasswd netadmin
Установите пароль администратора, как показано ниже:
New password: Re-type new password: Adding password for user netadmin
Затем создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/conf.d/netdata.conf
Добавьте следующие строки:
upstream backend { server 127.0.0.1:19999; keepalive 64; } server { listen 80; server_name netdata.example.com; location / { 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; proxy_pass http://backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } }
Сохраните и закройте файл, затем проверьте Nginx на наличие ошибок конфигурации синтаксиса:
nginx -t
Если все в порядке, вы получите следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем перезапустите службу Nginx, чтобы применить изменения конфигурации:
systemctl restart nginx
Вы также можете проверить статус Nginx с помощью следующей команды:
systemctl status nginx
Вы должны увидеть следующий вывод:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-03-19 04:28:44 UTC; 4s ago Process: 61706 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 61705 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 61703 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 61708 (nginx) Tasks: 2 (limit: 11412) Memory: 3.7M CGroup: /system.slice/nginx.service ??61708 nginx: master process /usr/sbin/nginx ??61709 nginx: worker process Mar 19 04:28:44 linux systemd[1]: Starting The nginx HTTP and reverse proxy server... Mar 19 04:28:44 linux nginx[61705]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Mar 19 04:28:44 linux nginx[61705]: nginx: configuration file /etc/nginx/nginx.conf test is successful Mar 19 04:28:44 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Mar 19 04:28:44 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Как только вы закончите, вы можете перейти к следующему шагу.
Доступ к панели управления Netdata
Теперь откройте веб-браузер и получите доступ к панели управления Netdata, используя URL-адрес http://your-server-ip. Вы должны увидеть страницу входа в Netdata:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Netdata на следующей странице:
Заключение
Поздравляем! вы успешно установили инструмент мониторинга Netdata на Alma Linux 8. Теперь вы можете начать мониторинг показателей вашего сервера в режиме реального времени с панели управления Netdata. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.