<

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:
網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的
黃島網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!div>Apache 的標(biāo)準(zhǔn)中規(guī)定了4類日志:
錯(cuò)誤日志
訪問日志
傳輸日志
Cookie日志
其中:傳輸日志和Cookie日志被Apache 2.0認(rèn)為已經(jīng)過時(shí)。所以本節(jié)僅僅討論錯(cuò)誤日志和訪問日志。同時(shí)錯(cuò)誤日志和訪問日志被Apache 2.0默認(rèn)設(shè)置。
能從日志中獲取哪些信息
* 訪問日志
o 訪問服務(wù)器的遠(yuǎn)程機(jī)器的地址:可以得知瀏覽者來自何方
o 瀏覽者訪問的資源:可以得知網(wǎng)站中的哪些部分最受歡迎
o 瀏覽者的瀏覽時(shí)間:可以從瀏覽時(shí)間(如工作時(shí)間或休閑時(shí)間)對(duì)網(wǎng)站內(nèi)容進(jìn)行調(diào)整
o 瀏覽者使用的瀏覽器:可以根據(jù)大多數(shù)瀏覽者使用的瀏覽器對(duì)站點(diǎn)進(jìn)行優(yōu)化
* 錯(cuò)誤日志
o 獲知失效鏈接
o 獲知 CGI 錯(cuò)誤
o 獲知用戶認(rèn)證錯(cuò)誤
配置錯(cuò)誤日志
錯(cuò)誤日志記錄了服務(wù)器運(yùn)行期間遇到的各種錯(cuò)誤,以及一些普通的診斷信息,比如服務(wù)器何時(shí)啟動(dòng)、何時(shí)關(guān)閉等。
錯(cuò)誤日志配置指令
ErrorLog
ErrorLog 指令指定了當(dāng)服務(wù)器遇到錯(cuò)誤時(shí)記錄錯(cuò)誤日志的文件名。其格式為:
格式1:ErrorLog 錯(cuò)誤日志文件名
格式2:ErrorLog "|管道程序名"
格式1直接指定錯(cuò)誤日志文件名,除非文件位置用”/“開頭,否則 ErrorLog 所制定的文件位置是相對(duì)于 ServerRoot 目錄的相對(duì)路徑。
格式2實(shí)現(xiàn)管道日志,它指定一個(gè)命令來處理錯(cuò)誤日志。
Apache 編譯時(shí)默認(rèn)的錯(cuò)誤日志可以使用如下命令獲得:
$ apache2 -V| grep DEFAULT_ERRORLOG
-D DEFAULT_ERRORLOG="logs/error_log"
LogLevel
LogLevel 用于調(diào)整記于錯(cuò)誤日志中的信息的詳細(xì)程度。其格式為:
LogLevel 錯(cuò)誤日志記錄等級(jí)
下面著重說說日志記錄等級(jí):
緊急程度 等級(jí) 說明
1 emerg 出現(xiàn)緊急情況使得該系統(tǒng)不可用,如系統(tǒng)宕機(jī)等
2 alert 需要立即引起注意的情況
3 crit 危險(xiǎn)情況的警告
4 error 除了emerg、alert、crit的其他錯(cuò)誤
5 warn 警告信息
6 notice 需要引起注意的情況,但不如error、warn重要
7 info 值得報(bào)告的一般消息
8 debug 由運(yùn)行于debug模式的程序所產(chǎn)生的消息
如果指定了等級(jí) warn,那么就記錄緊急程度為1至5的所有錯(cuò)誤信息。
Ubuntu 中 Apache 的錯(cuò)誤日志配置
配置錯(cuò)誤日志相對(duì)簡(jiǎn)單,只要說明日志文件的存放路徑和錯(cuò)誤日志記錄等級(jí)即可。
從 Ubuntu 中的 /etc/apache2/apache2.conf 中可知,默認(rèn)的錯(cuò)誤日志存放在 /var/log/apache2/error.log
ErrorLog /var/log/apache2/error.log
LogLevel warn
您可以在 /etc/apache2/apache2.conf 中設(shè)置錯(cuò)誤日志記錄等級(jí),也可以在相應(yīng)的虛擬主機(jī)的配置文件中設(shè)置。
錯(cuò)誤日志文件舉例
下面是一個(gè)錯(cuò)誤日志文件的截取。
$ sudo tac /var/log/apache2/error.log
[Wed Jun 20 14:53:15 2007] [error] [client 192.168.0.66] File does not exist: /usr/share/phpmyadmin/favicon.ico
[Wed Jun 20 11:12:50 2007] [notice] Apache/2.0.55 (Ubuntu) DAV/2 SVN/1.3.1 mod_python/3.1.4 Python/2.4.3 PHP/5.1.2 configured -- resuming normal operations
[Wed Jun 20 11:12:49 2007] [notice] Digest: done
[Wed Jun 20 11:12:49 2007] [notice] Digest: generating secret for digest authentication ...
[Wed Jun 20 09:22:22 2007] [notice] caught SIGTERM, shutting down
從文件內(nèi)容可以看出,每一行記錄了一個(gè)錯(cuò)誤。格式為:
日期和時(shí)間 錯(cuò)誤等級(jí) 錯(cuò)誤消息
配置訪問日志
CustomLog
CustomLog 指令用來對(duì)服務(wù)器的請(qǐng)求進(jìn)行日志記錄。格式為:
格式1:CustomLog 訪問日志文件名 記錄格式說明串|格式昵稱
格式2:CustomLog "|管道程序名 訪問日志文件名" 記錄格式說明串|格式昵稱
其中:
1.
訪問日志文件名:除非文件位置用”/“開頭,否則所制定的文件位置是相對(duì)于 ServerRoot 目錄的相對(duì)路徑
2.
格式昵稱:使用 LogFormat 指令將一個(gè)記錄格式說明串賦以一個(gè)名稱
3.
記錄格式說明串:用字符串和格式說明符(以%開頭)指定日志記錄的內(nèi)容
4.
管道程序名:管道符”|”后面緊跟著一個(gè)程序的路徑,這個(gè)程序把日志從標(biāo)準(zhǔn)輸入設(shè)備中讀入并處理。
在 Ubuntu 的 Apache 默認(rèn)配置中并沒有使用 CustomLog 設(shè)置訪問日志,若您希望記錄訪問日志,您需要在虛擬主機(jī)的配置文件中分別設(shè)置,例如:在 /etc/apache2/sites-available/default 中有如下的設(shè)置:
CustomLog /var/log/apache2/access.log combined
LogFormat
為了便于分析 Apache 的訪問日志,Apache 的默認(rèn)配置文件中,按記錄的信息不同(用不同格式昵稱說明不同的信息)將訪問日志分為4類,并由 LogFormat 指令定義了昵稱,如表所示。
格式分類 格式昵稱 說明
普通日志格式(common log format,CLF) common 大多數(shù)日志分析軟件都支持這種格式
參考日志格式(referer log format) referer 記錄客戶訪問站點(diǎn)的用戶身份
代理日志格式(agent log format) agent 記錄請(qǐng)求的用戶代理
綜合日志格式(combined log format) combined 結(jié)合以上三種日志信息
LogFormat 指令用于定義訪問日志的記錄格式。格式為:
LogFormat "記錄格式說明串" 格式昵稱
從 /etc/apache2/apache2.conf 中可知,在 Ubuntu 的 Apache 中定義了下面的 4 種類型的訪問日志:
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
由于綜合日志格式簡(jiǎn)單地結(jié)合了3種日志信息,所以在配置訪問日志時(shí),要么使用一個(gè)綜合文件進(jìn)行記錄,要么使用分離的多個(gè)(1-3)文件記錄。通常使用一個(gè)綜合日志格式文件進(jìn)行記錄,配置為:
CustomLog /var/log/apache2/access.log combined
若使用3個(gè)文件分別進(jìn)行記錄,配置為:
CustomLog /var/log/apache2/access.log common
CustomLog /var/log/apache2/referer.log referer
CustomLog /var/log/apache2/agent.log agent
下面的指令組:
LogFormat "%h %l %u %t "%r" %>s %b" common
CustomLog logs/access_log common
與下面的指令等效:
CustomLog logs/access_log "%h %l %u %t "%r" %>s %b"
通常我們配置訪問日志時(shí),使用先使用 LogFormat 指令定義格式昵稱,然后再在 CustomLog 指令中引用昵稱的方法。
格式說明符
在使用 LogFormat 和 CustomLog 指令中為了說明要記錄的日志內(nèi)容,可以使用的常用格式說明符如下表。
格式說明符 說明
%v 進(jìn)行服務(wù)的服務(wù)器的標(biāo)準(zhǔn)名字 ServerName,通常用于虛擬主機(jī)的日志記錄中。
%h 客戶機(jī)的 IP 地址。
%l 從identd服務(wù)器中獲取遠(yuǎn)程登錄名稱,基本已廢棄。
%u 來自于認(rèn)證的遠(yuǎn)程用戶。
%t 連接的日期和時(shí)間。
%r HTTP請(qǐng)求的首行信息,典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 資源 協(xié)議”。經(jīng)常可能出現(xiàn)的 METHOD 是 GET、POST 和 HEAD;RESOURCE 是指瀏覽者向服務(wù)器請(qǐng)求的文檔或 URL;PROTOCOL 通常是HTTP,后面再加上版本號(hào),通常是 HTTP/1.1。
%>s 響應(yīng)請(qǐng)求的狀態(tài)代碼,一般這項(xiàng)的值是 200,表示服務(wù)器已經(jīng)成功地響應(yīng)瀏覽器的請(qǐng)求,一切正常;以 3 開頭的狀態(tài)代碼表示由于各種不同的原因用戶請(qǐng)求被重定向到了其他位置;以 4 開頭的狀態(tài)代碼表示客戶端存在某種錯(cuò)誤;以 5 開頭的狀態(tài)代碼表示服務(wù)器遇到了某個(gè)錯(cuò)誤。
%b 傳送的字節(jié)數(shù)(不包含HTTP頭信息),將日志記錄中的這些值加起來就可以得知服務(wù)器在一天、一周或者一月內(nèi)發(fā)送了多少數(shù)據(jù)。
%{Referer}i 記錄引用此資源的網(wǎng)頁(yè)。
%U 請(qǐng)求的URL路徑,不包含查詢串。
%{User-Agent}i 使用的瀏覽器信息。
訪問日志文件舉例
下面是從一個(gè)訪問日志文件中截取的 3 條記錄。
$ sudo tac /var/log/apache2/access.log
192.168.0.66 - - [21/Jun/2007:22:07:58 +0800] "GET /index.html HTTP/1.1" 200 1185 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)"
192.168.0.77 - - [19/Jun/2007:21:03:33 +0800] "GET /manual/style/manual.css HTTP/1.1" 404 1203 "http://192.168.0.100/manual/logs.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
192.168.0.66 - - [19/Jun/2007:19:21:55 +0800] "GET /dokuwiki/lib/exe/css.php?s=print HTTP/1.1" 304 - "http://192.168.0.191/dokuwiki/doku.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12"
將各項(xiàng)信息分離于下表所示。
格式說明符 舉例1 舉例2 舉例3
%h 192.168.0.66 192.168.1.77 192.168.0.66
%l -(表示沒有取得信息) - -
%u - - -
%t [21/Jun/2007:22:07:58 +0800] [19/Jun/2007:21:03:33 +0800] [19/Jun/2007:19:21:55 +0800]
%r “GET /index.html HTTP/1.1” “GET /manual/style/manual.css HTTP/1.1” “GET /dokuwiki/lib/exe/css.php?s=print HTTP/1.1”
%>s 200 404 304
%b 1185 1203 -
%{Referer}i ”-” “http://192.168.0.100/manual/logs.html” “http://192.168.0.191/dokuwiki/doku.php”
%{User-Agent}i “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12”
由于整個(gè)格式說明字符串是放在”“之內(nèi)的,所以若要輸出的日志信息內(nèi)含有引號(hào),需要將”前加轉(zhuǎn)義符。例如:若要輸出子串”GET /apache_pb.gif HTTP/1.0”,則格式字符串為”%r”。
文章題目:如何查看Apache日志
分享URL:http://www.chinadenli.net/article18/cgjcgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、外貿(mào)建站、網(wǎng)站導(dǎo)航、商城網(wǎng)站、建站公司
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)