小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

squid日志3

 jijo 2009-04-27
2008-06-27 23:00

13.2.3 access.log對端編碼


下列編碼可能出現(xiàn)在access.log的第9域。請參考10.10節(jié)關(guān)于Squid如何對cache丟失情況,選擇有

效的下一跳。


NONE

這指明Squid對本次請求,不會(huì)與任何其他服務(wù)器(鄰居或原始服務(wù)器)通信。它通常與cache命中、

拒絕請求、cache管理請求、錯(cuò)誤、和所有的ICP查詢這些類型聯(lián)合出現(xiàn)。


DIRECT

Squid直接轉(zhuǎn)發(fā)請求到原始服務(wù)器。該域的第2半部分顯示原始服務(wù)器的IP地址,或主機(jī)名--假如禁止

了log_ip_on_direct。


SIBLING_HIT

在姐妹cache返回ICP或HTCP命中后,Squid發(fā)送請求到姐妹cache。


PARENT_HIT

在父cache返回ICP或HTCP命中后,Squid發(fā)送請求到父cache。


DEFAULT_PARENT

Squid選擇該父cache,因?yàn)槠湓趕quid.conf的cache_peer行里被標(biāo)志為default。


FIRST_UP_PARENT

Squid轉(zhuǎn)發(fā)請求到該父cache,因?yàn)樗俏挥谝阎钴S列表里的第一個(gè)父cache。


FIRST_PARENT_MISS

Squid轉(zhuǎn)發(fā)請求到該父cache,它第一個(gè)響應(yīng)ICP/HTCP丟失消息。換句話說,對這個(gè)特殊的

ICP/HTCP查詢,在這個(gè)特殊時(shí)刻,被選中的父cache有最佳的往返時(shí)間(RTT)。注意標(biāo)準(zhǔn)RTT可能

被人工矯正過,取決于cache_peer指令的weight選項(xiàng)。


CLOSEST_PARENT_MISS

Squid選擇該父cache,因?yàn)樗鼒?bào)告到原始服務(wù)器的RTT最低。這點(diǎn)僅在2個(gè)cache都激活了netdb,

并且原始服務(wù)器(或在同一子網(wǎng)內(nèi)的其他server)返回ICMP ping消息。


CLOSEST_PARENT

這點(diǎn)類似CLOSEST_PARENT_MISS,除了RTT計(jì)算不是來自ICP/HTCP響應(yīng)消息外。代替的,它們

來自Squid保留的更老的計(jì)算方式,例如netdb交換功能。


CLOSEST_DIRECT

Squid基于netdb算法,轉(zhuǎn)發(fā)請求到原始服務(wù)器。這點(diǎn)在滿足下述任何條件時(shí)發(fā)生:



           
       
  • 1)在Squid和原始服務(wù)器之間的RTT小于配置的minimum_direct_rtt值。


       

       
  • 2)在Squid和原始服務(wù)器之間的標(biāo)準(zhǔn)路由跳數(shù)少于配置的minimum_direct_hops值。


       

       
  • 3)在ICP/HTCP響應(yīng)里返回的RTT值,指示Squid離原始服務(wù)器近于任何其他鄰居。


       

ROUNDROBIN_PARENT

Squid轉(zhuǎn)發(fā)請求到該父cache,因?yàn)樵O(shè)置了round-robin選項(xiàng),并且它有最低的使用計(jì)數(shù)器。


CD_PARENT_HIT

Squid基于cache摘要算法(見10.7節(jié))轉(zhuǎn)發(fā)請求到該父cache。


CD_SIBLING_HIT

Squid基于cache摘要算法轉(zhuǎn)發(fā)請求到該姐妹cache。


CARP

Squid選擇該父cache,基于cache數(shù)組路由協(xié)議算法(見10.9節(jié))。


ANY_PARENT

作為最后的手段,Squid選擇該父cache,因?yàn)闆]有其他方法能選擇可行的下一跳。


注意大部分上述編碼可能以TIMEOUT_開頭,這表明在等待ICP/HTCP響應(yīng)時(shí)發(fā)生超時(shí)。例如:


1066038165.382    345 193.233.46.21 TCP_MISS/200 2836
            GET http://www./home/./images/home.jpg
            TIMEOUT_CLOSEST_DIRECT/213.219.122.19 image/jpeg

可使用icp_query_timeout指令來調(diào)整超時(shí)。




13.2.4 影響access.log的配置指令


下列配置文件指令會(huì)影響到access.log。


13.2.4.1 log_icp_queries

該指令默認(rèn)激活,導(dǎo)致squid記錄所有的ICP查詢。假如運(yùn)行了一個(gè)繁忙的父cache,這點(diǎn)可能讓

access.log文件變得巨大。為了節(jié)省磁盤空間,可禁止該指令:


log_icp_queries off

假如禁止了ICP查詢的日志,我建議你監(jiān)視查詢數(shù)量--通過cache管理器或SNMP。


13.2.4.2 emulate_httpd_log

access.log文件有2種格式:普通格式和原始格式。普通格式就如同大部分HTTP服務(wù)器(如Apache)

的日志格式一樣。它包含的信息少于Squid的原始格式。然而,假如運(yùn)行Squid在代理人模式下(見

15章),你可能想要普通日志文件格式。普通格式或許也對你現(xiàn)有的日志文件分析工具有用。使用該

指令來激活普通格式:


emulate_httpd_log on

請見http://www./Daemon/User/Config/Logging.html#common-logfile-format 關(guān)于

該格式的描述。


13.2.4.3 log_mime_hdrs

使用log_mime_hdrs讓squid記錄HTTP請求和響應(yīng)的頭部:


log_mime_headers on

在激活時(shí),squid追加請求和響應(yīng)頭部到access.log。這會(huì)在每行增加2個(gè)域。每個(gè)域都以方括號(hào)引用

起來,便于分析。某些字符會(huì)被編碼來保證日志文件可讀。Table 13-2顯示了這些編碼方案。




Table 13-2. Character encoding rules for HTTP headers in access.log


Character Encoding
Newline \n
Carriage return \r
Backslash \\
[ %5b
] %5d
% %25
ASCII 0-31 %xx (hexadecimal value)
ASCII 127-255 %xx (hexadecimal value)

13.2.4.4 log_fqdn

Squid默認(rèn)把客戶端IP地址放在access.log里。也可以記錄可用的主機(jī)名,激活如下指令:


log_fqdn on

這點(diǎn)讓Squid在接受到請求時(shí),對客戶端的地址發(fā)起反向DNS查詢。假如在請求完成時(shí)查到了主機(jī)名,

Squid就將它放在第3域。


13.2.4.5 ident_lookup_access

該訪問規(guī)則列表決定Squid是否對客戶端的TCP連接發(fā)起RFC 1413身份查詢。默認(rèn)情況下,Squid不

會(huì)發(fā)布身份查詢。為了激活這點(diǎn),簡單的增加一個(gè)或多個(gè)規(guī)則:


acl All src 0/0
            ident_lookup_access allow All

假如在請求完成時(shí)查到了答案,Squid將其放在第8域。假如同時(shí)使用了HTTP驗(yàn)證,從驗(yàn)證得到的用

戶名會(huì)取代身份查詢答案。


13.2.4.6 log_ip_on_direct

當(dāng)Squid轉(zhuǎn)發(fā)cache丟失到原始服務(wù)器時(shí),它在第9域記錄原始服務(wù)器的IP地址??梢越惯@個(gè)指令,

以便squid記錄主機(jī)名:


log_ip_on_direct off

在此情形下,主機(jī)名來自于URI。假如URI包含了IP地址,Squid不會(huì)將其轉(zhuǎn)換為主機(jī)名。


13.2.4.7 client_netmask

該指令存在主要是為了保護(hù)用戶的隱私。不同于記錄完整的IP地址,你也可以掩蓋一些位。例如:


client_netmask 255.255.255.0

在此設(shè)置下,access.log里的所有客戶端IP地址的最后一個(gè)八位組是0:


1066036246.918     35 163.11.255.0 TCP_IMS_HIT/304 266 GET http://...
            1066036246.932     16 163.11.255.0 TCP_IMS_HIT/304 266 GET http://...
            1066036247.616    313 140.132.252.0 TCP_MISS/200 1079 GET http://...
            1066036248.598  44459 140.132.252.0 TCP_MISS/500 1531 GET http://...
            1066036249.230     17 170.210.173.0 TCP_IMS_HIT/304 265 GET http://...
            1066036249.752   2135 140.132.252.0 TCP_MISS/200 50230 GET http://...
            1066036250.467      4 170.210.173.0 TCP_IMS_HIT/304 265 GET http://...
            1066036250.762    102 163.11.255.0 TCP_IMS_HIT/304 265 GET http://...
            1066036250.832     20 163.11.255.0 TCP_IMS_HIT/304 266 GET http://...
            1066036251.026     74 203.91.150.0 TCP_CLIENT_REFRESH_MISS/304 267 GET http://...

13.2.4.8 strip_query_terms

該指令是另一個(gè)隱私保護(hù)功能。在記錄請求前,Squid刪除了查詢條件。假如日志文件不幸落入壞人之

手,他們不會(huì)找到任何用戶名和密碼。當(dāng)該指令激活時(shí),在問號(hào)(?)之后的所有字節(jié)被刪除。例如,某

個(gè)URI如下:


http://auto.search./response.asp?MT=www.kimo.com.yw&srch=3&prov=&utf8

會(huì)被記錄為:


http://auto.search./response.asp?

13.2.4.9 uri_whitespace

早前我提到過出現(xiàn)在某些URI里的空格字符的問題。RFC申明URI必須不包括空格字符,但在實(shí)際中情

況并非如此。uri_whitespace指令指明Squid如何處理這種情況。允許的設(shè)置是:strip (default),

deny, allow, encode, 和chop。在這些設(shè)置里,strip,encode和chop保證URI域不包含任何空格

字符(空格字符會(huì)給access.log增加多余的域)。


allow設(shè)置允許請求不加修改的通過Squid。它很可能會(huì)給重定向器和日志文件解析器帶來麻煩。與之

相反的是deny設(shè)置,它導(dǎo)致Squid拒絕這種請求。用戶會(huì)接受到錯(cuò)誤消息,但請求仍帶著空格字符被

記錄到access.log。


假如設(shè)置為encode,Squid將空格字符按RFC 1738規(guī)范來編碼。這點(diǎn)其實(shí)用戶代理應(yīng)該先做到。

chop設(shè)置導(dǎo)致Squid把第一個(gè)空格字符后的URI都截?cái)唷?/font>


默認(rèn)設(shè)置是strip,它讓Squid從URI里移除空格字符。這確保日志文件解析器和重定向器工作正常,但

可能會(huì)破壞某些事情,例如不正確編碼的搜索引擎查詢。


13.2.4.10 buffered_logs

默認(rèn)情況下,Squid禁止寫cache.log文件的buffer,這允許你運(yùn)行tail -f 命令實(shí)時(shí)的觀察日志文件變

化。假如你認(rèn)為這點(diǎn)導(dǎo)致不必要的性能開銷,就可以禁用buffer:


buffered_logs off

然而,除非以完整debug模式運(yùn)行Squid,這點(diǎn)可能無關(guān)緊要。注意該選項(xiàng)僅僅影響cache.log。其他

的日志文件總使用非緩沖的寫方式。




13.2.5 access.log分析工具


access.log包含很多信息,遠(yuǎn)不止你簡單的瀏覽該文件所見。為了完整的瀏覽,必須使用第三方的日

志文件分析包。你可在Squid的web頁面的鏈接里,找到它們的列表?;蛘咧苯釉L問:

http://www./Scripts/.


最流行的工具之一是Calamaris -- 一個(gè)Perl腳本,解析日志文件并產(chǎn)生基于文本的或HTML的報(bào)告。

它提供關(guān)于會(huì)話的詳細(xì)分類包括請求方式、客戶端IP地址、原始服務(wù)器域名、內(nèi)容類型、文件名擴(kuò)展、

響應(yīng)size、以及更多。Calamaris也報(bào)告ICP查詢會(huì)話,甚至其他cache產(chǎn)品的日志分析。其站點(diǎn)是:

http://calamaris..


Squeezer以及它的派生Squeezer2,是Squid專有的分析工具。它們提供許多統(tǒng)計(jì),能幫助你了解

Squid的性能,特別是在有鄰居cache時(shí)。兩者都產(chǎn)生HTML文件作為輸出。站點(diǎn)的

Logfile Analysis頁有這些程序的鏈接。


Webalyzer是另一個(gè)有用工具。它運(yùn)行快速,并且產(chǎn)生帶表格和柱形統(tǒng)計(jì)表的HTML頁面。它原始是

設(shè)計(jì)成分析原始服務(wù)器的訪問日志的。盡管它能解析Squid的日志,但不會(huì)報(bào)告諸如命中率和響應(yīng)時(shí)間

的事件。它使用的某些條款不同于我的做法。例如,Webalyzer把任何請求叫做一個(gè)"命中",這不同于

cache命中。它也把"頁面"和"文件"加以區(qū)別。更多信息請?jiān)L問Webalyzer的主頁:

http://www./webalyzer/.





13.3 store.log

store.log記錄Squid關(guān)于存儲(chǔ)或刪除cache目標(biāo)的決定。對每個(gè)存在cache里的目標(biāo)、每個(gè)不可

cache的目標(biāo)、以及每個(gè)被輪換策略刪除的目標(biāo),Squid都會(huì)創(chuàng)建相應(yīng)的日志條目。該日志文件內(nèi)容既

包含了內(nèi)存cache又包含了磁盤cache。


store.log提供了下述不能從access.log獲取的內(nèi)容:



           
       
  • 1)某個(gè)特定的響應(yīng)是否被cache。
       

       
  • 2)cache目標(biāo)的文件號(hào)。對UFS基礎(chǔ)的存儲(chǔ)機(jī)制,你可轉(zhuǎn)換該文件號(hào)到路徑名,并且檢查
  • cache文件的內(nèi)容。
       

       
  • 3)響應(yīng)的內(nèi)容長度:包括Content-Length值和實(shí)際的body大小。
       

       
  • 4)Date, Last-Modified, 和Expires頭部的值。
       

       
  • 5)響應(yīng)的cache關(guān)鍵字(例如MD5哈希值)。
       

如你所見,這些都是相對低級的信息,在日常管理中可能用不上。除非你要做專業(yè)的分析,或打算

debug某程序,否則store.log可有可無。可以如下來禁止它:


cache_store_log none

跟其他日志文件一樣,Squid將最新的日志條目寫到該文件的末尾。某個(gè)給定的URI可能出現(xiàn)在日志文

件里多次。例如,它先被cache,然后刪除,接著又cache住。僅僅最近來的日志條目才反映目標(biāo)的

當(dāng)前值。


store.log是文本基礎(chǔ)的,看起來如下:


1067299212.411 RELEASE -1 FFFFFFFF A5964B32245AC98592D83F9B6EA10B8D 206
            1067299212 1064287906 -1 application/octet-stream 6840/6840
            GET http://download./msdownload/update/v3-19990518/cab...
            1067299212.422 SWAPOUT 02 0005FD5F 6F34570785CACABC8DD01ABA5D73B392 200
            1067299210 1057899600 -1 image/gif 1125/1125
            GET http://forum./shf./images/nav_members1.gif
            1067299212.641 RELEASE -1 FFFFFFFF B0616CB4B7280F67672A40647DD08474 200
            1067299212 -1 -1 text/html -1/67191
            GET http://www./
            1067299212.671 RELEASE -1 FFFFFFFF 5ECD93934257594825659B596D9444BC 200
            1067299023 1034873897 1067299023 image/jpeg 3386/3386
            GET http://ebiz0./abc/ebiz/_EBIZ_3922eabf57d44e2a4c3e7cd234a...
            1067299212.786 RELEASE -1 FFFFFFFF B388F7B766B307ADEC044A4099946A21 200
            1067297755 -1 -1 text/html -1/566
            GET http://www./pages/100303pic15.cfm
            1067299212.837 RELEASE -1 FFFFFFFF ABC862C7107F3B7E9FC2D7CA01C8E6A1 304
            1067299212 -1 1067299212 unknown -1/0
            GET http://ebiz0./abc/ebiz/_EBIZ_3922eabf57d44e2a4c3e7cd234a...
            1067299212.859 RELEASE -1 FFFFFFFF 5ED2726D4A3AD83CACC8A01CFDD6082B 304
            1066940882 1065063803 -1 application/x-javascript -1/0
            GET http://www./scripts/header_footer.js

每個(gè)日志條目包含如下13個(gè)域:



           
       
  • 1. 時(shí)間戳

    事件何時(shí)發(fā)生,表現(xiàn)為Unix紀(jì)元以來的秒數(shù),它是毫秒級的。


       

       
  • 2. 動(dòng)作


       

       
  • cache目標(biāo)發(fā)生的動(dòng)作。該域有3個(gè)可能值:SWAPOUT,RELEASE,和SO_FAIL。


       

       

                     
             
    • 1)SWAPOUT在Squid成功的存儲(chǔ)目標(biāo)到磁盤時(shí)發(fā)生。某些目標(biāo)例如那些消極cache的
    • ,僅保存在內(nèi)存而不是磁盤,Squid不會(huì)在store.log里記錄它們。


             

             
    • 2)SO_FAIL表明Squid不能完整的存儲(chǔ)目標(biāo)到磁盤。多半意味著存儲(chǔ)機(jī)制拒絕以寫方式
    • 打開新的磁盤文件。


             

             
    • 3)RELEASE在Squid從cache里刪除目標(biāo),或首先就決定響應(yīng)不可存儲(chǔ)時(shí)發(fā)生。
             

         

           


       

       
  • 3. 目錄號(hào)


       

       
  • 目錄號(hào)是十進(jìn)制小數(shù)形式,它是個(gè)到cache目錄的7位索引。對沒有存儲(chǔ)到磁盤的目標(biāo),該域包
  • 含-1值。


       

       
  • 4. 文件號(hào)


       

       
  • 文件號(hào)是25位的標(biāo)識(shí)符,內(nèi)在的被squid使用。它被寫成8字符的十六進(jìn)制號(hào)。對UFS基礎(chǔ)的存
  • 儲(chǔ)機(jī)制,有算法可以轉(zhuǎn)換文件號(hào)到路徑名(見13.3.1節(jié))。沒有存儲(chǔ)到磁盤的目標(biāo),沒有有效
  • 的文件號(hào)。對這些目標(biāo),該域的值是FFFFFFFF。僅僅在RELEASE和SO_FAIL情況下才會(huì)出現(xiàn)
  • 這個(gè)值。


       

       
  • 5. cache關(guān)鍵字

    Squid使用MD5哈希值作為主要的索引來定位目標(biāo)。該關(guān)鍵字基于請求方式、URI、和其他可能
  • 的信息計(jì)算得來??梢詮腸ache關(guān)鍵字來查找store.log條目。然而請注意,目標(biāo)的cache關(guān)鍵
  • 字可能改變。當(dāng)Squid在access.log里記錄TCP_REFRESH_MISS請求時(shí),這點(diǎn)會(huì)發(fā)生。情況
  • 類似如下:
       

       
    1065837334.045 SWAPOUT ... 554BACBD2CB2A0C38FF9BF4B2239A9E5 ... http://blah
                    1066031047.925 RELEASE ... 92AE17121926106EB12FA8054064CABA ... http://blah
                    1066031048.074 SWAPOUT ... 554BACBD2CB2A0C38FF9BF4B2239A9E5 ... http://blah

            發(fā)生了什么呢?該目標(biāo)原本cache在某個(gè)關(guān)鍵字下(554B...)。一段時(shí)間后,Squid接
  • 受到對該目標(biāo)的另一請求,并轉(zhuǎn)發(fā)確認(rèn)請求到原始服務(wù)器。當(dāng)響應(yīng)以新內(nèi)容返回時(shí),Squid改變
  • 舊目標(biāo)的cache關(guān)鍵字(92AE...),以便它能授予新目標(biāo)正確的關(guān)鍵字(554B...)。然后舊
  • 目標(biāo)刪除,新目標(biāo)存儲(chǔ)到磁盤。


       

       
  • 6. 狀態(tài)碼


       

       
  • 該域顯示響應(yīng)的HTTP狀態(tài)碼,跟access.log一樣。表13.1是狀態(tài)碼列表。


       

       
  • 7. 日期


       

       
  • HTTP響應(yīng)的Date頭部值,表現(xiàn)為Unix紀(jì)元以來的秒數(shù)。值-1表示Date頭部不可解析,-2意味
  • 著頭部完缺。


       

       
  • 8. 最后修改時(shí)間


       

       
  • HTTP響應(yīng)的Last-Modified頭部值,表現(xiàn)為Unix紀(jì)元以來的秒數(shù)。值-1表示Last-Modified頭
  • 部不可解析,-2意味著頭部完缺。


       

       
  • 9. 過期時(shí)間


       

       
  • HTTP響應(yīng)的Expires頭部值,表現(xiàn)為Unix紀(jì)元以來的秒數(shù)。值-1表示Expires頭部不可解析,
  • -2意味著頭部完缺。


       

       
  • 10. 內(nèi)容類型


       

       
  • HTTP響應(yīng)的Content-Type頭部值,排除了任何media-type參數(shù)。假如Content-Type丟失
  • 了,Squid插入值unknown。


       

       
  • 11. 內(nèi)容長度/大小


       

       
  • 該域包含2個(gè)數(shù)字,以斜杠分開。第一個(gè)是Content-Length頭部值。-1表明
  • Content-Length頭部不存在。第二個(gè)是HTTP消息body的實(shí)際大小。你可使用這2個(gè)數(shù)字來部
  • 分的驗(yàn)證接受到的響應(yīng),并驗(yàn)證原始服務(wù)器是否不正確的計(jì)算了內(nèi)容長度。大多數(shù)情形下,這
  • 2個(gè)數(shù)字相等。


       

       
  • 12. 方式


       

       
  • 請求目標(biāo)的HTTP方式,跟access.log里的一樣。


       

       
  • 13. URI


       

       
  • 最后一個(gè)域是請求URI,跟access.log里的一樣。該域也有前述章節(jié)提到的空格問題。然而,
  • 這里不必為此擔(dān)憂,因?yàn)槟憧砂踩暮雎匀魏味嘤嗟挠颉?br>

       

       
  • 對許多RELEASE的條目,在最后8個(gè)域出現(xiàn)的是疑問號(hào)(?)。這是因?yàn)檫@些域的大部分值來自
  • squid稱為MemObject的結(jié)構(gòu)。該結(jié)構(gòu)僅在目標(biāo)已被接受時(shí),或目標(biāo)被完整存儲(chǔ)在內(nèi)存時(shí),才
  • 會(huì)出現(xiàn)。Squid cache里的大部分目標(biāo)沒有MemObject結(jié)構(gòu),因?yàn)樗鼈儍H存在于磁盤。對這些
  • 情況,Squid在相應(yīng)域放置一個(gè)疑問號(hào)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多