使用MRTG進(jìn)行squid流量的限制-其他配置
使用MRTG進(jìn)行squid流量的限制
本文講述的是 使用MRTG進(jìn)行squid流量的限制:
介紹準(zhǔn)備、MRTG的安裝、配置lSquid、其他配置
配置Http服務(wù)加速代理
- httpd_accel_host 202.98.187.17
 - httpd_accel_port 80
 - httpd_accel_with_proxy on
 
(注:如果配置代理和加速服務(wù),必須httpd_accel_with_proxy選項(xiàng)打開。如果需要配置多個(gè)加速,可以使用虛擬的概念。)
- snmp_port 3401
 
此標(biāo)記設(shè)置snmp_port端口為3401,可以使MRTG監(jiān)測(cè)服務(wù)運(yù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
 
以上選項(xiàng)用于配置和MRTG交互信息的Snmp設(shè)置。
- 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)生緩存摘要,并設(shè)置摘要重構(gòu)所需要的時(shí)間及其相關(guān)設(shè)置,這里采用系統(tǒng)默認(rèn)設(shè)置。緩存摘要使的龐大的緩存內(nèi)容形成一個(gè)微型檢索,提高代理性能。
最后我們進(jìn)行延遲隊(duì)列池進(jìn)行配置
延遲隊(duì)列池可以基于一定規(guī)則對(duì)特定請(qǐng)求數(shù)據(jù)的進(jìn)行限制,這樣可以防止惡意用戶發(fā)送非正規(guī)數(shù)據(jù)串攻擊服務(wù)器。
以下選項(xiàng)只在必要處進(jìn)行說明,配置如下:
- delay_pools 1 #定義一個(gè)池
 - delay_class 1 1 #池為1類型
 - delay_access 1 allow all #允許類型1的所有請(qǐng)求訪問
 - delay_parameters 1 128000/128000 #限制訪問的128k/s
 - delay_initial_bucket_level 50 #Squid啟動(dòng)時(shí),初始化池所用的帶寬數(shù)量。
 
運(yùn)行Squid代理服務(wù):
- #squid –z /*創(chuàng)建Squid所使用的緩存目錄結(jié)構(gòu)
 
如果想在前臺(tái)運(yùn)行
- #squid –NCdl
 
如果想在后臺(tái)運(yùn)行
- #squid
 
檢查Squid是否運(yùn)行
- #squid –k check
 
lMRTG配置:
首先測(cè)試SNMP服務(wù)是否啟動(dòng):
- #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文件,制作一個(gè)Index.html。這里,我提供一種更為簡(jiǎn)潔的辦法:
(感謝Chris提供的mrtg-squid.cfg文件和index.html,可到網(wǎng)上下載這兩個(gè)文件。)
修改mrtg-squid.cfg文件選項(xiàng)如下:
修改 WorkDir 和 LoadMIBs 路徑設(shè)置
修改所有出現(xiàn)在文件中的"hostname" 為你實(shí)際服務(wù)器名字
修改所有 "chris"字段為你需要的名字和地址
修改community 字串屬性
這里配置如下:
- WorkDir: /home/www/mrtg/squid
 - LoadMIBs: /usr/local/squid/etc/mib.txt
 
所有public@hostname修改secrect@proxysvr
創(chuàng)建/home/www/mrtg/squid這樣一個(gè)目錄。
- #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如下幾個(gè)選項(xiàng)
- Listen 8000
 - Port 8000
 - Documentroot /home/www/mrtg/squid
 
由于mrtg讀取文件需要資源,因?yàn)楹侠碓O(shè)置讀取間隔,這里我設(shè)置為5分鐘:
- crontab –e
 - */5 * * * * /usr/local/mrtg-2/bin/mrtg /home/www/mrtg/squid/mrtg-squid.cfg
 
這樣,我們就建立了一個(gè)完善的代理加速訪問服務(wù)器,通過mrtg的強(qiáng)大監(jiān)控,可以統(tǒng)計(jì)服務(wù)器運(yùn)行時(shí)設(shè)備運(yùn)行狀態(tài)。由于以上軟件遵從GNU,因此一種強(qiáng)大而有經(jīng)濟(jì)的建站手段。通過認(rèn)證控制,允許特定用戶使用代理服務(wù)。而Web加速服務(wù)器則成為服務(wù)器鏡像的方便手段。
【編輯推薦】















 
 
 
 
 
 
 