Как в реальном времени мониторить работы Ngnix

мониторинг

После того, как веб-сервер Nginx запущен, вы хотите мониторить его работу в режиме реального времени. На данный момент, средств выполняющих данную функцию довольно много. Например, Nagios, Zabbix, Munin и другие.

Однако, если вам не нужно простое средство не требующий сложной настройки, предлагаю обратить на ngxtop.

Вы сразу же сказать, что ngxtop (как его имя и интерфейса) основывается на команде знаменитого началу. Ngxtop парсит журнал логов Nginx (он также может работать с логами Apache2), и красиво выводить результаты в консоле в режиме реального времени.

Установка

Ставим ngxtop

1
sudo apt-get install ngxtop

Использование

Базовое использование ngxtop выглядит следующим образом.

1
2
3
ngxtop [options]
ngxtop [options] (print|top|avg|sum) <var>
ngxtop info

Вот некоторые из распространенных вариантов.

  • -l : полный путь к файлу журнала доступа (Nginx или Apache2)
  • -f : формат журнала доступа
  • —no-follow: обработки текущего файла журнала снимок, вместо новых линий, как они написаны в файл журнала в режиме реального времени
  • -t : интервал обновления
  • -n : число строк в дисплее
  • -o : критерии заказа (по умолчанию: count)
  • -a <ехр> …, —a <ехр> …: агрегации sum, avg, min, max, и т.д.
  • -v: подробный вывод
  • -i <filter-expression>: обрабатывать только записи сочетается с фильтром

Вот встроенные переменные (представленные как в выше).

  • body_bytes_send
  • HTTP_REFERER
  • HTTP_USER_AGENT
  • remote_addr
  • remote_user
  • request
  • status
  • time_local

Мониторинг Nginx с помощью ngxtop

По умолчанию, ngxtop попытается определить местоположение журнала доступа Nginx с его конфигурационном файле (/etc/nginx/nginx.conf). Таким образом, для мониторинга Nginx, просто запустите:

1
ngxtop

Он будет отображать 10 запросов, обслуживаемых Nginx, отсортированные по количеству запросов. Для отображения топ-20 самых частых запросов:

1
ngxtop -n 20

Чтобы получить информацию о Nginx (включая имеющиеся переменной информации):

1
ngxtop info

Можно настроить переменные просмотров. Для этого, просто перечислить переменные интересующие Вас. Команда “print” будет отображать индивидуальные запросы.

1
ngxtop print request http_user_agent remote_addr

Для отображения топ IP-адреса клиентов:

1
ngxtop top remote_addr

Для отображения запросов со статусом 404:

1
ngxtop -i 'status == 404' print request status

Кроме Nginx, ngxtop способна обрабатывать другие файлы журналов, таких как журналы доступа Apache. Для мониторинга веб-сервер Apache, используйте следующую команду:

1
tail -f /var/log/apache2/access.log | ngxtop -f common