Как контролировать Nginx с помощью Netdata в Ubuntu 16.04
На этой странице
- Шаг 1. Установите веб-сервер Nginx
- Шаг 2. Установите инструмент мониторинга Netdata в Ubuntu 16.04
- Шаг 3. Включите модуль Nginx stub_status
- Шаг 4. Настройте Netdata для мониторинга Nginx
- Шаг 5. Настройка брандмауэра UFW
- Шаг 6. Тестирование
- Справочник
Netdata — это инструмент мониторинга с открытым исходным кодом для серверов Linux. Он обеспечивает мониторинг производительности и работоспособности в режиме реального времени с красивой панелью инструментов и аналитикой. Netdata должен работать на любом дистрибутиве Linux, он был протестирован на Alpine Linux, Arch Linux, CentOS, Ubuntu и т. д. Он отслеживает ЦП, использование памяти, IPv4 и v6, пользовательские приложения, такие как Nginx, fail2ban, MySQL, MongoDB и т. д.
В этом уроке я покажу вам, как отслеживать Nginx с помощью Netdata. В этом руководстве будет рассказано об установке веб-сервера Nginx, включении модуля stub_status в Nginx и установке Netdata в Ubuntu 16.04 Xenial Xerus.
Что мы будем делать:
- Установите веб-сервер Nginx.
- Установите средство мониторинга Netdata в Ubuntu 16.04.
- Включите модуль Nginx stub_status.
- Настройте Netdata для мониторинга Nginx.
- Настройте брандмауэр UFW.
- Тестирование.
Предпосылка
- Сервер 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
Убедитесь, что у вас есть статус HTTP 200 OK, как на скриншоте ниже.
Установлен веб-сервер 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 и запустите скрипт установки netdata-installer.sh с привилегиями sudo.
cd netdata/
sudo ./netdata-installer.sh
Нажмите Enter, чтобы продолжить установку Netdata.
Когда установка будет завершена, вы получите результат, как показано ниже.
Инструмент мониторинга Netdata предоставляет служебный скрипт для системы systemd. Запустите netdata и добавьте его для автоматического запуска во время загрузки с помощью приведенных ниже команд systemctl.
systemctl start netdata
systemctl enable netdata
По умолчанию он работает на порту 19999, проверьте порт с помощью netstat и убедитесь, что порт 19999 находится в состоянии LISTEN.
netstat -plntu
Инструмент мониторинга Netdata был установлен.
Шаг 3. Включите модуль Nginx stub_status
Для мониторинга веб-сервера Nginx с помощью инструмента мониторинга Netdata нам потребуется дополнительная настройка. Во-первых, мы должны включить модуль nginx stub_status в конфигурацию виртуального хоста.
Прежде чем редактировать конфигурацию виртуального хоста, убедитесь, что у вас установлена версия nginx с модулем stub_status. Проверьте это с помощью команды ниже.
nginx -V
Убедитесь, что у вас есть модуль stub_status, как показано ниже.
Затем перейдите в каталог конфигурации nginx и отредактируйте файл виртуального хоста по умолчанию с помощью редактора vim.
cd /etc/nginx/sites-available/
vim default
Вставьте приведенную ниже конфигурацию в блок server {}.
location /stub_status {
stub_status;
# Security: Only allow access from the IP below.
allow 127.0.0.1;
# Deny anyone else
deny all;
}
Сохранить и выйти.
Протестируйте конфигурацию nginx и убедитесь, что в ней нет ошибок, и перезапустите службу nginx.
nginx -t
systemctl restart nginx
Модуль Nginx stub_status включен, проверьте его с помощью команды netstat ниже.
curl http://127.0.0.1/stub_status
И вы получите результат, как показано ниже.
Шаг 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 с помощью systemctl.
systemctl restart netdata
Настройка Netdata для мониторинга Nginx завершена.
Шаг 5. Настройте брандмауэр UFW.
В этом руководстве я включу UFW брандмауэра Ubuntu. Я открою порты HTTP и HTTPS, а затем открою новый порт 19999 для доступа к Netdata Dashboard.
Убедитесь, что вы установили пакет брандмауэра UFW, если нет, используйте приведенную ниже команду для его установки.
apt install -y ufw
Теперь откройте порты для ssh, http, https и netdata port 19999, используя приведенные ниже команды ufw allow.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 19999/tcp
Затем запустите брандмауэр UFW и добавьте его для автоматического запуска во время загрузки.
ufw enable
Введите y для yes и нажмите Enter.
Когда вы закончите с этим, проверьте состояние брандмауэра, как показано ниже.
ufw status
И вы получите новые порты в списке, как показано ниже.
Шаг 6 — Тестирование
Откройте браузер и введите адрес сервера с портом 19999.
Вы должны увидеть панель мониторинга Netdata.
Нажмите на локальный nginx справа и посмотрите активные подключения Nginx, запросы, статус и скорость подключения.
Веб-сервер Nginx теперь отслеживается с помощью Netdata, а Netdata установлена на сервере Ubuntu 16.04.
Ссылка
- https://github.com/firehol/netdata/wiki/