日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

命令行下Apache日志统计举例

發(fā)布時間:2025/3/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 命令行下Apache日志统计举例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Apache日志統(tǒng)計(jì)舉例

加些來了解一下如何統(tǒng)計(jì)Apache的訪問日志,一般可以用tail命令來實(shí)時查看日志文件變化,但是各種的應(yīng)用系統(tǒng)中的日志會非常復(fù)雜,一堆長度超過你瀏覽極限的日志出現(xiàn)在你眼前時,你會覺得非常無奈,怎么辦呢?這時可以用grep、sed、awk和sort等篩選工具幫助你解決這個問題。下面總結(jié)了幾個常見分析方法。

(1)查看IP($1代表IP)

#cataccess_log | awk '{print $1}'

(2)對IP排序

#cataccess_log | awk '{print $1}'|sort

(3)打印每一重復(fù)行出現(xiàn)的次數(shù),“uniq -c”表示標(biāo)記出重復(fù)數(shù)量。

#cataccess_log | awk '{print $1}'|sort|uniq -c

(4)排序并統(tǒng)計(jì)行數(shù)

#cataccess_log | awk '{print $1}'|sort|uniq -c|sort -rn|wc -l

(5)顯示訪問前10位的IP地址便于查找***源

#cat access_log|awk '{print $1}'|sort|uniq-c|sort -nr|head -10

注意awk '{print$1',它表示取日志的第一段,如果換成別的日志,其IP地址在第3段那么就要改變相應(yīng)數(shù)值。

(6)顯示指定時間以后的日志($4代表時間)

#cat access_log |awk'$4>="[23/Jul/2012:01:00:01"' access_log

推薦大家在排錯時,同時打開多個終端,比如在一個窗口中顯示錯誤日志,在另一個窗口中顯示訪問日志,這樣就能夠隨時獲知網(wǎng)站上發(fā)生的情況。

(7)找出訪問量最大的IP,并封掉(對排錯很有幫助)

#cat access_log |awk '{print $1}'|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 '{print $1}'|sort|uniq -c|sort -nr |head -10

(8)找出Apache日志中,下載最多的幾個exe文件(下載類網(wǎng)站常用,這里以.exe擴(kuò)展名舉例)

[root@localhost httpd]# cataccess_log |awk '($7 ~/.exe/){print $10 "" $1 ""$4""$7}' |sort -n |uniq -c |sort -nr |head -10

??? 2 - 192.168.150.1[25/Jul/2012:05:46:05/test.exe

1 -192.168.150.152[25/Jul/2012:05:46:47/test.exe

?

使用如下命令:

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

這條命令經(jīng)過增加一個>10000000的條件判斷內(nèi)容就可以顯示出大于10MB的exe文件,并統(tǒng)計(jì)對應(yīng)文件發(fā)生次數(shù),這條命令對于網(wǎng)站日常分析是非常有幫助的,大家可以靈活使用。

?

?(12)用goaccess工具分析

GoAccess是一款開源、實(shí)時,運(yùn)行在命令行終端下的web日志分析工具。該工具提供快速、多樣的HTTP狀態(tài)統(tǒng)計(jì),如果你覺得以上管道、腳本麻煩的話,請用這個工具試試吧。

Debian Linux安裝:

#ape-get install goaccess

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

運(yùn)行效果如下:

?輕按下箭頭,我們看看goaccess給我們呈現(xiàn)更多的統(tǒng)計(jì)數(shù)據(jù)吧,細(xì)心的讀者發(fā)現(xiàn)BW N /A 帶寬怎么沒統(tǒng)計(jì)出來?下面我們在加一個 -b 參數(shù)試試吧,如下圖所示。

注意:以上工具和技巧同樣適用于Nginx、Squid的訪問日志。

Apache日志分析實(shí)戰(zhàn)案例:


1.Apache Segmentaion Fault故障處理案例分析 http://chenguang.blog.51cto.com/350944/1384907

?

總結(jié)

以上是生活随笔為你收集整理的命令行下Apache日志统计举例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。