使用MRTG進行squid流量的限制-其他配置
使用MRTG進行squid流量的限制
本文講述的是 使用MRTG進行squid流量的限制:
配置Http服務加速代理
- httpd_accel_host 202.98.187.17
- httpd_accel_port 80
- httpd_accel_with_proxy on
(注:如果配置代理和加速服務,必須httpd_accel_with_proxy選項打開。如果需要配置多個加速,可以使用虛擬的概念。)
- snmp_port 3401
此標記設置snmp_port端口為3401,可以使MRTG監(jiān)測服務運行狀態(tài)。
- snmp_access allow aclsnmp localhost
- snmp_access deny all
- snmp_incoming_address 0.0.0.0
- snmp_outgoing_address 0.0.0.0
以上選項用于配置和MRTG交互信息的Snmp設置。
- digest_generation on
- digest_rebuild period 1 hour
- digest_rewrite_period 1 hour
- digest_swapout_chunk_size 4096 bytes
- digest_rebuild_chunk_percentage 10
產(chǎn)生緩存摘要,并設置摘要重構所需要的時間及其相關設置,這里采用系統(tǒng)默認設置。緩存摘要使的龐大的緩存內(nèi)容形成一個微型檢索,提高代理性能。
最后我們進行延遲隊列池進行配置
延遲隊列池可以基于一定規(guī)則對特定請求數(shù)據(jù)的進行限制,這樣可以防止惡意用戶發(fā)送非正規(guī)數(shù)據(jù)串攻擊服務器。
以下選項只在必要處進行說明,配置如下:
- delay_pools 1 #定義一個池
- delay_class 1 1 #池為1類型
- delay_access 1 allow all #允許類型1的所有請求訪問
- delay_parameters 1 128000/128000 #限制訪問的128k/s
- delay_initial_bucket_level 50 #Squid啟動時,初始化池所用的帶寬數(shù)量。
運行Squid代理服務:
- #squid –z /*創(chuàng)建Squid所使用的緩存目錄結構
如果想在前臺運行
- #squid –NCdl
如果想在后臺運行
- #squid
檢查Squid是否運行
- #squid –k check
lMRTG配置:
首先測試SNMP服務是否啟動:
- #snmpwalk -p 3401 hostname communitystring .1.3.6.1.4.1.3495.1.1
如果看到如下輸出:
- enterprises.nlanr.squid.cacheSystem.cacheSysVMsize = 7970816
- enterprises.nlanr.squid.cacheSystem.cacheSysStorage = 2796142
- enterprises.nlanr.squid.cacheSystem.cacheUptime = Timeticks: (766299) 2:07:42.99
則說明SNMP正常工作。
按照mrtg.hdl.com的文檔,使用cfgmaker和indexmaker就可以生成MRTG所需要的Web發(fā)布文件。使用cfgmaker可以創(chuàng)建配置MRTG所需要的配置文件,而Indexmaker則是檢索MRTG生成的Web文件,制作一個Index.html。這里,我提供一種更為簡潔的辦法:
(感謝Chris提供的mrtg-squid.cfg文件和index.html,可到網(wǎng)上下載這兩個文件。)
修改mrtg-squid.cfg文件選項如下:
修改 WorkDir 和 LoadMIBs 路徑設置
修改所有出現(xiàn)在文件中的"hostname" 為你實際服務器名字
修改所有 "chris"字段為你需要的名字和地址
修改community 字串屬性
這里配置如下:
- WorkDir: /home/www/mrtg/squid
- LoadMIBs: /usr/local/squid/etc/mib.txt
所有public@hostname修改secrect@proxysvr
創(chuàng)建/home/www/mrtg/squid這樣一個目錄。
- #mkdir /home/www/mrtg/squid
- #cd /home/www/mrtg/squid
- #cp /opt/mrtg-squid.cfg .
- #mrtg mrtg-squid.cfg
- #cp /opt/index.html .
修改/etc/httpd/conf/httpd.conf如下幾個選項
- Listen 8000
- Port 8000
- Documentroot /home/www/mrtg/squid
由于mrtg讀取文件需要資源,因為合理設置讀取間隔,這里我設置為5分鐘:
- crontab –e
- */5 * * * * /usr/local/mrtg-2/bin/mrtg /home/www/mrtg/squid/mrtg-squid.cfg
這樣,我們就建立了一個完善的代理加速訪問服務器,通過mrtg的強大監(jiān)控,可以統(tǒng)計服務器運行時設備運行狀態(tài)。由于以上軟件遵從GNU,因此一種強大而有經(jīng)濟的建站手段。通過認證控制,允許特定用戶使用代理服務。而Web加速服務器則成為服務器鏡像的方便手段。
【編輯推薦】