База знаний по Open Source
Авторизация
Поиск по базе знаний

top для nginx или apache2

После того, как сервер nginx установлен и под ним запущены  сайты часто возникает необходимость отслеживать активность nginx в реальном масштабе времени. В принципе это можно сделать и при помощи широко распространенных систем мониторинга типа Nagios, Zabbix, Munin, но не всегда есть возможность и необходимость устанавливать эти системы.

Существует небольшая программа ngxtop которая позволяет осуществлять мониторинг быстро и изящно, в стиле широко известной программы тор. Она на самом деле очень похожа на top.

ngxtop осуществляет парсинг лог-файлов через заданный интервал времени и высвечивает настраиваемые результаты активности nginx в удобочитаемом виде. Если указать путь до access log файла apache – то будет мониторить и его.

Установка ngxtop в Ubuntu

Так как ngxtop написана на Python, то необходимо установить pip:

$ sudo apt-get install python-pip

Затем устанавливаем ngxtop:

$ sudo pip install ngxtop

Использование 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

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

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

$ ngxtop

По умолчанию будут высвечиваться 10 строк активности Nginx, отсортированных в порядке поступления.

ngxtop

Для отображения top-20 наиболее частых запросов:

$ ngxtop -n 20

Для получения информации об Nginx:

$ ngxtop info

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

$ ngxtop print request http_user_agent remote_addr
ngxtop3

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

$ ngxtop top remote_addr
ngxtop2

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

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

Man-а нет, но есть достаточно подробный –help. Программка достаточно удобная, чтобы посмотреть, что твориться на сервере nginx или apache2.