欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

apache日志文件詳解和實(shí)用分析命令

 更新時(shí)間:2014年03月05日 17:05:06   作者:  
這篇文章主要介紹了apache日志文件每條數(shù)據(jù)的請(qǐng)意義,以及一些實(shí)用日志分析命令,需要的朋友可以參考下

一.日志分析
如果apache的安裝時(shí)采用默認(rèn)的配置,那么在/logs目錄下就會(huì)生成兩個(gè)文件,分別是access_log和error_log
1).access_log
access_log為訪問(wèn)日志,記錄所有對(duì)apache服務(wù)器進(jìn)行請(qǐng)求的訪問(wèn),它的位置和內(nèi)容由CustomLog指令控制,LogFormat指令可以用來(lái)簡(jiǎn)化該日志的內(nèi)容和格式
例如,我的其中一臺(tái)服務(wù)器配置如下:

復(fù)制代碼 代碼如下:

CustomLog "| /usr/sbin/rotatelogs /var/log/apache2/%Y_%m_%d_other_vhosts_access.log 86400 480" vhost_combined


-rw-r--r-- 1 root root 22310750 12-05 23:59 2010_12_05_other_vhosts_access.log
-rw-r--r-- 1 root root 26873180 12-06 23:59 2010_12_06_other_vhosts_access.log
-rw-r--r-- 1 root root 26810003 12-07 23:59 2010_12_07_other_vhosts_access.log
-rw-r--r-- 1 root root 24530219 12-08 23:59 2010_12_08_other_vhosts_access.log
-rw-r--r-- 1 root root 24536681 12-09 23:59 2010_12_09_other_vhosts_access.log
-rw-r--r-- 1 root root 14003409 12-10 14:57 2010_12_10_other_vhosts_access.log

#通過(guò)CustomLog指令,每天一天生成一個(gè)獨(dú)立的日志文件,同時(shí)也寫了定時(shí)器將一周前的日志文件全部清除,這樣可以顯得更清晰,既可以分離每一天的日志又可以清除一定時(shí)間以前的日志通過(guò)制,LogFormat定義日志的記錄格式

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedproxy
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

隨意的tail一個(gè)access_log文件,下面是一條經(jīng)典的訪問(wèn)記錄

復(fù)制代碼 代碼如下:

218.19.140.242 - - [10/Dec/2010:09:31:17 +0800] "GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1" 200 1933 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)"

一共是有9項(xiàng),將他們一一拆開(kāi)來(lái)說(shuō)明:

復(fù)制代碼 代碼如下:

218.19.140.242
-
-
[10/Dec/2010:09:31:17 +0800]
"GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1"
200
1933
"-"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)"

1)  218.19.140.242 這是一個(gè)請(qǐng)求到apache服務(wù)器的客戶端ip,默認(rèn)的情況下,第一項(xiàng)信息只是遠(yuǎn)程主機(jī)的ip地址,但我們?nèi)绻枰猘pache查出主機(jī)的名字,可以將 HostnameLookups設(shè)置為on,但這種做法是不推薦使用,因?yàn)樗蟠蟮臏p緩了服務(wù)器.另外這里的ip地址不一定就是客戶主機(jī)的ip地址,如果 客戶端使用了代理服務(wù)器,那么這里的ip就是代理服務(wù)器的地址,而不是原機(jī).
2) - 這一項(xiàng)是空白,使用"-"來(lái)代替,這個(gè)位置是用于標(biāo)注訪問(wèn)者的標(biāo)示,這個(gè)信息是由identd的客戶端存在,除非IdentityCheck為on,非則apache是不會(huì)去獲取該部分的信息(ps:不太理解,基本上這一項(xiàng)都是為空,奉上原文)
The "hyphen" in the output indicates that the requested piece of information is not available. In this case, the information that is not available is the RFC 1413 identity of the client determined by identd on the clients machine. This information is highly unreliable and should almost never be used except on tightly controlled internal networks. Apache httpd will not even attempt to determine this information unless IdentityCheck is set to On.
3) - 這一項(xiàng)又是為空白,不過(guò)這項(xiàng)是用戶記錄用戶HTTP的身份驗(yàn)證,如果某些網(wǎng)站要求用戶進(jìn)行身份雁陣,那么這一項(xiàng)就是記錄用戶的身份信息
4) [10/Dec/2010:09:31:17 +0800] 第四項(xiàng)是記錄請(qǐng)求的時(shí)間,格式為[day/month/year:hour:minute:second zone],最后的+0800表示服務(wù)器所處的時(shí)區(qū)為東八區(qū)
5) "GET /..haizhu_tianhe.xml HTTP/1.1" 這一項(xiàng)整個(gè)記錄中最有用的信息,首先,它告訴我們的服務(wù)器收到的是一個(gè)GET請(qǐng)求,其次,是客戶端請(qǐng)求的資源路徑,第三,客戶端使用的協(xié)議時(shí)HTTP/1.1,整個(gè)格式為"%m %U%q %H",即"請(qǐng)求方法/訪問(wèn)路徑/協(xié)議"
6) 200 這是一個(gè)狀態(tài)碼,由服務(wù)器端發(fā)送回客戶端,它告訴我們客戶端的請(qǐng)求是否成功,或者是重定向,或者是碰到了什么樣的錯(cuò)誤,這項(xiàng)值為200,表示服務(wù)器已經(jīng)成 功的響應(yīng)了客戶端的請(qǐng)求,一般來(lái)說(shuō),這項(xiàng)值以2開(kāi)頭的表示請(qǐng)求成功,以3開(kāi)頭的表示重定向,以4開(kāi)頭的標(biāo)示客戶端存在某些的錯(cuò)誤,以5開(kāi)頭的標(biāo)示服務(wù)器端 存在某些錯(cuò)誤,詳細(xì)的可以參見(jiàn) HTTP specification (RFC2616 section 10).[http://www.w3.org/Protocols/rfc2616/rfc2616.txt]
7) 1933 這項(xiàng)表示服務(wù)器向客戶端發(fā)送了多少的字節(jié),在日志分析統(tǒng)計(jì)的時(shí)侯,把這些字節(jié)加起來(lái)就可以得知服務(wù)器在某點(diǎn)時(shí)間內(nèi)總的發(fā)送數(shù)據(jù)量是多少
8) - HTTP Referer:告訴服務(wù)器我是從哪個(gè)頁(yè)面鏈接過(guò)來(lái)的,沒(méi)有值時(shí)可能是直接打開(kāi)網(wǎng)頁(yè)的原因。
9) "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)" 這項(xiàng)主要記錄客戶端的瀏覽器信息
2).error_log
error_log為錯(cuò)誤日志,記錄下任何錯(cuò)誤的處理請(qǐng)求,它的位置和內(nèi)容由ErrorLog指令控制,通常服務(wù)器出現(xiàn)什么錯(cuò)誤,首先對(duì)它進(jìn)行查閱,是一個(gè)最重要的日志文件
tail error_log,隨意摘取一個(gè)記錄

復(fù)制代碼 代碼如下:

[Fri Dec 10 15:03:59 2010] [error] [client 218.19.140.242] File does not exist: /home/htmlfile/tradedata/favicon.ico

同樣也是分為幾個(gè)項(xiàng):

復(fù)制代碼 代碼如下:

[Fri Dec 10 15:03:59 2010]
[error]
[client 218.19.140.242]
File does not exist: /home/htmlfile/tradedata/favicon.ico

1) [Fri Dec 10 15:03:59 2010] 記錄錯(cuò)誤發(fā)生的時(shí)間,注意,它跟我們上面access_log記錄的時(shí)間格式是不同的
2) [error] 這一項(xiàng)為錯(cuò)誤的級(jí)別,根據(jù)LogLevel指令來(lái)控制錯(cuò)誤的類別,上面的404是屬于error級(jí)別
3) [client 218.19.140.242] 記錄客戶端的ip地址
4) File does not exist: /home/htmlfile/tradedata/favicon.ico 這一項(xiàng)首先對(duì)錯(cuò)誤進(jìn)行了描述,例如客戶端訪問(wèn)一個(gè)不存在或路徑錯(cuò)誤的文件,就會(huì)給出404的提示錯(cuò)誤

二.實(shí)用的日志分析命令和腳本

了解日志的各種定義后,這里分享一下從網(wǎng)上淘來(lái)的一些對(duì)日志分析的腳本。

1.查看apache的進(jìn)程數(shù)
ps -aux | grep httpd | wc -l
2.分析日志查看當(dāng)天的ip連接數(shù)
cat default-access_log | grep "10/Dec/2010" | awk '{print $2}' | sort | uniq -c | sort -nr
3.查看指定的ip在當(dāng)天究竟訪問(wèn)了什么url
cat default-access_log | grep "10/Dec/2010" | grep "218.19.140.242" | awk '{print $7}' | sort | uniq -c | sort -nr
4.查看當(dāng)天訪問(wèn)排行前10的url
cat default-access_log | grep "10/Dec/2010" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
5.看到指定的ip究竟干了什么
cat default-access_log | grep 218.19.140.242 | awk '{print $1"\t"$8}' | sort | uniq -c | sort -nr | less
6.查看訪問(wèn)次數(shù)最多的幾個(gè)分鐘(找到熱點(diǎn))
awk '{print $4}' default-access_log |cut -c 14-18|sort|uniq -c|sort -nr|head


 

相關(guān)文章

最新評(píng)論