После того, как сервер nginx установлен и под ним запущены сайты часто возникает необходимость отслеживать активность nginx в реальном масштабе времени. В принципе это можно сделать и при помощи широко распространенных систем мониторинга типа Nagios, Zabbix, Munin, но не всегда есть возможность и необходимость устанавливать эти системы.
Существует небольшая программа ngxtop которая позволяет осуществлять мониторинг быстро и изящно, в стиле широко известной программы тор. Она на самом деле очень похожа на top.
ngxtop осуществляет парсинг лог-файлов через заданный интервал времени и высвечивает настраиваемые результаты активности nginx в удобочитаемом виде. Если указать путь до access log файла apache — то будет мониторить и его.
Так как ngxtop написана на Python, то необходимо установить pip:
$ sudo apt-get install python-pipЗатем устанавливаем ngxtop:
$ sudo pip install ngxtopФормат команды ngxtop:
ngxtop [options]
ngxtop [options] (print|top|avg|sum) <var>
ngxtop info
Некоторые, наиболее часто используемые опции
-l <file>: полный путь до log файла (Nginx или Apache2). Лог файл nginx хватается по умолчанию.
-t <seconds>: интервал обновления в секундах
-n <number>: количество выводимых строк.
-o <var>: сортировка (по умолчанию: count)
-a <exp> …, —a <exp> …: add exp (must be aggregation exp: sum, avg, min, max, etc.) into output
-v: verbose output
-i <filter-expression>: только записи совпадающие с фильтром
Набор отображаемых переменных:
body_bytes_send
http_referer
http_user_agent
remote_addr
remote_user
request
status
time_local
По умолчанию, ngxtop будет определять путь до access log из файла конфигурации (/etc/nginx/nginx.conf), так что можно запустить просто:
$ ngxtopПо умолчанию будут высвечиваться 10 строк активности Nginx, отсортированных в порядке поступления.

Для отображения top-20 наиболее частых запросов:
$ ngxtop -n 20Для получения информации об Nginx:
$ ngxtop infoМожно настраивать переменные для отображения. Для этого используется команда «print» и перечень переменных для отображения
$ ngxtop print request http_user_agent remote_addr
Для отображения top IP адресов клиентов:
$ ngxtop top remote_addr
Для отображения запросов, чей статус 404:
$ ngxtop -i 'status == 404' print request statusMan-а нет, но есть достаточно подробный —help. Программка достаточно удобная, чтобы посмотреть, что твориться на сервере nginx или apache2.