ログ解析ツール導入
今まで目視でログを見ていたけど、ツールを入れようとしてawstatsをインストールするが、うまく動かない。もうphpしか使えない体になってしまったのか。
で、代わるものはないかと探していてVisitorsを発見、インストールしてみる。ubuntuのリポジトリにも入っているのでapt-getでインストールできる。さっそく試してみるといい感じ。商売やっているわけでもなし、これで十分。
日時と月次で処理するようにしてみた。
まずは毎日0時10分にcron動くスクリプト。
<?php #昨日のログ $logdir = "/var/log/apache2/"; $outdir = "/var/www/lance/docs/visitors/daily/"; $yesterday = date("Ymd",time() - 3600*24); system("visitors -A -m 30 $logdir${yesterday}.access.log -o html > $outdir${yesterday}.html"); $files = glob("$outdir/201*.html"); #2020年問題 rsort($files); $html="<html><head><title>Visitors Daily</title></head><body><h1>Vistors Daily</h1>\n"; foreach($files as $file){ $file = basename($file); $html .= "<P><a href='$file'>$file</a></P>\n"; } $html .= "</body></html>\n"; file_put_contents("${outdir}index.html",$html); #今月のログ $logdir = "/var/log/apache2/"; $outdir = "/var/www/lance/docs/visitors/monthly/"; $thismonth = date("Ym",time()); system("cat $logdir$thismonth*.access.log > /tmp/tmp.log"); system("visitors -A -m 30 /tmp/tmp.log -o html > $outdir${thismonth}.html"); $files = glob("$outdir/201*.html"); #2020年問題 rsort($files); $html="<html><head><title>Visitors Monthly</title></head><body><h1>Vistors Monthly</h1>\n"; foreach($files as $file){ $file = basename($file); $html .= "<P><a href='$file'>$file</a></P>\n"; } $html .= "</body></html>\n"; file_put_contents("${outdir}index.html",$html); ?>
ついで、毎月1日の0時15分に動かすスクリプト。
<?php $logdir = "/var/log/apache2/"; $outdir = "/var/www/lance/docs/visitors/monthly/"; $lastmonth = date("Ym",time() - 3600*24); system("cat $logdir$lastmonth*.access.log > /tmp/tmp.log"); system("visitors -A -m 30 /tmp/tmp.log -o html > $outdir${lastmonth}.html"); $files = glob("$outdir/201*.html"); #2020年問題 rsort($files); $html="<html><head><title>Visitors Monthly</title></head><body><h1>Vistors Monthly</h1>\n"; foreach($files as $file){ $file = basename($file); $html .= "<P><a href='$file'>$file</a></P>\n"; } $html .= "</body></html>\n"; file_put_contents("${outdir}index.html",$html); ?>
いずれもローカルからしかアクセスできないサーバ名、ディレクトリ名。
Google AnalyticsとかGoogle Webmaster's Toolも導入はしているが、全部にスクリプトを埋め込めているわけではないし、商用向けの機能が中心なのでそれだけでは不足するところもあるので、こちらで補完するような位置づけ。