Linux:squid 日誌格式說明和設置

常見設定方法

vim /etc/squid/squid.conf

logformat squid_custom_log %ts%03tu %>a %la %tr “%{Referer}>h” %rm “%ru” %Ss %>Hs %h”
access_log daemon:/var/logs/squid/access.log squid_custom_log

參數說明:

%ts    時間戳:請求完成時間,以Unix時間來記錄的
%tu    毫秒級(milliseconds)
%tl     本地時間Local time. Optional strftime format argument default %d/%b/%Y:%H:%M:% S %z
%>a   客戶端地址:該域包含客戶端的IP地址,或者是主機名.
%la     服務端(本機)IP Local IP address (http_port)
%tr     響應時間:對HTTP響應來說,該域表明squid花了多少時間來處理請求。時間是毫秒級的(milliseconds)
%{Referer}>h   用戶來源
%rm    請求方式:該域包含請求方式.
%ru    URI:該域包含來自客戶端請求的URI。
%>Hs(squid 2.7為%Hs)   HTTP響應狀態碼(例如200,304,404等)
%h  用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等

%Ss 說明

TCP_HIT
Squid發現請求資源的貌似新鮮的拷貝,並將其立即發送到客戶端.

TCP_MISS
Squid沒有請求資源的cache拷貝.

TCP_REFERSH_HIT
Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器.原始服務器返回304(未修改)響應,指示squid的拷貝仍舊是新鮮的.

TCP_REF_FAIL_HIT
Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器.然而,原始服務器響應失敗,或者返回的響應Squid不能理解.在此情形下,squid發送現有cache拷貝(很可能是陳舊的)到客戶端.

TCP_REFRESH_MISS
Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器.原始服務器響應新的內容,指示這個cache拷貝確實是陳舊的.

TCP_CLIENT_REFRESH_MISS
Squid發現了請求資源的拷貝,但客戶端的請求包含了Cache-Control: no-cache指令.Squid轉發客戶端的請求到原始服務器,強迫cache確認.

TCP_IMS_HIT
客戶端發送確認請求,Squid發現更近來的、貌似新鮮的請求資源的拷貝.Squid發送更新的內容到客戶端,而不聯繫原始服務器.

TCP_SWAPFAIL_MISS
Squid發現請求資源的有效拷貝,但從磁盤裝載它失敗.這時squid發送請求到原始服務器,就如同這是個cache丟失一樣.

TCP_NEGATIVE_HIT
在對原始服務器的請求導致HTTP錯誤時,Squid也會cache這個響應.在短時間內對這些資源的重複請求,導致了否命中. negative_ttl指令控制這些錯誤被cache的時間數量.請注意這些錯誤只在內存cache,不會寫往磁盤.下列HTTP狀態碼可能導致否定cache(也遵循於其他約束): 204, 305, 400, 403, 404, 405, 414, 500, 501, 502, 503, 504 .

TCP_MEM_HIT
Squid在內存cache裡發現請求資源的有效拷貝,並將其立即發送到客戶端.注意這點並非精確的呈現了所有從內存服務的響應.例如,某些cache在內存裡,但要求確認的響應,會以TCP_REFRESH_HIT, TCP_REFRESH_MISS等形式記錄.

TCP_DENIED
因為http_access或http_reply_access規則,客戶端的請求被拒絕了.注意被http_access拒絕的請求在第9域的值是NONE/-,然而被http_reply_access拒絕的請求,在相應地方有一個有效值.

TCP_OFFLINE_HIT
當offline_mode激活時,Squid對任何cache響應返回cache命中,而不用考慮它的新鮮程度.

TCP_REDIRECT
重定向程序告訴Squid產生一個HTTP重定向到新的URI(見11.1節).正常的,Squid不會記錄這些重定向.假如要這樣做,必須在編譯squid前,手工定義LOG_TCP_REDIRECTS預處理指令.

NONE
無分類的結果用於特定錯誤,例如無效主機名.

相應於ICP查詢,下列標籤可能出現在access.log文件的第四域.

UDP_HIT
Squid在cache裡發現請求資源的貌似新鮮的拷貝.

UDP_MISS
Squid沒有在cache裡發現請求資源的貌似新鮮的拷貝.假如同一目標通過HTTP請求,就可能是個cache丟失.請對比UDP_MISS_NOFETCH.

UDP_MISS_NOFETCH
跟UDP_MISS類似,不同的是這裡也指示了Squid不願去處理相應的HTTP請求.假如使用了-Y命令行選項,Squid在啟動並編譯其內存索引時,會返回這個標籤而不是UDP_MISS.

UDP_DENIED
因為icp_access規則,ICP查詢被拒絕.假如超過95%的到某客戶端的ICP響應是UDP_DENIED,並且客戶端數據庫激活了(見附錄A),Squid在1小時內,停止發送任何ICP響應到該客戶端.若這點發生,你也可在cache.log裡見到一個警告.

UDP_INVALID
Squid接受到無效查詢(例如截斷的消息、無效協議版本、URI裡的空格等).Squid發送UDP_INVALID響應到客戶端.

(Visited 294 times, 1 visits today)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *