Мониторинг. · 7 min read · Nov 24, 2025

Как установить программное обеспечение мониторинга Netdata на AlmaLinux 9

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

Netdata может собирать метрики с различных операционных систем, таких как Linux, Unix, Windows и macOS. Также она поддерживает контейнерные технологии, такие как Docker и Kubernetes.

Следуйте нашему руководству, чтобы установить Netdata с Nginx в качестве обратного прокси на сервере AlmaLinux 9.

Предварительные требования

Чтобы начать, убедитесь, что у вас есть следующее:

  • Сервер AlmaLinux 9.
  • Пользователь без прав root с правами администратора.
  • SELinux в режиме permissive.

Настройка репозиториев

Перед началом установки вам нужно будет добавить и активировать несколько репозиториев для Netdata. Вы добавите репозитории EPEL и Netdata, а затем активируете репозиторий RHEL crb (Code Ready Build) на вашем сервере AlmaLinux.

Для начала выполните следующую команду для установки пакета dnf-plugins-core.

sudo dnf install dnf-plugins-core -y

Теперь выполните следующую команду, чтобы добавить репозиторий EPEL и активировать репозиторий CRB на вашей системе. Введите y, когда будет предложено продолжить.

sudo dnf install epel-release  
sudo dnf config-manager --set-enabled crb

enable epel and crb

Далее выполните следующую команду, чтобы добавить репозиторий Netdata в вашу систему. В этом случае вы будете использовать репозиторий Netdata 2.2.

sudo rpm -ivh https://repo.netdata.cloud/repos/stable/el/9/x86_64/netdata-repo-2-2.noarch.rpm

add repo

После завершения проверьте доступные репозитории на вашем AlmaLinux с помощью следующей команды.

sudo dnf repolist

Вывод, который вы должны получить, будет выглядеть следующим образом:

list repo

Скачивание и установка Netdata

Теперь, когда вы настроили репозитории, давайте начнем установку Netdata.

В этом примере вы установите Netdata с дополнительными плагинами для мониторинга вашей системы и приложений.

Выполните следующую команду dnf для установки Netdata. Введите y, чтобы принять GPG-ключ и продолжить установку, затем дождитесь завершения.

Вам могут не понадобиться все эти плагины Netdata, убедитесь, что вы настроили установку пакетов.

sudo dnf install netdata netdata-plugin-{apps,chartsd,cups,ebpf,go,pythond,perf,freeipmi,slabinfo,systemd-journal}

install netdata

Теперь после установки Netdata выполните следующую команду, чтобы запустить и активировать службу netdata.

sudo systemctl start netdata  
sudo systemctl enable netdata

Затем проверьте службу netdata, выполнив команду ниже.

sudo systemctl status netdata

Если установка прошла успешно, служба netdata должна быть активна (работает), как показано ниже:

start verify netdata

Наконец, откройте порт по умолчанию для Netdata 19999 с помощью следующей команды.

В этом примере вы временно добавите порт 19999, потому что вы настроите Nginx в качестве обратного прокси. Мы сделаем это в следующем разделе.

sudo firewall-cmd --add-port=19999/tcp

Посетите IP-адрес вашего сервера, добавив порт 19999 (т.е.: http://192.168.5.50:19999) с помощью вашего предпочтительного веб-браузера.

Если все пройдет хорошо, вы должны увидеть панель мониторинга Netdata, как показано ниже.

netdata dashboard

Настройка Netdata

После установки Netdata вы настроите Netdata для работы в UNIX сокете. Это позволит вам настроить Nginx в качестве обратного прокси для Netdata, что вы сделаете на следующем шаге.

Чтобы начать настройку Netdata, выполните следующую команду, чтобы скачать конфигурацию Netdata в /etc/netdata/netdata.conf.

wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf

Перейдите в директорию /etc/netdata и откройте конфигурацию по умолчанию netdata.conf с помощью команды ниже.

cd /etc/netdata  
sudo ./edit-config netdata.conf

Найдите раздел [web] и раскомментируйте опцию bind to. Затем измените опцию привязки по умолчанию на UNIX сокет unix:/var/run/netdata/netdata.sock.

[web]  
    bind to = unix:/var/run/netdata/netdata.sock

Сохраните и закройте файл, когда закончите.

Далее перезапустите Netdata, чтобы применить ваши изменения, выполнив команду ниже.

sudo systemctl restart netdata

На этом этапе Netdata должна работать как UNIX сокет по адресу unix:/var/run/netdata/netdata.sock.

Проверьте UNIX сокет Netdata, используя команду ss ниже.

ss -pl | grep netdata.sock

Если ваша конфигурация успешна, вы должны получить следующее:

Установка Nginx в качестве обратного прокси

На этом этапе вы установили Netdata на сервер AlmaLinux 9. На следующем шаге вы установите и настроите Nginx в качестве обратного прокси для Netdata.

Также вам может понадобиться доменное имя для этого, вы можете использовать поддомен или локальное доменное имя.

Установка Nginx

Для начала установите Nginx, используя следующую команду dnf. Введите y, чтобы продолжить установку.

sudo dnf install nginx

install nginx

После установки Nginx выполните следующую команду, чтобы создать директорию блока сервера /etc/nginx/server-blocks и открыть конфигурацию Nginx /etc/nginx/nginx.conf.

mkdir -p /etc/nginx/server-blocks  
sudo nano /etc/nginx/nginx.conf

В разделе http {…} добавьте опцию include… ниже.

http {  
    ...  
    include /etc/nginx/server-blocks/*.conf;  
}

Сохраните и закройте файл, когда закончите.

Добавление конфигурации блока сервера

Далее создайте новый блок сервера Nginx для обратного прокси Netdata /etc/nginx/server-blocks/netdata.conf с помощью следующей команды редактора nano.

sudo nano /etc/nginx/server-blocks/netdata.conf

Вставьте следующую конфигурацию и обязательно укажите ваше доменное имя в параметре server_name. В этом случае мы будем использовать домен netdata.howtoforge.local.

Также вы защитите Netdata с помощью модуля auth_basic с файлом /etc/nginx/.passwords.

upstream backend {  
    # сервер Netdata  
    server unix:/var/run/netdata/netdata.sock;  
    keepalive 1024;  
}  
  
server {  
    # nginx слушает это  
    listen 80;  
  
    # виртуальное имя хоста  
    server_name netdata.howtoforge.local;  
  
    auth_basic "Защищено";  
    auth_basic_user_file /etc/nginx/.passwords;  
  
    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;  
    }  
}

Когда закончите, сохраните файл и выйдите из редактора.

Теперь выполните команду ниже, чтобы сгенерировать файл паролей /etc/nginx/.passwords.

Обязательно измените пользователя alice на ваше имя пользователя. Затем введите ваш пароль и повторите.

printf "alice:$(openssl passwd -apr1)" > /etc/nginx/.passwords

nginx reverse proxy

Теперь выполните команду ниже, чтобы проверить синтаксис Nginx. Если ошибок нет, вы должны получить вывод ‘syntax is ok - test is successful‘.

sudo nginx -t

Затем запустите и активируйте Nginx с помощью следующей команды.

sudo systemctl start nginx  
sudo systemctl enable nginx

setup nginx

После запуска Nginx проверьте его, выполнив команду ниже.

sudo systemctl status nginx

Если все прошло хорошо, вы должны получить вывод active (running), что подтверждает, что Nginx работает.

check nginx

Открытие портов HTTP и HTTPS

Откройте порты HTTP и HTTPS на вашем сервере AlmaLinux, чтобы разрешить доступ к вашей установке Netdata. Выполните следующую команду для этого.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Теперь проверьте правила firewalld с помощью следующей команды.

sudo firewall-cmd --list-all

Убедитесь, что у вас есть как HTTP, так и HTTPS службы в списке firewalld. Если нет, повторите команду ранее.

setup firewalld

Наконец, посетите ваше доменное имя Netdata, например http://netdata.howtoforge.local, с помощью вашего предпочтительного веб-браузера.

Введите ваше имя пользователя и пароль, когда будет предложено для базовой аутентификации Nginx.

nginx basic auth

Если ваша установка Nginx прошла успешно, вы должны увидеть панель мониторинга Netdata, как показано ниже:

netdata nginx reverse proxy

Защита Netdata с помощью SSL/TLS сертификатов

После настройки Nginx вы сгенерируете SSL/TLS сертификаты для защиты вашей установки.

Если вы используете локальное доменное имя, вы можете сгенерировать самоподписанные сертификаты. Но если вы используете реальное доменное имя, сгенерируйте SSL/TLS сертификаты, следуя следующим шагам:

Выполните следующую команду для установки Certbot и плагина Certbot Nginx на вашу систему. Введите y, чтобы продолжить установку.

sudo dnf install certbot python3-certbot-nginx -y

Теперь выполните команду certbot ниже, чтобы сгенерировать SSL/TLS сертификаты от Letsencrypt. Обязательно измените доменное имя и адрес электронной почты перед выполнением этой команды.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d netdata.howtoforge.local

После завершения процесса ваша Netdata должна быть защищена с помощью HTTPS. Вы сгенерировали SSL/TLS сертификаты от Letsencrypt и реализовали HTTPS на вашем серверном блоке Nginx через плагин Certbot Nginx.

Пример: Мониторинг Nginx с помощью Netdata

Если вы следовали до сих пор, вы завершили установку Netdata с Nginx в качестве обратного прокси и настроили HTTPS. Теперь вы узнаете основы мониторинга с помощью Netdata.

В этом случае вы настроите мониторинг веб-сервера Nginx через Netdata, чтобы получить более полное представление о том, как мониторить другие службы и приложения.

Включение Nginx stub_status

Создайте новую конфигурацию /etc/nginx/default.d/stub.conf с помощью следующей команды редактора nano.

sudo nano /etc/nginx/default.d/stub.conf

Вставьте следующую конфигурацию, чтобы включить модуль Nginx stub_status. Это откроет Nginx stub_status по URL /basic_status.

location /basic_status {  
    stub_status;  
    server_tokens on;  
}

Сохраните и закройте файл, когда закончите.

Далее выполните следующую команду, чтобы проверить синтаксис Nginx. Затем перезапустите Nginx, чтобы изменения вступили в силу.

sudo nginx -t  
sudo systemctl restart nginx

enable nginx stub

Теперь выполните команду curl ниже, чтобы проверить модуль Nginx stub_status.

curl http://localhost/basic_status

Если ваша конфигурация успешна, вы должны увидеть статус вашего веб-сервера Nginx.

nginx stub

Включение плагина Netdata для мониторинга Nginx

Перейдите в директорию /etc/netdata и откройте конфигурацию плагина для мониторинга Nginx. Плагин Netdata для мониторинга Nginx является частью плагинов Go, посетите список плагинов Netdata для получения дополнительной информации.

cd /etc/netdata  
sudo ./edit-config go.d/nginx.conf

Убедитесь, что конфигурация url: http://127.0.0.1/stub_status доступна, или вы можете создать ее вручную. Это скажет Netdata мониторить Nginx по URL: http://127.0.0.1/stub_status.

jobs:  
  - name: local  
    url: http://127.0.0.1/stub_status

Сохраните и закройте файл, когда закончите.

Далее выполните следующую команду, чтобы перезапустить Netdata и применить ваши изменения.

sudo systemctl restart netdata

Теперь вы можете протестировать или провести стресс-тест вашего веб-сервера Nginx, используя следующую команду. ab или Apache Benchmark является частью httpd-tools, убедитесь, что вы установили его на вашем компьютере.

ab -n 50000 -c 500 http://localhost/

Вернитесь к панели данных Netdata и нажмите на меню Nginx слева. Если ваша конфигурация успешна, вы должны увидеть детали мониторинга Nginx, как показано ниже.

nginx monitoring with netdata

Заключение

В заключение, вы завершили установку решения мониторинга Netdata на сервере AlmaLinux 9. Вы установили Netdata с Nginx в качестве обратного прокси и защитили Netdata с помощью SSL/TLS сертификатов.

Кроме того, вы также узнали основные возможности использования плагина Netdata для мониторинга ваших приложений.

Отсюда проверьте список доступных Netdata для мониторинга ваших приложений.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.