Last-modified: 2016-05-27 (金) 17:49:27 (3101d)

 「解析」っていう程のツールがフリーであればうれしいんですが、ほとんどのツールは「統計」止まりだと思います。

 集計処理には時間がかかります。まずは、ログ出力の設定を見直して、出力量を必要最小限に抑えた方がいいでしょう。

 

パッチ処理でHTMLを生成し、Webブラウザで閲覧するもの

  • 基本的にはどのPCからでも閲覧可能

AWStats

検索キーワード表示を日本語(不要)

  • デフォルトでほとんど日本語化できているんですけど、検索キーワードの文字化けだけがとても気になります。awstats.plファイルを編集すると、なんとかなります。AWStats 6.1 on Windowsで確認済です。

(1) awstats.plファイルの先頭付近に、以下の記述を追加。

use Encode qw/encode decode/;

(2)「sub DecodeEncodedString」という関数を探して、その内容を全て以下のように置換します。

sub DecodeEncodedString {
  my $stringtodecode=shift;
  $stringtodecode =~ tr/\+/ /s;
  $stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/ieg;
  my $decodedstrings = decode( "euc-jp" , $stringtodecode );
  utf8::encode($decodedstrings);
  return $decodedstrings;
}

これでOK。

  • [不要理由] 検索エンジンが検索文字の文字コードをUTF-8に変更したことにより、上記の変更は不要になりました。

ブラウザ種別を追加

 不明ブラウザが結構多いので、それらも分類したいなと思いまして…。
browsers.pmの@BrowsersSearchIDOrder に追加

'sleipnir',
# RSS Reader
'hatena',
'bloglines',
'rssbar',
'livedoorcheckers',
'rantenna',
'glucose',

browsers.pmの%BrowsersHashIDLib に以下を追加

'sleipnir','Sleipnir',
# RSS Reader
'hatena','Hatena Antenna',
'bloglines','Bloglines',
'rssbar','RssBar',
'livedoorcheckers','livedoorCheckers',
'rantenna','rAntenna',
'glucose','glucose',

 とりあえず以上で様子を見ます。

その他のTips

  • 「指定されたパスが見つかりません。awstats.pl」というエラーのときは、awstats.plの先頭行のperlのパス(例:#!c:/perl/bin/perl)を確認しましょう。
  • awstats.plのファイル先頭に、フレームサイズなどの設定項目があります。

LogFileの指定

  • AWStatsの設定項目「LogFile」には、前回の集計から更新されたアクセスログだけを指定したいです。しかし、Apacheのログをrotatelogs.exeでローテーションした場合、切替る時間もファイル名もキリのよい数字ではないので、指定が難しい…。で、以下のようなスクリプトを使ってます (^^;;
    LogFile="cat_accesslog.bat |"

Analog

  • 年・月・日・時間・ホスト・URL・検索語句などをKeyにして、統計した結果を表示する。
  • Linuxでは一般的?
  • サンプル
  • ReportMagicを併用すると多少グラフィカルになりますが、試用してみたところ画像内の日本語文字などが文字化けしちゃって…イマイチ

webalizer

  • Googleで「Apache 解析」とか検索すると割と多く引っかかります。
  • Linuxで動作させるときには、gdが必要ですね。
  • 日本語版 for Win32
  • 出力される内容は、Analogと大差ないと思うのですが…
  • Windows版では、DNS名ルックアップがサポートされていないようです。
  • サンプル

WebDruid

  • 解説記事
  • webalizerと似てますが、ユーザフローを図式化してくれるようです。素晴らしい!
  • Windows版の動作を確認しました。しかし…
    • 全角文字や半角空白を含んだファイルパスを使うと、「engines.listが見つからない」とかいわれるので、デフォルトの「C:\Program Files\WebDruid」にインストールしてはいけません。
    • ログレコード毎にSearch Phraseのlocaleを判定してくれる機能はいいのだけれど、かなりの確率でlocaleの判定に失敗して、
      Cannot convert search phrase from US-ASCII character set.
      Either the web browser was wrong or this system's default
      locale doesn't reflect this browser default.
      You might wish to tweak the current locale.
      ログ解析を中断しちゃう
      3 [main] webdruid 2948 handle_exceptions:
          Exception: STATUS_ACCESS_VIOLATION
      437 [main] webdruid 2948 open_stackdumpfile:
          Dumping stack trace to webdruid.exe.stackdump
      のは、ちょっと困りものですね。
       とりあえず、Search Phraseは出力しないようにして回避します…。
  • サンプル

WebTrends

  • 商用、Not Free
  • ユーザの行動解析の「WebTrends Reporting Center」、ログ解析の「WebTrends Log Analyzer Series」に分かれる

アプリケーションでログファイルを処理、閲覧するもの

  • 閲覧時のUIが使いやすい

Apache Log Viewer

  • 数百MBぐらいのログファイルだと、メモリ不足で統計処理ができない。
  • 私はこれを利用させていただいています。

wlog

  • ログを一旦、MS Access(*.mdb)ファイルに変換して、Excelで統計結果を出力する。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS