Apacheで複数のドメイン(VirtualHost)設定を行なっているWEBサーバーで、どのドメインがアクセスが多いのか知りたくなり、Google先生に聞いてみると、実現できそうなスクリプトが見つかりました。

http://stubbedtoe.co.nz/index.php/2009/09/apache-vhost-monitoring-with-munin/

http://isp-control.net/ispcp/wiki/howto_munin

【インストール手順】

1.まず、Apacheのモジュールをダウンロードして解凍する。

cd /root
wget http://rand.stubbedtoe.co.nz/binarys/mod_watch-4.3_apache22_mod.tar.gz
tar -xvzf mod_watch-4.3_apache22_mod.tar.gz
cd mod_watch-4.3_apache22_mod

2.makeファイルのパス設定を確認し必要があれば変更して、インストールする。

vi Makefile.dso
make -f Makefile.dso build
make -f Makefile.dso install

3.インストールできたら、パーミッションを変更して、hppd.confに追記してApacheを再起動する。

chmod 755 libexec/apache22/mod_watch.so
vi httpd.conf
LoadModule watch_module libexec/apache22/mod_watch.so

下記、サービスを追記する。

<Location /watch-info>
SetHandler watch-info
Order allow,deny
Allow from 127.0.0.1
</Location>

<Location /watch-table>
SetHandler watch-table
Order allow,deny
Allow from 127.0.0.1
</Location>

<Location /watch-list>
SetHandler watch-list
Order allow,deny
Allow from 127.0.0.1
</Location>

apachectl graceful

サービスのモニタリングは、導入が容易でプラグインが豊富な、Muninをすでにお使いだと思います。

4.そのプラグインを下記URLから「apache_watch_」のファイル名でサーバーにアップロードする。

5.あとは、いつものとおりプラグインへコピーして、パーミッションを変更し、シンボリックリンクをして、リスタートすれば完了です。

cp apache_watch_ share/munin/plugins
chmod +x share/munin/plugins/apache_watch_
ln -s share/munin/plugins/apache_watch_ plugins/apache_watch_bytes
ln -s share/munin/plugins/apache_watch_ plugins/apache_watch_documents
ln -s share/munin/plugins/apache_watch_ plugins/apache_watch_requests
munin-node.sh restart

パスは、環境に合わせてください。

くれぐれも自己責任で実行してください。

一応ファイルは、ミラーしておきます。

mod_watch-4.3_apache22_mod.tar.gz

apache_watch_