Apache日誌統計

2021-06-28 00:11:56 字數 2057 閱讀 1127

加些來了解一下如何統計apache的訪問日誌,一般可以用tail命令來實時檢視日誌檔案變化,但是各種的應用系統中的日誌會非常複雜,一堆長度超過你瀏覽極限的日誌出現在你眼前時,你會覺得非常無奈,怎麼辦呢?這時可以用grep、sed、awk和sort等篩選工具幫助你解決這個問題。下面總結了幾個常見分析方法。

(1)檢視ip($1代表ip)

#cataccess_log | awk ''

(2)對ip排序

#cataccess_log | awk ''|sort

(3)列印每一重複行出現的次數,「uniq -c」表示標記出重複數量。

#cataccess_log | awk ''|sort|uniq -c

(4)排序並統計行數

#cataccess_log | awk ''|sort|uniq -c|sort -rn|wc -l

(5)顯示訪問前10位的ip位址

,便於查詢攻擊源

#cat access_log|awk ''|sort|uniq-c|sort -nr|head -10

注意awk ''|sort|uniq -c|sort -nr |more

9999192.168.150.179

11 192.168.150.1

#iptables -i input -s 192.168.150.179 -j drop

#iptables -i input -s 192.168.150.0/24 -j drop

如果將上面的shell做以下變形就可以得出訪問量top 10

#cat access_log |awk ''|sort|uniq -c|sort -nr |head -10

(8)

,這裡以.exe副檔名舉例)

使用如下命令:

#cat access_log |awk `($10 >10000000&& $7 ~/.exe/) ` |sort –n|uniq –c|sort –nr|head -10

這條命令經過增加乙個》10000000的條件判斷內容就可以顯示出大於10mb的exe檔案,並統計對應檔案發生次數,這條命令對於**日常分析是非常有幫助的,大家可以靈活使用。

(12)用goaccess工具分析

goaccess是一款開源、實時,執行在命令列終端下的web日誌分析工具。該工具提供快速、多樣的http狀態統計,如果你覺得以上管道、指令碼麻煩的話,請用這個工具試試吧。

debian linux安裝:

#ape-get install goaccess

#goaccess -f /var/log/apache2/access.log

執行效果如下:

輕按下箭頭,我們看看goaccess給我們呈現更多的統計資料吧,細心的讀者發現bw n /a 頻寬怎麼沒統計出來?下面我們在加乙個 -b 引數試試吧,如下圖所示。

注意:以上工具和技巧同樣適用於nginx、squid的訪問日誌。

用cat 統計apache 日誌ip

現有一段apache的日誌,需要從日誌中提取出訪問量最大的ip。使用shell實現。日誌如下 只是舉例,故資料量較小 1.要提取訪問量最大的ip,需要先從日誌中把ip段提取出來。cat aa.txt awk f 127.0.0.1 192.168.1.100 192.168.1.100 192.16...

命令列下Apache日誌統計舉例

加些來了解一下如何統計apache的訪問日誌,一般可以用tail命令來實時檢視日誌檔案變化,但是各種的應用系統中的日誌會非常複雜,一堆長度超過你瀏覽極限的日誌出現在你眼前時,你會覺得非常無奈,怎麼辦呢?這時可以用grep sed awk和sort等篩選工具幫助你解決這個問題。下面總結了幾個常見分析方...

解讀Apache日誌

解讀apache日誌 當你一步步地看到這裡的時候,相信你的www站點已經建好,並且已經在 internet上展現出來了。這時你可能就會關心誰造訪過你的站點,或者想知道 你的apache伺服器 現在的執行狀態與效能如何。下面我們一起通過解讀apache 的日誌來實現這個偉大的願望。一 盯著apache...