analogでアクセス解析
このブログも、もう少しで開始から 3ヶ月になり、エントリー数も 50になります。まだまだ、駆け出しの域は出ないとは思うのですが、そろそろログをなんとなく眺めるだけでなく、ツールを使って解析してみることにしました。
ツールとしては、もはや古典の類かもしれませんが、analogを使うことにします。
何故、analogかというと、以前仕事で構築したサイトにインストールしたことがあって、そのとき設定方法などを調べて調整したことがあったので、勝手が分かってるからというのが理由です。
analogを使うと以下のようなことを知ることが出来ます。(主なものです)
- 月ごとのアクセス数の推移
- 日ごとのアクセス数の推移
- 曜日ごとののアクセス数の推移
- 時間によるアクセス数の推移
- ブラウザ・UAの割合
- 利用している OSの割合
- アクセス元ドメインの割合
- どのページが多く見られているか
- 検索サイトから着た場合の検索語
逆に以下のようなことは、(簡単には) 求められません。
- ユニーク訪問者数 (作者の主義らしいので、analogで実現されることはないでようです)
- 複数の条件の相関 (Firefoxでアクセスするひとに人気のページなど)
特定の条件の組み合わせのみならば除外条件などを組み合わせれば可能ですが、データウェアハウスのようにマトリックスやキューブを作成するようなことは出来ないといっていいと思います。
Debianでは、パッケージがあるようですので、手っ取り早く apt-getでインストールします。
インストールが出来たら、解析結果と、access.logを見ながら、自分のブログにあわせて analog.cfgを調整していきます...
どうやら最新版では、日本語の検索語が URLエンコードされたままで、集計されて表示されてしまい、そのままでは役にたたないので、簡単な Perlのスクリプトを作って、生成した index.htmlをデコードすることにしました。.
/etc/analog.cfgで追加したものと、作成した index.htmlの日本語の検索語をデコードするスクリプトは、長くなるので追記に記述します...
analog.cfg (追加分) =========================
# JISだと化けるところがあるので EUCにします。 LANGUAGE JAPANESE-EUC LOGFILE /var/log/apache2/access.log* # デフォルト charsetは Movable typeのために UTF-8なので、拡張子で euc-jpを指定します。 OUTFILE /var/www/analog-results/index.html.euc-jp # DNSキャッシュを使用します。 DNS WRITE DNSFILE /var/cache/analog/dns/dnscache # ブラウザサマリーと日ごとの集計を有効にします BROWSERSUM ON DAILYREP ON # 自分のとこにきた検索サイトでなかったものを追加 SEARCHENGINE http://*goo.ne.jp/* MT SEARCHENGINE http://*technorati*/* query SEARCHENGINE http://*/netfind* query SEARCHENGINE http://*/pursuit query SEARCHENGINE http://*fresheye.*/* kw SEARCHENGINE http://*blogger.com/* q # 自分のところに来たロボットぽい UAを追加, RSSで定期的にチェックに来るものもロボット扱い ROBOTINCLUDE ichiro* ROBOTINCLUDE *Ask* ROBOTINCLUDE *Technoratibot* ROBOTINCLUDE *BlogSearch* ROBOTINCLUDE *BlogRanking* ROBOTINCLUDE *Myblog* ROBOTINCLUDE *blog360* ROBOTINCLUDE *NEWS360* ROBOTINCLUDE *BlogsNowBot* ROBOTINCLUDE *OmniExplorer_Bot* ROBOTINCLUDE *NAMAAN* ROBOTINCLUDE *Feed::Find* ROBOTINCLUDE *NutchCVS* ROBOTINCLUDE *BlogFinder* ROBOTINCLUDE *BlogPeople* ROBOTINCLUDE *BecomeBot* ROBOTINCLUDE *Exabot* ROBOTINCLUDE *SideWinder* ROBOTINCLUDE *RSSdiscovery* ROBOTINCLUDE *search?engine* ROBOTINCLUDE *lwp-trivial* ROBOTINCLUDE *cococ* ROBOTINCLUDE *Hatena* ROBOTINCLUDE *RSS_READER* ROBOTINCLUDE *Cyberz* ROBOTINCLUDE *Jakarta* # MTの管理用のアクセスは 1つにまとめる FILEALIAS /mt/mt.cgi* "/mt/mt.cgi" # ページのアクセスランキングを 上位100個まで 上位表示100位まで表示 REQFLOOR -100r # 検索語を 上位100個まで表示 SEARCHWORDFLOOR -100r
%xxでエンコードされた日本語をデコードするスクリプト ====================
#!/usr/bin/perl
use Encode qw/encode decode/;
sub cv { $str = shift;
if ($str =~ /^(%[0-7][a-fA-F0-9])*%[Ee]/) {
$from = "utf8";
} elsif ($str =~ /%[89]/) {
$from = "shiftjis";
} else {
$from = undef;
}
$str =~ s/%[0-2][a-fA-F0-9]/ /g;
$str =~ s/%([a-fA-F0-9]{2})/chr(hex($1))/ge;
if ($from) {
Encode::from_to($str, $from, "euc-jp");
}
$str;
}
while (<>) {
s/(%[a-fA-F0-9]{2})+/&cv($&)/eg;
print;
}
「Linux設定・活用」の新着
- CentOSでも KDE [ 2008年1月 3日]
- アニヲタのための自宅サーバ活用法 [ 2008年1月 2日]
- 透明マウスカーソルの怪 [ 2007年12月15日]
- 職場なもんで CentOS [ 2007年12月 8日]
- Gregarius のインストール [ 2007年12月 1日]
- IRC サーバを Etch でビルド [ 2007年11月 4日]
- Apache 更新計画 [ 2007年10月 1日]
- Etch 始動 [ 2007年9月29日]
- バージョンアップの季節 [ 2007年9月26日]
- GW と自宅サーバ [ 2006年5月 6日]
- analogでアクセス解析 [ 2006年4月 3日]
- QRコード変換CGIと Bookmarklet [ 2006年3月 4日]
- リスと雷鳥とIMAP [ 2006年1月22日]
- 謎の MTA Exim4 [ 2006年1月21日]
- Apacheと WebDAV [ 2006年1月18日]
トラックバック(0)
このブログ記事を参照しているブログ一覧: analogでアクセス解析
このブログ記事に対するトラックバックURL: http://morishoji.homelinux.net/mt/mt-tb.cgi/48




コメントする