Мониторинг. · 4 min read · Oct 31, 2025

Как мониторить Nginx с помощью Netdata на Ubuntu 16.04

Netdata — это инструмент мониторинга с открытым исходным кодом для серверов Linux. Он предоставляет мониторинг производительности и состояния в реальном времени с красивой панелью и аналитикой. Netdata должен работать на любой дистрибутиве Linux, он был протестирован на Alpine Linux, Arch Linux, CentOS, Ubuntu и т.д. Он мониторит использование CPU, памяти, IPv4 и v6, пользовательские приложения, такие как Nginx, fail2ban, MySQL, MongoDB и т.д.

В этом руководстве я покажу вам, как мониторить Nginx с помощью Netdata. В руководстве будет рассмотрена установка веб-сервера Nginx, включение модуля ‘stub_status’ в Nginx и установка Netdata на Ubuntu 16.04 Xenial Xerus.

Что мы будем делать:

  1. Установить веб-сервер Nginx.
  2. Установить инструмент мониторинга Netdata на Ubuntu 16.04.
  3. Включить модуль ‘stub_status’ Nginx.
  4. Настроить Netdata для мониторинга Nginx.
  5. Настроить брандмауэр UFW.
  6. Тестирование.

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

  • Сервер Ubuntu 16.04
  • Привилегии root

Шаг 1 - Установить веб-сервер Nginx

Первый шаг, который нам нужно сделать, это установить веб-сервер Nginx из репозитория. Обновите репозиторий Ubuntu перед установкой Nginx с помощью команды apt update.

apt update

Установите Nginx из репозитория Ubuntu с помощью команды apt install ниже.

apt install -y nginx

Когда установка завершится, запустите Nginx и добавьте его для автоматического запуска при загрузке с помощью команд systemctl.

systemctl start nginx  
systemctl enable nginx

Веб-сервер работает, проверьте это с помощью curl.

curl -I localhost

Убедитесь, что у вас есть результат ‘200 OK’ http статуса, как на скриншоте ниже.

Установка Nginx

Веб-сервер Nginx был установлен.

Шаг 2 - Установить инструмент мониторинга Netdata на Ubuntu 16.04

На этом шаге мы установим инструмент мониторинга Netdata из исходного кода. Я установлю его вручную, используя предоставленный установщик. Перед установкой Netdata нам нужно установить некоторые необходимые пакеты.

Установите необходимые пакеты для установки Netdata с помощью команды apt install ниже.

apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl

Когда все пакеты будут установлены, загрузите исходный код Netdata с github с помощью команды git.

git clone https://github.com/firehol/netdata.git --depth=1

Загрузка исходного кода netdata с GIT

Перейдите в директорию ‘netdata’ и запустите скрипт установщика ‘netdata-installer.sh’ с привилегиями sudo.

cd netdata/  
sudo ./netdata-installer.sh

Нажмите ‘Enter’, чтобы продолжить установку Netdata.

Установка инструмента мониторинга Netdata

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

netdata был установлен

Инструмент мониторинга Netdata предоставляет скрипт службы для системы systemd. Запустите netdata и добавьте его для автоматического запуска при загрузке с помощью команд systemctl ниже.

systemctl start netdata  
systemctl enable netdata

По умолчанию он работает на порту 19999, проверьте порт с помощью netstat и убедитесь, что у вас есть порт 19999 в состоянии ‘LISTEN’.

netstat -plntu

Netdata был запущен

Инструмент мониторинга Netdata был установлен.

Шаг 3 - Включить модуль ‘stub_status’ Nginx

Чтобы мониторить веб-сервер Nginx с помощью инструмента мониторинга Netdata, нам нужно выполнить некоторые дополнительные настройки. Сначала мы должны включить модуль ‘stub_status’ Nginx в конфигурацию виртуального хоста.

Перед редактированием конфигурации виртуального хоста убедитесь, что у вас установлена версия nginx с модулем ‘stub_status’. Проверьте это с помощью команды ниже.

nginx -V

Убедитесь, что у вас есть модуль ‘stub_status’, как ниже.

Далее перейдите в директорию конфигурации nginx и отредактируйте файл виртуального хоста ‘default’ с помощью редактора vim.

cd /etc/nginx/sites-available/  
vim default

Вставьте конфигурацию ниже в блок ‘server {}‘.

    location /stub_status {  
        stub_status;  
        # Безопасность: Разрешить доступ только с IP ниже.  
        allow 127.0.0.1;  
        # Запретить всем остальным  
        deny all;  
    }

Сохраните и выйдите.

Включить stub_status

Проверьте конфигурацию nginx и убедитесь, что нет ошибок, и перезапустите службу nginx.

nginx -t  
systemctl restart nginx

Модуль ‘stub_status’ Nginx был включен, проверьте это с помощью команды netstat ниже.

curl http://127.0.0.1/stub_status

И вы получите результат, как ниже.

stub_status в Nginx был включен

Шаг 4 - Настроить Netdata для мониторинга Nginx

Netdata предоставляет модули Python для мониторинга наших установленных приложений на системе, включая веб-серверы Nginx. Чтобы мониторить Nginx с помощью Netdata, нам нужен модуль Nginx ‘stub_status’, который уже был включен.

Теперь перейдите в директорию конфигурации netdata. Затем отредактируйте файл nginx.conf в директории python.d.

cd /etc/netdata/  
vim python.d/nginx.conf

Убедитесь, что у вас есть конфигурация, как ниже.

localhost:  
  name : 'local'  
  url  : 'http://localhost/stub_status'

Сохраните файл и выйдите из vim.

Настроить Netdata для Nginx

Теперь перезапустите Netdata с помощью systemctl.

systemctl restart netdata

Конфигурация Netdata для мониторинга Nginx завершена.

Шаг 5 - Настроить брандмауэр UFW

В этом руководстве я включу брандмауэр Ubuntu UFW. Я открою порты HTTP и HTTPS, а затем открою новый порт 19999 для доступа к панели управления Netdata.

Убедитесь, что вы установили пакет брандмауэра UFW, если нет, используйте команду ниже для его установки.

apt install -y ufw

Теперь откройте порты для ssh, http, https и порта netdata 19999 с помощью команд ‘ufw allow’ ниже.

ufw allow ssh  
ufw allow http  
ufw allow https  
ufw allow 19999/tcp

Настроить брандмауэр UFW

Далее запустите брандмауэр UFW и добавьте его для автоматического запуска при загрузке.

ufw enable

Введите ‘y‘, чтобы подтвердить, и нажмите ‘Enter’.

Когда вы закончите с этим, проверьте статус брандмауэра, как ниже.

ufw status

И вы получите новые порты в списке, как ниже.

Статус брандмауэра UFW

Шаг 6 - Тестирование

Откройте ваш браузер и введите адрес сервера с портом 19999.

http://192.168.1.11:19999/

Вы должны увидеть панель управления Netdata.

Панель мониторинга Netdata

Нажмите на ‘nginx local’ справа и посмотрите активные соединения Nginx, запросы, статус и скорость соединений.

Статус Nginx в мониторинге Netdata

Веб-сервер Nginx теперь мониторится с помощью Netdata, и Netdata был установлен на сервере Ubuntu 16.04.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.