yum install epel-release
yum install -y python-pip
pip install ngxtop
 
 
ngxtop --help

ngxtop 參數 print|top|avg|sum
ngxtop info 顯示日誌格式資訊

-l <file>或--access-log <file> 設置日誌路徑
-f <format>或--log-format <format> 設置日誌格式,預設格式combined,另外一種較常用格式為common
--no-follow 處理以前的日誌,即時日誌不做處理
-t <seconds> 或 --interval <seconds> 刷新頻率,預設2秒
-g <var>或 --group-by <var> 按變數分組,預設顯示 request_path
-w <var>或 --having <expr> 篩選 [default: 1]
-o <var>或 --order-by <var> 輸出的排序方式,預設: 訪問數
-n <number>或 --limit <number> 顯示top多條,預設前top 10條
-a <exp> ...或 --a <exp> ... 對輸出欄位做處理,可選 sum, avg, min, max
-v或 --verbose 詳細輸出
-d或 --debug debug模式,輸出每行及記錄
-h或 --help 顯示説明詳細
--version 顯示版本資訊

高級參數

-c <file>或 --config <file> 指定nginx設定檔,自動分析日誌格式
-i <filter-expression>或 --filter <filter-expression> 滿足運算式的過濾將被處理
-p <filter-expression>或 --pre-filter <filter-expression> in-filter expression to check in pre-parsing phase.

 

另外一些變數可以在分析時用到,名字含義同日誌格式裡的設置:remote_addr、remote_user、time_local、request、request_path、status、body_bytes_sent、http_referer、http_user_agent。

 
日誌分析
ngxtop -l /usr/local/web/nginx/logs/access.log
 
按rquest_path且是404的前10請求:ngxtop -l /home/wwwlogs/www.vpser.net.log --no-follow top request_path --filter 'status == 404'
按總bytes sent最高的前10:ngxtop -l /home/wwwlogs/www.vpser.net.log --no-follow --order-by 'avg(bytes_sent) * count'
按remote address進行排序前10:ngxtop -l /home/wwwlogs/www.vpser.net.log --no-follow --group-by remote_addr
顯示400或更高返回狀態碼的且只顯示request、status、http_referer這三列資訊:ngxtop -l /home/wwwlogs/www.vpser.net.log --no-follow -i 'status >= 400' print request status http_referer
顯示bytes_sent平均值且狀態碼為200且request_path以vpser開始的前10:ngxtop -l /home/wwwlogs/www.vpser.net.log --no-follow avg bytes_sent --filter 'status == 200 and request_path.startswith("vpser")'
 
 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料