웹사이트 검색

ngxtop - Linux에서 실시간으로 Nginx 로그 파일 모니터링


ngxtop은 무료 오픈 소스이며 간단하고 유연하며 완전히 구성 가능하고 사용하기 쉬운 nginx 서버용 실시간 최고 수준 모니터링 도구입니다. nginx 액세스 로그(기본 위치는 항상 /var/log/nginx/access.log)를 구문 분석하여 데이터를 수집하고 nginx 서버의 유용한 측정항목을 표시하므로 사용자가 웹서버를 실시간으로. 또한 원격 서버에서 Apache 로그를 구문 분석할 수도 있습니다.

Linux에서 Ngxtop을 설치하고 사용하는 방법

ngxtop을 설치하려면 먼저 Linux에 PIP를 설치해야 합니다. 시스템에 pip를 설치한 후 다음 명령을 사용하여 ngxtop을 설치할 수 있습니다. .

sudo pip install ngxtop

Nginx 서버 요청 모니터링

이제 ngxtop을 설치했으므로 이를 실행하는 가장 쉬운 방법은 인수 없이 실행하는 것입니다. 이는 /var/log/nginx/access.log를 구문 분석하고 기본적으로 팔로우 모드(액세스 로그에 새 줄이 기록될 때 관찰)에서 실행됩니다.

sudo ngxtop
샘플 출력
running for 411 seconds, 64332 records processed: 156.60 req/sec

Summary:
|   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|---------+------------------+-------+-------+-------+-------|
|   64332 |         2775.251 | 61262 |  2994 |    71 |     5 |

Detailed:
| request_path                             |   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /abc/xyz/xxxx                            |   20946 |          434.693 | 20935 |     0 |    11 |     0 |
| /xxxxx.json                              |    5633 |         1483.723 |  5633 |     0 |     0 |     0 |
| /xxxxx/xxx/xxxxxxxxxxxxx                 |    3629 |         6835.499 |  3626 |     0 |     3 |     0 |
| /xxxxx/xxx/xxxxxxxx                      |    3627 |        15971.885 |  3623 |     0 |     4 |     0 |
| /xxxxx/xxx/xxxxxxx                       |    3624 |         7830.236 |  3621 |     0 |     3 |     0 |
| /static/js/minified/utils.min.js         |    3031 |         1781.155 |  2104 |   927 |     0 |     0 |
| /static/js/minified/xxxxxxx.min.v1.js    |    2889 |         2210.235 |  2068 |   821 |     0 |     0 |
| /static/tracking/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 |

종료하려면 [Ctrl + C]를 누르세요.

다른 액세스 로그 구문 분석

예를 들어 표시된 대로 -l 플래그를 사용하여 특정 웹사이트나 웹 앱에 대한 다른 액세스 로그를 구문 분석할 수 있습니다.

sudo ngxtop -l /var/log/nginx/site1/access.log

클라이언트의 상위 소스 IP 나열

다음 명령은 사이트에 액세스하는 클라이언트의 모든 상위 소스 IP를 나열합니다.

sudo ngxtop remote_addr -l  /var/log/nginx/site1/access.log
샘플 출력
running for 20 seconds, 3215 records processed: 159.62 req/sec

top remote_addr
| remote_addr     |   count |
|-----------------+---------|
| 118.173.177.161 |      20 |
| 110.78.145.3    |      16 |
| 171.7.153.7     |      16 |
| 180.183.67.155  |      16 |
| 183.89.65.9     |      16 |
| 202.28.182.5    |      16 |
| 1.47.170.12     |      15 |
| 119.46.184.2    |      15 |
| 125.26.135.219  |      15 |
| 125.26.213.203  |      15 |

특정 로그 형식 사용

log_format 지시문에 지정된 로그 형식을 사용하려면 표시된 대로 -f 옵션을 사용하세요.

sudo ngxtop -f main -l /var/log/nginx/site1/access.log

원격 서버에서 Apache 로그 구문 분석

일반 형식으로 원격 서버에서 Apache 로그 파일을 구문 분석하려면 다음과 유사한 명령을 사용합니다(사용자 이름 및 원격 서버 IP 지정).

ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common
샘플 출력
running for 20 seconds, 1068 records processed: 53.01 req/sec

Summary:
|   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|---------+------------------+-------+-------+-------+-------|
|    1068 |        28026.763 |  1029 |    20 |    19 |     0 |

Detailed:
| request_path                             |   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /xxxxxxxxxx                              |     199 |        55150.402 |   199 |     0 |     0 |     0 |
| /xxxxxxxx/xxxxx                          |     167 |        47591.826 |   167 |     0 |     0 |     0 |
| /xxxxxxxxxxxxx/xxxxxx                    |      25 |         7432.200 |    25 |     0 |     0 |     0 |
| /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxxx      |      22 |          698.727 |    22 |     0 |     0 |     0 |
| /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxx       |      19 |         7431.632 |    19 |     0 |     0 |     0 |
| /xxxxx/xxxxx/                            |      18 |         7840.889 |    18 |     0 |     0 |     0 |
| /xxxxxxxx/xxxxxxxxxxxxxxxxx              |      15 |         7356.000 |    15 |     0 |     0 |     0 |
| /xxxxxxxxxxx/xxxxxxxx                    |      15 |         9978.800 |    15 |     0 |     0 |     0 |
| /xxxxx/                                  |      14 |            0.000 |     0 |    14 |     0 |     0 |
| /xxxxxxxxxx/xxxxxxxx/xxxxx               |      13 |        20530.154 |    13 |     0 |     0 |     0 |

더 많은 사용 옵션을 보려면 다음 명령을 사용하여 ngxtop 도움말 메시지를 확인하세요.

ngxtop -h  

ngxtop Github 저장소: https://github.com/lebinh/ngxtop

지금은 그게 다야! 이 기사에서는 Linux 시스템에서 ngxtop을 설치하고 사용하는 방법을 설명했습니다. 질문이 있거나 이 가이드에 추가할 추가 의견이 있는 경우 아래 의견 양식을 사용하세요. 또한 유사한 도구를 발견한 경우 알려주시면 감사하겠습니다.