Squid是Unix、Linux環(huán)境下一款優(yōu)秀的代理服務(wù)器軟件,本文敘述了Squid代理日志的五種監(jiān)測方法,五種方法各有重點,可根據(jù)需要進行選擇使用。
1 使用命令行
訪問時間 持續(xù)時間 客戶IP 采用協(xié)議 傳輸字節(jié) 訪問方式 服務(wù)IP
如果我們僅僅需要查看某一個字段,可以用awk命令,它把一個記錄行分割成多個字段,我們使用參數(shù)傳回需要的字段。命令如下:
# tail -f /var/log/squid/access.log | awk '{print$3 " " $8 " " $7}'
這里選擇的是客戶IP及取回內(nèi)容字段,顯示如下:
192.168.1.146 - http://jump.qq.com/clienturl_simp_80
192.168.1.149 - http://mm.china.com/zh_cn/images/tit_liangzhuang.gif
192.168.1.161 - http://ly.zzip.com.cn/movie/list.aspx?
這種方式的優(yōu)點是實時性強,顯示的是當(dāng)前正在訪問的記錄的情況。
2 用SARG進行監(jiān)測
SARG的全稱是Squid Analysis Report Generator,即Squid報告分析產(chǎn)生器。利用SARG,可以窗口的方式顯示上網(wǎng)用戶的瀏覽記錄,包括用戶的訪問時間,訪問站點,傳輸字節(jié)等。SARG可從站點http://sarg.sourceforge.net/sarg.php下載,最新版本是2.0,目前還沒有中文版本,這里下載的是源代碼包。
1.安裝SARG
把下載后的sarg-2.0.1.tar.gz拷貝到/usr/local/目錄,進行解壓縮并安裝。執(zhí)行如下指令:
#cp sarg-2.0.1.tar.gz /usr/local/
#cd /usr/local/
#tar -zfxv sarg-2.0.1.tar.gz
解壓后在當(dāng)前目錄下產(chǎn)生sarg-2.0.1目錄,進入到這個目錄,執(zhí)行以下安裝命令:
# ./configure
# make
# make install
2.配置SARG
軟件安裝在/usr/local/sarg/目錄下,目錄下的配置文件sarg.conf主要包括如下參數(shù):“language English”定義報告顯示語言;“title "Squid User Access Reports"”定義報告文件的標(biāo)題;“output_dir /var/www/html/squid-reports”定義報告文件的輸出目錄;“user_ip yes”以用戶IP為基準進行顯示,前提是進行了很好的用戶IP控制;“access_log /var/log/squid/access.log”指定Squid日志文件的存放位置;“report_type topsites sites_users users_sites date_time denied auth_failures”顯示產(chǎn)生的報告文件里包括什么類型的內(nèi)容(如表所示)。
3.使用SARG
配置完成之后,在終端窗口用命令sarg生成報告文件,然后就可以在客戶端使用瀏覽器通過訪問http://Squid日志服務(wù)器地址/squid-reports/來查看squid日志了。圖1所示是查看日志的一個界面。
圖1 使用SARG查看日志界面
3 用Webalizer進行監(jiān)測
Webalizer工作方式不同于SARG,這個軟件主要側(cè)重于信息的匯總,如帶寬、輸入輸出量,用于比較在不同的時間段網(wǎng)絡(luò)的使用情況。
1.安裝Webalizer
從站點http://www.mrunix.net/webalizer/download.html下載,當(dāng)前穩(wěn)定版本是 2.01-10,提供RPM包和tar包格式的下載,筆者在這里下載的是webalizer-2.01-10-src.tgz。
進入到下載目錄,執(zhí)行如下命令:
#tar-xvzf webalizer-2.01-10-src.tgz
#cd web webalizer-2.01-10
#./configure
#make
#make install
2.配置Webalizer
Webalizer的配置文件是webalizer.conf,它可以放在安裝目錄下,也可以放在/etc/目錄下,安裝后產(chǎn)生可執(zhí)行命令webalizer,當(dāng)命令執(zhí)行時,尋找webalizer.conf配置文件,產(chǎn)生相應(yīng)的輸出。webalizer.conf的配置比較簡單,主要是指定squid日志文件的目錄位置及產(chǎn)生報告的輸出目錄,主要參數(shù)如下:“LogFile /var/log/squid/access.log”表示squid日志文件目錄;“LogType squid”表示W(wǎng)ebalizer報告文件的輸出類型;“OutputDir /home/webalizer/ ”表示報告文件的輸出目錄。
3.使用Webalizer
當(dāng)執(zhí)行webalizer命令后,在輸出目錄后輸出報告文件,文件是基于時間段的,每一個時間段的報告產(chǎn)生的非常詳細,查看文件仍可使用客戶端瀏覽器方式。
4 用Calamaris進行監(jiān)測
Calamaris是一個用perl語言寫成的程序,如果要使用的話,首先系統(tǒng)里要安裝perl解釋器。它產(chǎn)生Squid日志的詳細報告,包括按高峰時間時的使用情況、流進網(wǎng)內(nèi)流量、流出流量、進出UDP包、進出TCP包、請求的二級或三級域名產(chǎn)生的報告文檔。除用于Squid日志產(chǎn)生的日志分析外,它還可用于其他形式的代理服務(wù)軟件產(chǎn)生的日志,如NetCache、Inktomi Traffic Server、Oops! proxy server、Novell InterNet Caching System等。
安裝Calamaris也很簡單,首先從站點http://cord.de/tools/squid/calamaris/Welcome.html.en下載Calamaris V2.59到/usr/local/目錄。執(zhí)行以下命令:
#cd /usr/local/
#tar xvzf calamaris-2.59.tar.gz
# cd calamaris-2.59
解壓后的目錄包含可執(zhí)行文件calamaris,無須安裝,直接使用即可,比如用以下命令使Calamaris處理squid日志文件,產(chǎn)生html格式的文件,并輸出到/var/www/html/calamaris/index.html。然后執(zhí)行如下命令就可以查看輸出報告了。
#/usr/local/calamaris/calamaris -a -F html /var/log/squid/access.log>/var/www/html/calamaris/index.html
對一般的應(yīng)用來講,上面的命令產(chǎn)生了最詳細的輸出報告,我們用命令選項-a表示產(chǎn)生所有類型的報告,用選項-F html表示產(chǎn)生html格式的文檔。/var/log/squid/access.log表示squid日志文件的存放位置,/var/www/html/calamaris/index.html表示輸出的文件名。當(dāng)產(chǎn)生報告文件后,在客戶端用瀏覽器可進行瀏覽。
5 用Squid-Graph進行監(jiān)測
Squid-Graph同Calamaris一樣,也是用Perl寫成的,但正如它的名字一樣,它用圖形化的方法產(chǎn)生squid代理的使用情況,它產(chǎn)生一些綜合信息。
可以從站點http://squid-graph.securlogic.com/files/stable/squid-graph-3.1.tar.gz下載這個軟件,這個軟件是目前最后一個可獲得的版本。這個程序的執(zhí)行需要使用Perl GD模塊,名稱一般為GD.pm,是perl的繪圖模塊,其功能類似于市面上的許多圖形程序。利用GD,我們展示如何創(chuàng)建幾何圖形,以及如何進行圖像處理,這個模塊可在軟件發(fā)行版本的CD上找到,也可以從站點http://stein.cshl.org/WWW/software/GD/下載。
把下載的軟件放到/usr/local/目錄,進行解壓。執(zhí)行如下命令:
#cd /usr/local/
# tar xvzf squid-graph-3.1.tar.gz
# mv squid-graph-3.1 squid-graph
# cd squid-graph
# chmod +x /usr/local/squid-graph/bin/*
軟件不須安裝,直接使用,比如我們用以下的命令可產(chǎn)生TCP訪問的累計圖形:
#/usr/local/squid-graph/bin/squid-graph -c -n -o=/var/www/html/squid-graph/ --title="Squid server usage of proxy" < /var/log/squid/access.log
上面的這個命令用-c選項產(chǎn)生累計圖形,用-n選項指定在命令執(zhí)行過程中不向屏幕上輸出信息,-o選項指定輸出文件的目錄,-title選項指定自定義的輸出文檔標(biāo)題,圖2是一個輸出示例。
圖2 Squid-Graph的顯示
其實,squid-graph命令配合Linux下的其他命令如grep可以在squid日志中搜索需要的字符串,然后針對這一匹配項產(chǎn)生需要的圖形。如下面的命令就產(chǎn)生了在所有日志行中有字符串“192.168.6.99”的客戶端機器的使用squid代理的圖形。
#cat /var/log/squid/access.log|grep"192.168.6.99"| /usr/local/squid-graph/bin/squid-graph -c -n / -o=/var/www/html/squid-graph/ --title="192.168.6.99’s usage"
利用這種方式,還可以產(chǎn)生統(tǒng)計訪問某一個站點,訪問特殊類型的文件如“.MP3”的統(tǒng)計圖形。(作者E-mail:qiujxjia@yahoo.com.cn)
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/chinalinuxzend/archive/2007/09/23/1796898.aspx