07.WebdruidでWebアクセス解析
Webサーバーを立上げたら、アクセスログを詳しく見たくなります。 どのくらいの人がこのページを見に来ているのかわかれば、 ホームページの更新にも意欲がわいてきますね。
ということで、Apacheのアクセスログを取るためのツールを 導入することにしました。
FedoraCore3の頃に使用していたのは「Webalizer」というもので、 これは、Apacheのログファイルから、綺麗なグラフにして結果を 生成してくれます。
そこで、Debianでも「Webalizer」を導入しようと思い、 Debianでの導入方法についていろいろと調べていました。 ところが、いろいろと調べているうちに、
もっと面白そうな解析ツールが!!
今回はそちらを導入することにしました。
その解析ツールの名前は、「webdruid」
なんと、サイト内を訪問者がどのように移動したのかを 図にして、表示してくれます。
「Webalizser」のように単なるグラフだけではなくて、 各ページ間の訪問者の移動を矢印で結んだ図にして示して くれるので見ていて非常に面白い。
それでは、導入を開始しましょう。
まずは、解析ツール本体を導入します。 といってもいつもと同じapt-get。
# apt-get install webdruid パッケージリストを読みこんでいます... 完了 依存関係ツリーを作成しています... 完了 以下の特別パッケージがインストールされます: libgd2-noxpm ttf-freefont 提案パッケージ: libgd-tools apache httpd graphviz 推奨パッケージ: x-ttcidfont-conf 以下のパッケージが新たにインストールされます: libgd2-noxpm ttf-freefont webdruid アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。 1698kB のアーカイブを取得する必要があります。 展開後に追加で 4764kB のディスク容量が消費されます。 続行しますか? [Y/n] Y 取得:1 ftp://ftp.jp.debian.org stable/main libgd2-noxpm 2.0.33-1.1 [193kB] 取得:2 ftp://ftp.jp.debian.org stable/main ttf-freefont 20031008-1.1 [1169kB] 取得:3 ftp://ftp.jp.debian.org stable/main webdruid 0.5.4-2 [336kB] 1698kB を 21s で取得しました (77.7kB/s) 未選択パッケージ libgd2-noxpm を選択しています。 (データベースを読み込んでいます... 現在 102897 個のファイルとディレクトリがインストールされています。) (.../libgd2-noxpm_2.0.33-1.1_i386.deb から) libgd2-noxpm を展開しています... 未選択パッケージ ttf-freefont を選択しています。 (.../ttf-freefont_20031008-1.1_all.deb から) ttf-freefont を展開しています... 未選択パッケージ webdruid を選択しています。 (.../webdruid_0.5.4-2_i386.deb から) webdruid を展開しています... libgd2-noxpm (2.0.33-1.1) を設定しています ... ttf-freefont (20031008-1.1) を設定しています ... webdruid (0.5.4-2) を設定しています ...
次に設定ファイルを変更しましょう。 「webdruid」の設定ファイルは、 /etc/webdruid/webdruid.conf です。
今回は、仮想サーバーで動作させている複数のWebサーバーのログ解析を させたいので、サーバー毎に設定ファイルを作ります。
つまり、1つのサーバーPCで、 サイト名 「www.aaa.xxx」 と サイト名 「www.bbb.yyy」 の 2つの仮想サーバーを運用しているとします。
まず、「www.aaa.xxx」用に、/etc/webdruid/webdruid.conf を webdruid_aaa.conf にコピーして、このファイルを www.aaa.xxx サイトの解析を行うwebdruidの設定ファイルにします。
www.bbb.yyy の設定ファイルは、上記の設定ファイルを作った後で、 webdruid_bbb.conf という名前にコピーして作成します。 ファイル内で aaa.xxx のドメインの指定部分を bbb.yyy に 変更すればOKです。
以上でとりあえずWebdruidは動作します。
コマンドライン上で、
# webdruid -c /etc/webdruid/webdruid_aaa.conf
としてみましょう。“-c” は、設定ファイルを指定する オプションです。 ( -c file = use configuration file 'file' ) 実行すると、設定ファイルで指定されたフォルダの中に index.html をはじめ幾つかの png ファイルができていれば とりあえずはOKです。(文字化けしてるかも知れませんが、 それは後で対策するのでいいです)
が、これだけではまだ訪問者の移動を 図式化する機能は動作しません。
webdruid.conf を見てみると、 図式化するためには、dotというプログラムがいるらしいです。 そして、dotというプログラムは、 graphvizというパッケージに入っています。 そこで、graphviz を早速インストールです。
# apt-get install graphviz パッケージリストを読みこんでいます... 完了 依存関係ツリーを作成しています... 完了 以下の特別パッケージがインストールされます: tcl8.4 tk8.4 提案パッケージ: msttcorefonts graphviz-doc tclreadline 推奨パッケージ: xterm x-terminal-emulator 以下のパッケージが新たにインストールされます: graphviz tcl8.4 tk8.4 アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。 3043kB のアーカイブを取得する必要があります。 展開後に追加で 8565kB のディスク容量が消費されます。
これで、OK。先ほどコマンドラインで実行して生成された ファイルを全て消去してから、もう一度コマンド実行。
# webdruid -e /etc/webdruid/webdruid_aaa.conf
で、index.html から生成結果を見てみると、できてます!
例です。
サイト内のページ名が横長の楕円で表示されていて、その楕円間に 矢印が行き渡っています。
これが、サイト訪問者の移動を示しています。 あぁおもしろい。
で、最後に仕上げです。
なぜか文字化けをいっぱいしているので 文字化け対策として、以下のようにします。
# cd /usr/share/locale/ja/LC_MESSAGES # mv webdruid.mo webdruid.mo.060617
つまり、上記フォルダ内の webdruif.mo というファイルを 無くしてしてしまってください。 ここでは、後で戻せるように mv でバックアップしてます。
mv /usr/share/locale/ja/LC_MESSAGES/webdruid.mo \ /usr/share/locale/ja/LC_MESSAGES/webdruid.mo.org
もう一度、コマンドラインで実行して生成されたファイルを全て 消去して、もう一度コマンド実行。
# webdruid -e /etc/webdruid/webdruid_aaa.conf
表示してみて、文字化けしていなければOKです。 ちゃんと出力先のファイルを一旦全部消去してから コマンドを再実行しないと直らないみたいなので、 注意してください。
あとは、このコマンドを定期的に実行するようにすればOKですね。 当サーバーでは、1日1回実行することにしました。
/usr/local/bin/webdruid.sh を作成
crontab -e
で1日1回実行するようにした。