Пошаговое руководство: Как включить страницу статуса Nginx
09:55, 02.05.2025
Веб-сервер Nginx славится своей производительностью и масштабируемостью, поэтому его часто выбирают системные администраторы. Одной из его мощных функций является возможность включения страницы статуса, на которой в режиме реального времени отображаются показатели работоспособности и производительности вашего сервера. В этом руководстве мы расскажем вам о том, как включить страницу статуса Nginx, настроить доступ и интегрировать ее с решениями для мониторинга.
Но прежде чем мы перейдем непосредственно к этому, убедитесь, что вы установили и настроили NGINX.
Активация модуля ngx_http_stub_status_module для NGINX
Прежде чем просматривать страницу статуса Nginx, необходимо убедиться, что модуль ngx_http_stub_status_module активирован. В большинстве дистрибутивов Nginx он обычно есть, но если вы обнаружите, что его нет, вам следует установить другую версию Nginx, в которой этот модуль есть.
Чтобы проверить, включен ли модуль, выполните следующую команду:
nginx -V 2>&1 | grep -o with-http_stub_status_module
Если в результатах появится http_stub_status_module, это означает, что модуль включен. Если его нет, подумайте об установке той версии Nginx, в которой есть упомянутый модуль. Большинство менеджеров пакетов предлагают пакет nginx-full, который содержит модуль http_stub_status_module. Кроме того, вы можете выполнить следующую команду для его установки:
apt-get install nginx-full
Настройка панели статуса NGINX
Теперь, когда мы убедились, что модуль у нас есть, давайте настроим страницу статуса. Для этого откройте файл конфигурации Nginx (расположенный по адресу /etc/nginx/nginx.conf или /etc/nginx/conf.d/default.conf).
Установите конфигурацию сервера по умолчанию
Найдите в файле блок default_server. Если вы его не найдете, вам придется его создать, вставив в блок конфигурации HTTP следующее:
server {
listen 80;
listen [::]:80;
server_name _; # catch-all domain
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Вставьте директиву stub_status
Теперь нам нужно определить блок location для модуля stub_status. Блок location поможет нам определить HTTP-путь для страницы статуса.
Добавьте следующий блок местоположения в блок сервера по умолчанию:
location /nginx/status {
stub_status;
}
Реализация контроля доступа для страницы статуса NGINX
Страница статуса требует контроля доступа, поскольку она содержит конфиденциальные данные, которые могут быть использованы злоумышленниками. Вам нужно ограничить IP-адреса, которые могут просматривать страницу статуса, добавив директивы allow/deny в блок location. Это можно сделать, выполнив следующие команды:
location /nginx/status {
stub_status;
allow 127.0.0.1;
deny all;
}
Мы рекомендуем разрешить доступ к странице внутренним сетям, добавив строку: allow 10.0.0.0/8.
Примените изменения и проверьте конфигурацию
Далее давайте применим изменения и проверим конфигурацию. Сначала сохраните файл конфигурации Nginx. Затем проверьте конфигурацию, выполнив следующую команду:
nginx -t
Когда конфигурация будет полностью проверена, перезапустите сервер Nginx, чтобы применить изменения:
nginx -s reload
Просмотр панели статуса NGINX
Существует несколько способов просмотра панели статуса Nginx: через веб-браузер или инструмент командной строки.
Если вы хотите использовать браузер, откройте окно 127.0.0.1/nginx/status.
Если вы хотите использовать инструмент командной строки, например curl, выполните следующую команду:
curl http://127.0.0.1:80/nginx/status
Анализ метрик статуса NGINX
На странице статуса NGINX отображается несколько показателей, в том числе:
- Активные соединения: Количество активных в данный момент соединений.
- Принятые соединения: Общее количество принятых соединений.
- Обработанные соединения: Общее количество обработанных соединений.
- Запросы: Общее количество обслуженных запросов.
- Читаемые запросы: Количество запросов, которые в данный момент читаются.
- Запись ответов: Количество ответов, записываемых в данный момент.
- Ожидание соединения: Количество соединений, ожидающих ответа.
- Чтение из файла: Количество запросов на чтение из файла.
Подключение данных о состоянии NGINX к системам мониторинга
Важно подключать данные о состоянии Nginx к системам мониторинга, и то, как вы будете это делать, зависит от системы.
Использование DataDog для мониторинга NGINX
Чтобы начать использовать DataDog для мониторинга Nginx, отредактируйте файл nginx.d/conf.yaml и установите параметр nginx_status_url в значение http://127.0.0.1:80/nginx/status.
Все, что осталось сделать, – перезапустить DataDog.
Общее решение для мониторинга времени работы
Вы также можете использовать другие решения для мониторинга, такие как Prometheus, Grafana или любой другой сервис мониторинга времени работы, который позволяет проверять HTTP. Просто укажите этим инструментам URL страницы статуса Nginx.
Заключение
Включение страницы статуса Nginx – это простой процесс, который позволяет получить ценные сведения о производительности вашего сервера. Следуя шагам, описанным в этом руководстве, вы сможете эффективно контролировать свой сервер Nginx, обеспечивая оптимальную производительность и быстрое реагирование на любые потенциальные проблемы. Интеграция этих данных с решениями для мониторинга, такими как DataDog, повышает ваши возможности по управлению и поддержанию здоровой серверной среды.