| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「SARG」を用いて「Squid」のログ解析を行います。
なお、「Apache」の設定、
「Squid」の設定は完了済みとします。
[root@CentOS ~]# mkdir /usr/local/src/sarg <= 作業用ディレクトリの作成 [root@CentOS ~]# chmod 777 /usr/local/src/sarg <= 作業用ディレクトリのパーミッション変更 [root@CentOS ~]# exit <= 一般ユーザになる [kaz@CentOS ~]$ cd /usr/local/src/sarg <= 作業用ディレクトリへ移動 [kaz@CentOS sarg]$ wget http://jaist.dl.sourceforge.net/sourceforge/sarg/sarg-2.2.2.tar.gz <= 「SARG」のソースをダウンロード [kaz@CentOS sarg]$ tar xzf sarg-2.2.2.tar.gz <= ダウンロードしたファイルの展開 [kaz@CentOS sarg]$ cd sarg-2.2.2 <= 展開したディレクトリに移動 |
このままコンパイルすることも出来ますが、その場合ログのレポートを日本語で表示すると文字化けを起こしてしまいますので、
ソースファイルを編集します。
なお、sarg-2.2.3では既に記述されていますので、この修正は必要ありません。
[root@CentOS sarg-2.2.2]$ vi /usr/local/src/sarg/sarg-2.2.2/charset.c
void ccharset()
{
if(strcmp(CharSet,"Latin2") == 0) strcpy(CharSet,"ISO-8859-2");
else if(strcmp(CharSet,"Latin3") == 0) strcpy(CharSet,"ISO-8859-3");
else if(strcmp(CharSet,"Japan") == 0) strcpy(CharSet,"EUC-JP"); <= 追加
return;
}
|
上記の編集終了後、インストールします。
[kaz@CentOS sarg-2.2.2]$ ./configure 2>&1 | tee configure.log [kaz@CentOS sarg-2.2.2]$ make 2>&1 | tee make.log <= コンパイル [kaz@CentOS sarg-2.2.2]$ su <= スーパーユーザになる パスワード(P): <= パスワードの入力 [root@CentOS sarg-2.2.2]# make install 2>&1 | tee make-install.log <= インストール |
[root@CentOS ~]# vi /usr/local/sarg/sarg.conf <= 設定ファイルの作成 #language English ↓ language Japanese <= 変更 #access_log /usr/local/squid/var/logs/access.log ↓ access_log /var/log/squid/access.log <= ログファイルを指定 #output_dir /var/www/html/squid-reports ↓ output_dir /var/www/squid-reports <= 「SARG」の出力先を指定 #charset Latin1 ↓ charset Japan <= charsetを指定 |
ディレクトリの作成
「SARG」が出力するディレクトリを作成します。
[root@CentOS ~]# mkdir /var/www/squid-reports |
日本語ファイルの設定
「SARG」の日本語の設定ファイルがおかしいので修正します。
[root@CentOS ~]# vi /usr/local/sarg/languages/Japanese <= 設定ファイルの編集 "Abuse レポート" <= 削除 "Making Abuse report" <= 削除 "Squid Abuse Report" <= 削除 "Authentication failures" "拒否" <= 追加 "トップサイト" <= 追加 "SQUIDGUARD" "Sarg log format" "ダウンロード" <= 追加 "Graphic" "Topuser" <= 削除 |
「SARG」が出力したディレクトリにアクセス出来るように「Apache」を設定します。
[root@CentOS ~]# vi /etc/httpd/conf.d/sarg.conf <= 設定ファイルの作成
Alias /squid-reports/ "/var/www/squid-reports/"
<Directory "/var/www/squid-reports/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
|
「Apache」を再起動し、設定を反映させます。
[root@CentOS ~]# /etc/rc.d/init.d/httpd restart |
「CentOS」はデフォルトでは文字コードがUTF-8ですので、EUC-JPに変更してから実行します。
[root@CentOS ~]# export LANG=ja_JP.EUC-JP [root@CentOS ~]# sarg |
http://サーバのIPアドレス/squid-reports/
でアクセスできれば問題ありません。
「SARG」の自動実行
文字コードをEUC-JPに変更してから「SARG」を実行するスクリプトファイルを作成し、 「Squid」のログローテーションに合わせて実行するようにします。
[root@CentOS ~]# vi sarg.sh <= スクリプトファイルの新規作成
#!/bin/sh
LANG=ja_JP.EUC-JP
/usr/bin/sarg > /dev/null 2>&1
[root@CentOS ~]# chmod 755 sarg.sh <= スクリプトファイルに実行権限を付加
[root@CentOS ~]# vi /etc/logrotate.d/squid <= 設定ファイルの編集
/var/log/squid/access.log {
weekly
rotate 5
copytruncate
compress
notifempty
missingok
prerotate <= 追加
/root/sarg.sh <= 追加
endscript <= 追加
}
|