Apche日誌系列 1 訪問日誌

2021-06-28 03:15:23 字數 1311 閱讀 7672

本文分五個部分:訪問日誌、錯誤日誌、定製日誌、日誌分析、其他用法。摘自永遠的linux,做了一些修整。

想要知道什麼人在什麼時候瀏覽了**的哪些內容嗎?檢視apache的訪問日誌就可以知道。訪問日誌是apache的標準日誌,本文詳細解釋了訪問日誌的內容以及相關選項的配置。 

一、訪問日誌的格式

apache內建了記錄伺服器活動的功能,這就是它的日誌功能。這個文章介紹的就是apache的訪問日誌、錯誤日誌,以及如何分析日誌資料,如何定製apache日誌,如何從日誌資料生成統計報表等內容。  

如 果apache的安裝方式是預設安裝,伺服器一執行就會有兩個日誌檔案生成。這兩個檔案是access_log和error_log(在win上是 access.log和error.log)。採用預設安裝方式時,這些檔案可以在/usr/local/apache/logs下找到;對於 windows系統,這些日誌檔案將儲存在apache安裝目錄的logs子目錄。不同的包管理器會把日誌檔案放到各種不同的位置,所以你可能需要找找其 他的地方,或者通過配置檔案檢視這些日誌檔案配置到了什麼地方。  【總結】訪問日誌和錯誤日誌的 位置 和 名字 :

windows: 維基百科中的http狀態碼。一般地說,以2開頭的狀態**表示成功,以3開頭的狀態**表示由於各種不同的原因使用者請求被重定向到了其他位置,以4開頭的狀態**表示客戶端存在某種錯誤,以5開頭的狀態**表示伺服器遇到了某個錯誤。  

日誌記錄的第七項表示傳送給客戶端的總位元組數。它告訴我們傳輸是否被打斷(即,該數值是否和檔案的大小相同)。把日誌記錄中的這些值加起來就可以得知伺服器在一天、一周或者一月內傳送了多少資料。 

二、配置訪問日誌

訪問日誌檔案的位置實際上是乙個配置選項。如果我們檢查httpd.conf配置檔案,可以看到該檔案中有如下這行內容:  

customlog /usr/local/apache/logs/access_log common   注意,對於版本較早的apache伺服器,這行內容可能略有不同。它使用的可能不是customlog指令,而是transferlog指令。如果你的伺服器屬於這類情況,建議你盡可能地早日公升級伺服器。  

customlog指令指定了儲存日誌檔案的具體位置以及日誌的格式。上面這行指令指定的是common日誌格式,自從有了web伺服器開始,common格式就是它的標準格式。由此我們也可以理解,雖然幾乎不再有任何客戶程式向伺服器提供使用者的標識資訊,但訪問日誌卻還保留著第二項內容。 

customlog指令中的路徑是日誌檔案的路徑,由於日誌檔案是由http使用者開啟的(用user指令指定),因此必須注意這個路徑要有安全保證,防止該檔案被隨意改寫。

Apche日誌系列 3 定製日誌

有時候我們需要定製apache預設日誌的格式和內容,比如增加或減少日誌所記錄的資訊 改變預設日誌檔案的格式等。本文介紹可以用日誌記錄的所有資訊,以及如何設定apache使其記錄這些資訊。一 定義日誌格式 定製日誌檔案的格式涉及到兩個指令,即logformat指令和customlog指令。預設http...

Apche日誌系列 4 日誌分析

儘管日誌檔案中包含著大量有用的資訊,但這些資訊只有在經過深入挖掘之後才能夠最大限度地發揮作用。本文首先討論了能夠從日誌檔案獲得的資訊以及不能從日誌檔案獲得的資訊,然後介紹了幾種優秀的日誌分析工具以及如何自己程式設計分析日誌檔案。一 可以得到哪些資訊 4月4日 我們面臨的問題是,雖然日誌檔案中包含了大...

Apche日誌系列 5 高階技術

這是 apache日誌 系列文章的最後一篇,除了補充說明前面幾篇文章之外,另外討論了三個問題 如何將日誌記錄寫入指定的程式而不是日誌檔案,如何輪換日誌防止磁碟空間不足,多虛擬主機環境下的日誌檔案管理。一 把日誌記錄寫入到指定程式 日誌記錄並非只能寫入到檔案,它還可以寫入到指定的程序。當我們想要把日誌...