ログファイルはホームディレクトリの
logs ディレクトリに「access.log」という名前で記録されます。これは毎日午前5時にローテーションされ、
access.log → access.log.0
のようにリネームされます。そして新しくaccess.logが作成されはじめます。
これは7日分保管されますので
access.log ← 現在のアクティブなログ
access.log.0 ← 前日のログ
access.log.1.zip ← 2日前のログ
〜以下省略〜
のようになります。
access.logを統計処理すれば良いように思いますが、access.logは統計処理を行っている最中でも新たなログが書き込まれていくため、完
全ではありません。
access.log.0 を統計対象とすることで前日分のログを完全に処理することができ
ます。
webalizerでログを処理する場合の設定ファイルの例を示します。
(漢字のコメントは誤動作を引き起こしますので、実際には削除してください)
LogFile /home/myname/logs/access.log.0 # access.logのパスを指定 LogType clf # ログタイプはこのまま OutputDir /home/myname/www.example.com/usage # ログを置くディレクトリを指定 # ↑ # http://www.example.com/usage/ でアクセスする例
Incremental yes # これは重要 ReportTitle Usage Statistics for myhost # タイトル HostName www.example.com # サーバ名を書く
# 以下通常は変更しなくとも大丈夫です PageType htm* PageType shtml PageType cgi #PageType phtml PageType php #PageType pl #PageType gif #PageType png #PageType zip
DNSCache dns_cache.db DNSChildren 0
TopKSites 20 # 転送量のトップ20サイトを表示する TopKURLs 20 # 転送量のトップ20URLを表示する TopSites 50 # アクセス数トップ50サイトを表示する
# 以下通常は変更しなくとも大丈夫です SearchEngine yahoo.com p= SearchEngine altavista.com q= SearchEngine google.com q= SearchEngine eureka.com q= SearchEngine lycos.com query= SearchEngine hotbot.com MT= SearchEngine msn.com MT= SearchEngine infoseek.com qt= SearchEngine webcrawler searchText= SearchEngine excite search= SearchEngine netscape.com search= SearchEngine mamma.com query= SearchEngine alltheweb.com query= SearchEngine northernlight.com qr=
# 以下で指定したファイルを統計に表示しません HideURL *.gif HideURL *.GIF HideURL *.jpg HideURL *.JPG HideURL *.png HideURL *.PNG HideURL *.ra
# 以下で指定したクライアントからのアクセスを表示しません HideSite ppp01.inetd.co.jp
# 以下 Ignore??? で指定したものを統計数に加えません IgnoreSite localhost IgnoreSite *.inetd.co.jp IgnoreSite *.ppp.inetd.co.jp #IgnoreAgent inetd/1.0
IgnoreURL /usage/* # webalizerへのアクセスを統計に加えない
|
上記内容を webalizer.conf
として保存して適当なディレクトリに置いてください。なおftpで設定ファイルを転送する場合は必ずテキストモード(ASCIIモード)で転送してくださ
い。
webalizerでログを処理するためにはシェルから次のコマンドを実行します。
webalizer -c webalizer.conf
フルパスで指定する場合は次のように実行します。
/usr/local/bin/webalizer -c /home/myname/etc/webalizer.conf
-c で指定する webalizer.conf はwebalizer.confを置いたディレクトリを正確に指定してください。
webalizerはログのローテーション後に毎日1度実行してください。
webブラウザでアクセスして結果を見ます。
上記設定例では http://www.example.com/usage/ にアクセスすることで表示されます。
telnet/sshでログインしてシェルから次のように実行してwebalizerの実行を組み込みます(毎日朝7時に実行)。
> ( crontab -l ; echo ; echo '0 7 * * * /usr/local/bin/webalizer -c
/home/myname/etc/webalizer.conf' ) | crontab -
登録されているかcrontab -l で確認します。
> crontab -l
0 7 * * * /usr/local/bin/webalizer -c /home/myname/etc/webalizer.conf
===========================================
※ webalizer/cronはサポート外ですのでご了承ください。
===========================================