squid日誌之access.log格式+內容

 

Squid最重要的日誌文件就是訪問日誌,其訪問路徑爲“/var/log/squid/access.log”。該日誌文件記錄了客戶使用代理服務器的許多有用信息,包括使用時間、請求的內容、客戶端信息等。該文件的格式如下:

time eclapsed remotehost code/status bytes method URL rfc931 peerstatus /peerhost type

可以看到,該日誌文件的記錄共包含10個字段,每個字段的含義如表所示。

字段的含義

   

  

time

記錄客戶訪問代理服務器的時間,從197011日到訪問時所經歷的秒數,精確到毫秒

eclapsed

記錄處理緩存所花費的時間,以毫秒計數

remotehost

記錄訪問客戶端的IP地址或者域名

code/status

結果信息編碼/狀態信息編碼,如TCP_MISS/205

bytes

緩存字節數

method

HTTP請求方法:GET或者POST

URL

訪問的目的地址的URL,如www.sina.com.cn

rfc931

默認的,暫未使用

peerstatus/peerhost

緩存級別/目的IP地址,如DIRECT/211.163.21.19

type

緩存對象類型,如text/html

 

相應於HTTP請求,下列標籤可能出現在access.log文件的第四個域。

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響應到客戶端。

TCP_HIT

A valid copy of the requested object was in the cache.
TCP_MISS

The requested object was not in the cache.
TCP_REFRESH_HIT

The requested object was cached but STALE. The IMS query for the object resulted in “304 not modified”.
TCP_REF_FAIL_HIT

The requested object was cached but STALE. The IMS query failed and the stale object was delivered.
TCP_REFRESH_MISS

The requested object was cached but STALE. The IMS query returned the new content.
TCP_CLIENT_REFRESH_MISS

The client issued a “no-cache” pragma, or some analogous cache control command along with the request. Thus, the cache

has to refetch the object.
TCP_IMS_HIT

The client issued an IMS request for an object which was in the cache and fresh.
TCP_SWAPFAIL_MISS

The object was believed to be in the cache, but could not be accessed.
TCP_NEGATIVE_HIT

Request for a negatively cached object, e.g. “404 not found”, for which the cache believes to know that it is

inaccessible. Also refer to the explainations for negative_ttl in your squid.conf file.
TCP_MEM_HIT

A valid copy of the requested object was in the cache and it was in memory, thus avoiding disk accesses.
TCP_DENIED

Access was denied for this request.
TCP_OFFLINE_HIT

The requested object was retrieved from the cache during offline mode. The offline mode never validates any object, see

offline_mode in squid.conf file.
UDP_HIT

A valid copy of the requested object was in the cache.
UDP_MISS

The requested object is not in this cache.
UDP_DENIED

Access was denied for this request.
UDP_INVALID

An invalid request was received.
UDP_MISS_NOFETCH

During “-Y” startup, or during frequent failures, a cache in hit only mode will return either UDP_HIT or this code.

Neighbours will thus only fetch hits.
NONE

Seen with errors and cachemgr requests.

The following codes are no longer available in Squid-2:

ERR_*

Errors are now contained in the status code.
TCP_CLIENT_REFRESH

See: TCP_CLIENT_REFRESH_MISS.
TCP_SWAPFAIL

See: TCP_SWAPFAIL_MISS.
TCP_IMS_MISS

Deleted, TCP_IMS_HIT used instead.
UDP_HIT_OBJ

Hit objects are no longer available.
UDP_RELOADING

See: UDP_MISS_NOFETCH.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章