Awk 等工具對apache 訪問日誌中各種處理

2021-08-25 02:42:01 字數 1424 閱讀 8537

apache日誌分析可以獲得很多有用的資訊,現在來試試最基本的,獲取最多訪問的前10個ip位址及訪問次數。

既然是統計,那麼awk是必不可少的,好用而高效。

命令如下:

awk ' end ' 日誌檔案 | sort -n | tail

首先用awk統計出來乙個列表,然後用sort進行排序,最後用tail取最後的10個。

以上引數可以略作修改顯示更多的資料,比如將tail加上-n引數等,另外日誌格式不同命令也可能需要稍作修改。

當前web伺服器中聯接次數最多的ip位址

#netstat -ntu |awk '' |sort | uniq -c| sort -nr

檢視日誌中訪問次數最多的前10個ip

#cat access_log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '' | head -n 10 |less

檢視日誌中出現100次以上的ip

#cat access_log |cut -d ' ' -f 1 |sort |uniq -c | awk ''|sort -nr |less

檢視最近訪問量最高的檔案

#cat access_log |tail -10000|awk ''|sort|uniq -c|sort -nr|less

檢視日誌中訪問超過100次的頁面

#cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '' | less

統計某url,一天的訪問次數

#cat access_log|grep '12/aug/2009'|grep '/images/index/e1.gif'|wc|awk ''

前五天的訪問次數最多的網頁

#cat access_log|awk ''|uniq -c |sort -n -r|head -20

從日誌裡檢視該ip在幹嘛

#cat access_log | grep 218.66.36.119| awk '' | sort | uniq -c | sort -nr | less

列出傳輸時間超過 30 秒的檔案

#cat access_log|awk '($nf > 30)' |sort -n|uniq -c|sort -nr|head -20

列出最最耗時的頁面(超過60秒的)

#cat access_log |awk '($nf > 60 && $7~/\.php/)' |sort -n|uniq -c|sort -nr|head -100

awk對apache日誌訪問的處理

awk名稱 於他的創始人姓氏的首字母 alfred aho peter weinberger和brian kernighan awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並產生報告時顯得尤為強大。awk其實是一門程式語言,它支援條件判斷 陣列 迴圈等功能。...

Apache 訪問日誌管理

大多元素為靜態檔案,如 css js等,這些元素可以不用記錄到訪問日誌中。測試結果 使用curl訪問png等格式檔案時日誌不會記錄訪問資訊。訪問其它格式仍然會記錄訪問資訊。使用瀏覽器訪問亦如此。日誌一直記錄總有一天會把整個磁碟佔滿,所以有必要讓它自動切割,並刪除老的日誌檔案。說明 rotatelog...

Awk分析nginx訪問日誌

awk是linux系統下乙個處理文字的程式語言工具,能用簡短的程式處理標準輸入或檔案 資料排序 計算以及生成報表等等,應用非常廣泛。預設日誌格式 remote addr remote user time local request status body bytes sent http refere...