ngxtop是一款免費、開源、簡單、靈活、完全可配置且易於使用的即時類似top的監控工具,用於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
標誌解析不同的訪問日誌,例如為特定網站或Web應用程序。
$ 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。如果您有任何問題,或者對本指南有任何額外想法,請使用下方的評論表單。此外,如果您遇到任何類似的工具,也請告訴我們,我們將不勝感激。
Source:
https://www.tecmint.com/ngxtop-monitor-nginx-log-files-in-real-time-in-linux/