Webalizer は各種のログを解析するアプリケーションで,今回は Squid のログを解析します.Squid のログは標準ではあまり可読性が良くありません.Apache ライクなログをとる方法がありますが,これもあまり当てになりません.そこで Webalizer にログ解析をさせます.
Webalizer のサイトは, http://www.webalizer.org/ です,またコンパイルには GD のライブラリが必要です.今回は日本語出力をさせます.
# wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz # tar xvzf webalizer-2.01-10-src.tgz # cd webalizer-2.01-10 # ./configure --prefix=/usr/local/webalizer \ # --with-language=japanese # make # インストール時にディレクトリを作ってくれないので自分で作る # mkdir -p /usr/local/webalizer/bin # mkdir -p /usr/local/webzlizer/man/man1 # make install
Webalizer インストール時に /etc/webalizer.conf.sample というファイルが生成されるのでそれを参考にして設定をします.サンプルファイルには詳細に説明が書かれているのでそれほど困ることはないでしょう.この設定は必要最小限でほかにも有用な設定が多々あります.
# Squid のログのありかを示す LogFile /usr/local/squid-2.5/var/logs/access.log # ログのタイプを指定する LogType squid # 出力先ディレクトリを指定する OutputDir /home/httpd/html/webalizer # 履歴ファイルを指定する HistoryName /home/httpd/html/webalizer/webalizer.hist # ログを増分で見るかどうかを決める Incremental yes # 増分を判断するファイルのありかを示す IncrementalName /home/httpd/html/webalizer/webalizer.current
ここでは,23:00に cron で処理させます.また,/usr/local/webalizer にはパスが通っていないので cron には簡単なシェルスクリプトを実行させます.
# こいつを /etc/cron.d/ に放り込みます 0 23 * * * root /usr/local/webalizer/webalizer.sh
#!/bin/sh # 当然ながら,このスクリプトは cron で指定された先に置きます cd /usr/local/webalizer ./bin/webalizer -q chown -R httpd:users /home/httpd/html/webalizer