Nginx Log日志統(tǒng)計分析常用命令

用shell實現(xiàn)統(tǒng)計nginx日志中出現(xiàn)次數(shù)最多的前k個ip?

awk '{print $1}' logfile | sort | uniq -c | sort -nr -k1 | head -n 10?

#說明: awk '{print $1}' # 取數(shù)據(jù)的低1域?

sort # 對ip進(jìn)行排序, ip相同的在一起?

uniq -c # 打印每重復(fù)行出現(xiàn)的次數(shù)?

sort -nr -k1 # 按次數(shù)倒序排序, 以第一列為標(biāo)準(zhǔn)排序


IP相關(guān)統(tǒng)計

統(tǒng)計IP訪問量(獨立ip訪問數(shù)量)

awk'{print $1}'access.log |sort-n |uniq|wc-l

查看某一時間段的IP訪問量(4-5點)

grep"07/Apr/2017:0[4-5]"access.log |awk'{print $1}'|sort|uniq-c|sort-nr |wc-l

查看訪問最頻繁的前100個IP

awk'{print $1}'access.log |sort-n |uniq-c |sort-rn |head-n100

查看訪問100次以上的IP

awk'{print $1}'access.log |sort-n |uniq-c |awk'{if($1 >100) print $0}'|sort-rn

查詢某個IP的詳細(xì)訪問情況,按訪問頻率排序

grep'127.0.01'access.log |awk'{print $7}'|sort|uniq-c |sort-rn |head-n100

頁面訪問統(tǒng)計


查看訪問最頻的頁面(TOP100)

awk'{print $7}'access.log |sort|uniq-c |sort-rn |head-n100

查看訪問最頻的頁面([排除php頁面】(TOP100)

grep-v".php"access.log |awk'{print $7}'|sort|uniq-c |sort-rn |head-n100

查看頁面訪問次數(shù)超過100次的頁面

cataccess.log |cut-d''-f7|sort|uniq-c |awk'{if ($1 > 100) print $0}'|less

查看最近1000條記錄,訪問量最高的頁面

tail-1000access.log |awk'{print $7}'|sort|uniq-c|sort-nr|less

每秒請求量統(tǒng)計

統(tǒng)計每秒的請求數(shù),top100的時間點(精確到秒)

awk'{print $4}'access.log |cut-c14-21|sort|uniq-c|sort-nr|head-n100

每分鐘請求量統(tǒng)計

統(tǒng)計每分鐘的請求數(shù),top100的時間點(精確到分鐘)

awk'{print $4}'access.log |cut-c14-18|sort|uniq-c|sort-nr|head-n100

每小時請求量統(tǒng)計

統(tǒng)計每小時的請求數(shù),top100的時間點(精確到小時)

awk'{print $4}'access.log |cut-c14-15|sort|uniq-c|sort-nr|head-n100

性能分析


在nginx log中最后一個字段加入$request_time

列出傳輸時間超過 3 秒的頁面,顯示前20條

cataccess.log|awk'($NF > 3){print $7}'|sort-n|uniq-c|sort-nr|head-20

列出php頁面請求時間超過3秒的頁面,并統(tǒng)計其出現(xiàn)的次數(shù),顯示前100條

cataccess.log|awk'($NF > 1 &&? $7~/\.php/){print $7}'|sort-n|uniq-c|sort-nr|head-100

蜘蛛抓取統(tǒng)計

統(tǒng)計蜘蛛抓取次數(shù)

grep'Baiduspider'access.log |wc-l

統(tǒng)計蜘蛛抓取404的次數(shù)

grep'Baiduspider'access.log |grep'404'|wc-l

TCP連接統(tǒng)計

查看當(dāng)前TCP連接數(shù)

netstat -tan |grep"ESTABLISHED"|grep":80"|wc-l

用tcpdump嗅探80端口的訪問看看誰最高

tcpdump -i eth0 -tnn dst port80-c1000|awk-F"."'{print $1"."$2"."$3"."$4}'|sort|uniq-c |sort-nr

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容