Apacheアクセスログ解析ツール「AWStats」のインストール
さくらVPSで運用しているApacheのアクセスログ解析にAWStatsをインストールしました。
AWStatsのインストール
CentOSの標準リポジトリにはパッケージが含まれていないようなので、dagリポジトリのパッケージをインストールしました。
dagリポジトリの利用については、こちらのエントリを参照してください。
$ sudo yum install awstats
AWStatsの設定
"/etc/awstats"配下に設定ファイルを作成します。
"awstats.<ドメイン名>.conf"のような名前で設定ファイルを作成します。
本エントリでは、"awstats.fugahoge.com.conf"という名前で進めます。
$ cd /etc/awstats $ sudo rm awstats.localhost.localdomain.conf $ sudo cp awstats.model.conf awstats.fugahoge.com.conf
AWStatsではFTPやSMTPログも解析することができますが、Apacheログの場合は以下のパラメータを設定すればログ解析できます。*1
LogFile="/usr/local/apache2/logs/access_log" SiteDomain="fugahoge.com"
Apacheの設定
AWStatsにアクセスできるように、Apache(httpd.conf)を設定します。
また、AWStatsはPerlでログ解析するのでCGI実行ができるように設定します。
Alias /awstats/icon "/var/www/awstats/icon" ScriptAlias /awstats/ "/var/www/awstats/" <Directory "/var/www/awstats"> DirectoryIndex awstats.pl Options ExecCGI AllowOverride None Order deny,allow Deny from all Allow from all </Directory>
アクセス解析の実行
以下のコマンドを実行して、初回アクセス解析を手動実行します。
$ sudo /var/www/awstats/awstats.pl -config=fugahoge.com -update
"-config"オプションには、設定ファイル名の<ドメイン名>を指定します。
上記のコマンドは、AWStatsインストール時に作成される"/etc/cron.hourly/00awstats"により定期実行されますが、ログのパスが異なる場合などは環境に合わせて変更します。
#!/bin/bash if [ -f /usr/local/apache2/logs/access_log ] ; then exec /usr/bin/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/var/www/awstats/awstats.pl" > /dev/null fi exit 0
コマンド実行後、"http://サーバーのIPアドレス/awstats/awstats.pl?config=fugahoge.com"にアクセスすれば、解析ページが表示されます。
ログローテートへの対応
Apacheアクセスログをローテートしている場合は、ログローテート前にアクセス解析を実行するように設定します。
prerotate /usr/bin/awstats_updateall.pl now -confdir="/etc/awstats" -awstatsprog="/var/www/awstats/awstats.pl" > /dev/null endscript
AWStats - Open Source Log File Analyzer for advanced statistics (GNU GPL)