1. 先更新現有的套件
#yum update
2. 安裝前必要的套件
#yum install gcc make wget httpd gd gd-devel perl*
3. 下載sarg套件並安裝
# wget http://garr.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.7/sarg-2.3.7.tar.gz
# tar -xvzf sarg-2.3.7.tar.gz
# cd sarg-2.3.7
# ./configure
# make
# make install
附註:若是在 x64,2.3.8版本在make時,會發生錯誤.
產生的錯誤訊息,利用google很快就找到解法
官方:2.3.9會修正
4. 開始設定sarg設定檔
#vi /usr/local/etc/sarg.conf
設定squid access.log位置, 如果squid有使用rotate的話,也可以指定access.log.0.
access_log /var/log/squid/access.log
網頁要產生的資料夾位置
output_dir /var/www/html/sarg
設定時間格式
date_format e
覆蓋已有的資料
overwrite_report no
僅保留120筆的log
lastlog 120
設定完成後,存檔
5. 取得squid的資料,這只要做一次即可.這會做設定確認.
中間若有失敗的地方, 回頭看設定值和實際的值是否正確.
#sarg x
6. 啟動apache service 且開機就啟動
#service httpd start
#chkconfig httpd on
7.透過網頁查看分析報告
URL: http://localhost/sarg
note: 網址後方的 sarg, 就是在設定檔指定的位置.
8. 自動sarg x, 編輯crontab,使sarg x自動執行
#vi /etc/crontab
比如每天00:00
0 0 * * * root /usr/local/bin/sarg -x
存檔
9.crontab 設定完成,記得reload
#service crond reload
註記:
squid的log為了避免成長過大,會使用 rotate的方式來限制log的檔案數.
而SARG的資料來源來自access.log,若access.log被截斷後,SARG在去撈資料。
就有可能發生資料不完整的情況。
所以透過crontab的方法,讓squid的log先rotate產生 access.log.0.
然後SARG在去撈access.log.0的資料。
範例說明:squid在每天23點時截斷資料,凌晨00點時SARG在去撈access.log.0的資料
0 23 * * * root /usr/sbin/squid -k rotate
0 0 * * * root /usr/local/bin/sarg -x
註記:
squid的log為了避免成長過大,會使用 rotate的方式來限制log的檔案數.
而SARG的資料來源來自access.log,若access.log被截斷後,SARG在去撈資料。
就有可能發生資料不完整的情況。
所以透過crontab的方法,讓squid的log先rotate產生 access.log.0.
然後SARG在去撈access.log.0的資料。
範例說明:squid在每天23點時截斷資料,凌晨00點時SARG在去撈access.log.0的資料
0 23 * * * root /usr/sbin/squid -k rotate
0 0 * * * root /usr/local/bin/sarg -x