2014/05/22

安裝SARG

OS:CentOS 6.5

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





沒有留言:

張貼留言

你好~

VoiceHero 九折優惠碼

  用我的優惠碼 v_t9msjy 購買 Hero 或 Vclass 課程,都能享有 9 折優惠 ! 馬上報名:https://bit.ly/34w3dif