ngxtop

ngxtop — консольная *top утилита для анализа логов Nginx в режиме реального времени.

Для установки на сервере нужен будет только python, далее саму утилиту мы поставим с помощью pip:

# pip install ngxtop
Примеры использования.

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

# ngxtop -l /home/path/to/logs/sysadmin.pm.log

При этом, данные будут обновляться в автоматическом режиме по мере появления новых записей в логе:

ngxtop

Утилита удобна тем, что мы можем так же выполнять сортировку и выборку по нужным нам параметрам.

  • Например, мы можем вывести топ IP адресов, которые подключаются к сайту:
# ngxtop --group-by remote_addr -l /home/path/to/logs/sysadmin.pm.log
  • Или вывести информацию только о тех соединениях, которые получили ответ от сервера 200, показав при этом, их рефер:
# ngxtop -i 'status == 200' print request status http_referer -l /home/path/to/logs/sysadmin.pm.log
  • Можем так же и обрабатывать данные фильтруя их по вхожению в адрес на сайте. Например, показать статистику только для соединений с кодом ответа 200, для адресов, которые начинаются с «/nginx»:
# ngxtop --filter 'status == 200 and request_path.startswith("/nginx")' -l /home/path/to/logs/sysadmin.pm.log
  • Разумеется, мы можем так же и проанализировать уже записанный лог, для этого, воспользуемся параметром —no-follow:
# ngxtop --no-follow -l /home/path/to/logs/sysadmin.pm.log

… и получим информацию по соединениям, которые были записаны за всё время жизни лог-файла.

ngxtop

Вот такая простая, но в то же время очень функциональная утилита, которую стоит взять на вооружение.

3 thoughts on “ngxtop

    1. Разработчик на это отвечает так:

      Note: ngxtop is primarily developed and tested with python2 but also supports python3.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *