ngxtop – программа мониторинга nginx

ngxtop — это бесплатный открытый исходный код, простой, гибкий, полностью настраиваемый и простой в использовании в режиме реального времени. Он собирает данные путем анализа журнала доступа nginx (по умолчанию всегда находится /var/log/nginx/access.log) и отображает полезные метрики вашего сервера nginx, что помогает вам следить за вашим веб-сервером в режиме реального времени. Это также позволяет вам анализировать журналы Apache с удаленного сервера.

Как установить на Linux?

1
pip install ngxtop

если в ответ получите ответ

1
-bash: pip: command not found

значит нужно установить компонент

1
yum -y install python-pip

Мониторинг запросов к серверу Nginx

Теперь вы установили ngxtop, самый простой способ запустить его без каких-либо аргументов. Это проанализирует /var/log/nginx/access.log и запустится в следящем режиме по умолчанию.

1
ngxtop

Примерный вывод

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
running for 300 seconds, 54332 records processed: 140.70 req/sec

Summary:
|   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|---------+------------------+-------+-------+-------+-------|
|   54332 |         1575.251 | 54332 |  2994 |    71 |     5 |

etailed:
| request_path                             |   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /theme/exmp/old                            |   20946 |          434.693 | 20935 |     0 |    11 |     0 |
| /wp.json                              |    5633 |         1483.723 |  5633 |     0 |     0 |     0 |
| /wp/yyy/aaaaaa                 |    3629 |         6835.499 |  3626 |     0 |     3 |     0 |
| /wp/yyy/ddddd                      |    3627 |        15971.885 |  3623 |     0 |     4 |     0 |
| /xxxxx/xxx/xxxxxxx                       |    3624 |         7830.236 |  3621 |     0 |     3 |     0 |
| /stats/js/minifest/utils.min.js         |    3031 |         1781.155 |  2104 |   927 |     0 |     0 |
| /stats/js/minifest/xxxxxxx.min.v1.js    |    2889 |         2210.235 |  2068 |   821 |     0 |     0 |
| /stats/track/js/xxxxxxxx.js          |    2594 |         1325.681 |  1927 |   667 |     0 |     0 |
| /xxxxx/xxx.html                          |    2521 |          573.597 |  2520 |     0 |     1 |     0 |
| /xxxxx/xxxx.json                         |    1840 |          800.542 |  1839 |     0 |     1 |     0 |

Разбор других журналов

Отследить определенный лог виртуального хоста

1
ngxtop -l /var/log/nginx/blog.it-svc.com.ua.log

Просмотр IP клиентов

1
2
ngxtop remote_addr
ngxtop remote_addr -l /var/log/nginx/blog.it-svc.com.ua.log

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

1
ngxtop -n 20

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

1
ngxtop -n 30 print request http_user_agent remote_addr

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

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