Утилита Ngxtop мониторит access-логи и выводит их в консоль в стиле известной программы тор.
Установка выполняется следующим образом:
# pip install ngxtop
Синтаксис использования утилиты:
ngxtop [options]
ngxtop [options] (print|top|avg|sum)
Список всех доступных опций можно посмотреть командой:
# ngxtop --help
По умолчанию, Ngxtop самостоятельно определяет местоположение access-лога Nginx из конфигурационного файла /etc/nginx/nginx.conf. Если таких логов несколько, необходимо будет выбрать с каким именно логом работать:
# ngxtop
Multiple access logs detected in configuration:
1. /var/log/nginx/access502.log
2. /var/log/nginx/access.api.log
3. /var/log/nginx/access.img.log
4. /var/log/nginx/access.log
5. /var/log/nginx/access404.log
Чтобы посмотреть запросы со статусом 404 можно воспользоваться командой:
# ngxtop -i 'status == 404' print request status
результат выполнения:
running for 130 seconds, 150 records processed: 1.15 req/sec
request, status:
|request | status |
|-----------------------------------------------------+----------|
| GET /browserconfig.xml HTTP/1.1 | 404 |
| GET /employer/my/archive/2107569/98483600/ HTTP/1.1 | 404 |
| GET /employer/my/archive/2107569/98483867/ HTTP/1.1 | 404 |
| GET /jobs/1045534/ HTTP/1.1 | 404 |
| GET /jobs/1230564/ HTTP/1.1 | 404 |
| GET /jobs/1254320/ HTTP/1.1 | 404 |
| GET /jobs/1304769/ HTTP/1.1 | 404 |
| GET /jobs/1326496/ HTTP/1.1 | 404 |
Посмотреть IP-адреса, с которых приходит больше всего запросов можно командой:
# ngxtop top remote_addr
результат выполнения:
running for 8 seconds, 1759 records processed: 217.15 req/sec
top remote_addr
| remote_addr | count |
|-----------------+---------|
| 92.60.184.91 | 45 |
| 66.249.78.10 | 42 |
| 77.120.121.122 | 42 |
| 66.249.89.63 | 28 |
| 91.206.201.152 | 19 |
| 37.229.17.176 | 17 |
| 77.87.193.40 | 17 |
| 157.55.39.7 | 16 |
| 188.115.135.245 | 16 |
| 89.184.80.168 | 16 |