NGINX: включение status-page

Автор: | 09/11/2014
 

nginx_logoВ дополнение к server_status для PHP-FPM и server-status для Apache HTTP – включение аналогичной страницы для NGINX.

Проверяем, собран ли NGINX  с поддержкой модуля http_stub_status_module:

# nginx -V | grep http_stub_status_module
nginx version: nginx/1.6.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx [...] --with-http_stub_status_module [...] --param=ssp-buffer-size=4 -m64 -mtune=generic'

Редактируем файл настроек /etc/nginx/nginx.conf (или другой файл конфигурации, в котором описан default-хост). В блоке server{} добавляем:

server {

    location /nginx_status {
        stub_status on;
        access_log   off;
        allow 37.***.***.56;
        allow 127.0.0.1;
        deny all;
    }

Проверяем:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

И перезапускаем:

# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

Получаем информацию:

# curl http://localhost/nginx_status
Active connections: 1
server accepts handled requests
 2 2 2
Reading: 0 Writing: 1 Waiting: 0

В результатах тут отображаются:

  • Active connections – общее количество открытых соединений (не пользователей, т.к. один пользователь может открыть несколько соединений);
  • Server accepts handled requests:
    • общее количество принятых соединений;.
    • общее количество обработанных соединений; как правило – должно быть одинаково с первым значением;
    • общее количество обработанных запросов; как правило – должно быть больше, чем второе значение;
    • поделив третье значение на второе – можно получить количество запросов в секунду, которое обрабатывает NGINX;
  • Reading – считывание заголовков запросов;
  • Writing – считывание или подготовка клиенту тела запросов;
  • Waitingkeep-alive соединения; обычно высчитывается как active – (reading + writing); это значение зависит от заданного значения keepalive-timeout.