Как мониторить сетевую активность nginx?

Аватар пользователя admin

Далеко не все знают, что у nginx есть механизм получения статуса серверного процесса, который отображает крайне полезную и важную статическую информацию. Статус можно получить через опрос специального служебного URL. Как ни странно, но во многих дистрибутивах, в конфиге по умолчанию, этот URL нигде не описан. Ниже рассказывается, как определить этот служебный URL в конфигурационном файле nginx и получить статистику серверного процесса nginx.

Необходимо в конфигурационный файл nginx в секцию, описывающую какой-либо виртуальный хост (Т.е. в какую-либо секцию Server), включить подсекцию:

        location = /nginx_status {
            stub_status on;
            access_log   off;
            allow 127.0.0.1;
            deny all;
        }


Как можно увидеть, в данной подсекции есть директива, описывающая IP адрес для доступа к данному URL (allow 127.0.0.1;). Если вам необходимо получать информацию о состоянии nginx с других IP, добавьте строки allow с указанием соответствующих IP и/или подсетей.

После релоада или рестарта nginx вы можете запросить в браузере нужный вам URL: http://yoursite.ru/nginx_status, где yoursite.ru нужно заменить на имя вашего сайта, в секцию Server которого вы добавили указанную выше подсекцию. Вы увидите что-то типа:

Active connections: 1
server accepts handled requests
 21960 21960 41804
Reading: 0 Writing: 1 Waiting: 0

 

За подробным описанием параметров вызова данного URL я отправляю вас к документации nginx.

0
Ваш рейтинг: Нет