ミスターアクセス解析Lite調査

PHPで動くアクセス解析アプリケーションがあった。
Liteは無料でExは有償(約30万円)。

http://www.mr-analizer.com/

以下に簡単に利点欠点をまとめてみた。

メリット

  • HTMLでタグ埋め込みで、cookieを使っているためセッションをカウントできる
  • マーケティングに利用できる指標を出力してくれる。
  • 日本で作成されているので文字化けの対処をしないでいい
  • スクリプトの改編利用可能
  • URLのpathでグループ化可能
  • コンバージョンカウンター搭載

デメリット

  • コピーライトを挿入し、提供元へのリンクを入れる制約がある
  • 独自でログファイルを出力するためディスク容量を食う
  • PV毎に動作するスクリプトなのでサーバリソース(CPU,DISK)を食う
  • ログファイルのバックアップ設定を追加で行うことが必要に応じてある
  • 有償版にアップグレードするとなると高価(約30万円)

複数台で運用しているサーバのアクセスログを1つに統合する

複数台のフロントエンドサーバでapacheが動いている場合を想定します。

その場合、アクセスログが複数のサーバにまたがってしまいます。

こんなかんじ。

  • web-01.access-log.20071130
  • web-02.access-log.20071130
  • web-03.access-log.20071130

webalizerやawstatsといったアクセスログ解析ソフトではこのファイルの状態では解析できない。

なぜなら、webalizerやawstatsのデフォルトでは1つのファイルのみを入力として受け付け、時系列順に記録されていなければならない。

この問題を解決するスクリプトを発見しました。awstatsの中に入っているlogresolvemerge.plというperlスクリプトです。

使い方は超簡単。引数に統合したいファイルを指定して実行すると、標準出力に時系列順にそろったレコードが出力される。

例:

% perl logresolvemerge.pl /path/to/log/*access.log.20071130|more

引数にgz圧縮されたファイルを指定してもちゃんと動きます。至れり尽くせりなスクリプト。

★おまけ情報★
ある日まで、commonフォーマットでアクセスログを取っていて、ある時点からcombinedフォーマットでログを取りだした場合、1つのアクセスログの中に2種類のフォーマットのログが混入してしまう。

そこで見つけたのがこの方法。commonフォーマットをcombinedフォーマットにする方法。
http://www.trisweb.com/archives/2007/02/15/convert-apache-common-logs-to-combined-logs/

3回シェルのコマンドを実行すればできちゃう!CUIはすばらしい。

参照:

http://awstats.sourceforge.net/

 

リンク

自分の他サイト