閱讀684 返回首頁    go 阿裏雲 go 技術社區[雲棲]


squid 日誌內容詳解

squid

0 Comments

squid 日誌內容詳解

cat /var/log/squid/access.log|gawk ‘{print $4}’|sort|uniq -c|sort -nr

93083 TCP_MISS/200

33858 TCP_IMS_HIT/304

13938 TCP_HIT/200

5920 TCP_REFRESH_HIT/304

4443 TCP_CLIENT_REFRESH_MISS/304

3263 TCP_MISS/304

3078 TCP_MEM_HIT/200

2842 TCP_REFRESH_HIT/200

2665 TCP_REFRESH_MISS/200

2603 TCP_MISS/302

2227 TCP_CLIENT_REFRESH_MISS/200

2098 TCP_MISS/500

1802 TCP_MISS/301

967 TCP_MISS/404

946 TCP_NEGATIVE_HIT/404

562 TCP_MISS/204

206 TCP_MISS/503

188 TCP_MISS/502

101 TCP_NEGATIVE_HIT/403

93 TCP_MISS/504

84 TCP_MISS/206

81 TCP_IMS_HIT/200

76 TCP_MISS/403

66 TCP_CLIENT_REFRESH_MISS/404

59 TCP_MISS/400

57 TCP_REFRESH_MISS/302

41 TCP_NEGATIVE_HIT/400

20 TCP_REFRESH_MISS/000

18 TCP_MISS/307

13 TCP_CLIENT_REFRESH_MISS/206

12 TCP_MISS/000

10 TCP_MISS/401

9 TCP_DENIED/400

8 TCP_MISS/202

7 TCP_SWAPFAIL_MISS/200

5 TCP_MISS/303

4 TCP_CLIENT_REFRESH_MISS/500

3 TCP_REFRESH_MISS/404

3 TCP_NEGATIVE_HIT/504

3 TCP_NEGATIVE_HIT/500

3 TCP_MEM_HIT/302

2 TCP_MISS/600

2 TCP_MEM_HIT/206

2 TCP_CLIENT_REFRESH_MISS/403

1 TCP_HIT/302

以上的一個命令可以用於分析Squid日誌,命令返回結果當中,如果看到很多的TCP_MEM_HIT,這表明該文件是從內存緩存讀取。其他返回顯示的解析如下:

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

開源技術

squid

time

0 Comments

Squid限製工作時間瀏覽開心網

今天,朋友來電詢問如何利用代理服務器禁止開心網。我將過程隨意的告訴了他,中午不久又給我一個消息。他說工作時間禁止登陸即可,中午時候可以任意的訪問開心網是否可以實現。這個其實也非常的簡單,順便在博客上也記錄一下:

在squid.conf適當位置添加以下參數:

acl WH time MTWHFA 09:00-12:00 13:30-18:00

acl DenyKaixin dstdomain www.kaixin.com www.kaixin001.com

http_access deny WH DenyKaixin

其中ACL的時間參數解析:

以上的方法對於用Squid限製工作時間上QQ,MSN,網頁遊戲均有效,關鍵在於dstdomain是否準確有效。

2010-02-12

開源技術

configure

squid

0 Comments

Squid編譯安裝參數

以下是我目前安裝squid所用的配置參數,性能方麵感覺還可以:

2.7版本:

./configure –prefix=/usr/local/squid –with-maxfd=65535 –disable-internal-dns –enable-async-io –enable-epoll –enable-arp-acl –with-large-files –enable-snmp –enable-storeio=aufs,ufs –enable-default-err-language=Simplify_Chinese –enable-err-languages=”Simplify_Chinese English”

配置參數解析:

–disable-internal-dns

該選項是禁用Squid內部DNS解釋,即不檢查/etc/hosts,直接運用/etc/resolc.conf中列出的DNS服務器的順序進行DNS解析,這樣有個問題是不能代理內部網段的服務器訪問。

–with-maxfd=65535

該選項在2.7版本中更換為–max_filedescriptors=65535

–enable-epoll

開啟epoll據說可以提升I/O性能,沒有實際感覺出來但也加上編譯

2010-02-12

開源技術

cacti

snmp

squid

0 Comments

Cacti監控Squid運行情況

1.監控squid需要在編譯安裝時增加以下參數:

–enable-snmp

2.修改squid配置文件,啟用snmp:

acl CactiServer src cacti_ip_address

acl SNMP snmp_community public

snmp_port 3401

snmp_access allow SNMP CactiServer

snmp_access deny all

配置完成後需要重新啟動Squid程序或重新刷新配置。

3.檢查是否配置成功:

yum install -y net-snmp-utils

snmpwalk -v 1 -c public 127.0.0.1:3401 .1.3.6.1.4.1.3495.1.3.2.1.4

4.下載與配置cacti模板:

wget https://forums.cacti.net/download.php?id=79

unzip SquidStats-0.1.zip

mv webcache_squid_* /var/www/cacti/resource/snmp_queries/

chmod 777 /var/www/cacti/resource/snmp_queries/webcache_squid_*

登陸到cacti管理控製台,通過import templates導入cacti_host_template_webcache_squid_server_snmp.xml文件。

5.添加設備:

在“Devices”選項中添加新主機,注意“Host Template”選擇”squid sever”

就是導入進的那個.並注意填寫以下內容:

SNMP Community = public

SNMP Version = 1

SNMP Port = 3401

以上,完成!

2010-02-12

開源技術

squid

version

0 Comments

Squid版本區別

Squid 2.5:比較少見到有在生產中運行,沒有epoll支持,內存管理不穩定常出現宕機。

squid 2.6:性能與穩定較好,但隻支持http 1.1,具備epoll支持。

squid 2.7:推薦采用2.7版本,具備2.6的穩定性,同時具備Squid 3.0版本特性。

Squid 3.0:不建議。C++語言重架構,性能與穩定性遠不如2.6版本或2.7版本。不過大型網站都在用,可能反向緩存加速功能強大點吧。

2010-02-12

開源技術

squid

time

0 Comments

Squid的ERROR MESSAGE時區問題

在Squid的錯誤或警告頁麵當中,底端的時間與實際時間有8小時的差距,平時看起來讓用戶感覺有些奇怪。Squid的ERROR MESSAGE默認的時間顯示的GMT時間,而非本地時間導致有時間差距。

解決方法

編輯Squid源文件src/errorpage.c,大概在60多行:

{

ERR_SQUID_SIGNATURE,

“\n<BR clear=\”all\”>\n”

“<HR noshade size=\”1px\”>\n”

“<ADDRESS>\n”

“Generated %T by %h (%s)\n”

“</ADDRESS>\n”

“</BODY></HTML>\n”

}

“Generated %T by %h (%s)\n” 修改為 “Generated %t by %h (%s)\n”即可!

最後更新:2017-01-04 22:34:34

  上一篇:go 網站壓力測試工具webbench
  下一篇:go squid做反向代理時,要注意的安全設置