Windows+Visitorsでアクセスログ解析

この記事を書いたのは 2014/06/24 です

Windows環境にApacheアクセスログ解析の Visitors を導入したので、インストール~使用開始までの色々を書いておきます。

参考記事

1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE
http://gigazine.net/news/20070305_visitors/

物資調達

C言語のコンパイラ
Visitors本体はソースコードで配布されているのでコンパイルが必要です。Visual Studio Express や MinGW などをインストールしておきます。
Visitors
公式サイト*1 "Download Source Code" の下辺りにある `visitors-0.7.tar.gz` をダウンロード。

コンパイルとインストール

ダウンロードしたら適当な作業フォルダに解凍し、コンパイルが通るように各ファイルを書き換えます。
ARCANAさんの記事を参考に以下はVisual C++ 2008 Expressでコンパイルしたときの修正箇所。

tail.c

--- visitors_old/tail.c 2006-03-31 00:31:49 +0900
+++ visitors_new/tail.c 2014-05-30 22:37:13 +0900
@@ -1,6 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
-#include <unistd.h>
+#include "unix2win.h"

 #include "sleep.h"

visitors.c

--- visitors_old/visitors.c 2006-03-31 00:31:49 +0900
+++ visitors_new/visitors.c 2014-05-30 22:48:22 +0900
@@ -14,9 +14,11 @@
 #include <locale.h>
 #include <ctype.h>
+#include "unix2win.h"

-#include "aht.h"
-#include "antigetopt.h"
+#include "aht.c"
+#include "antigetopt.c"
+#include "tail.c"
 #include "sleep.h"
 #include "blacklist.h"

unix2win.h (新規)

#define snprintf    _snprintf
#define vsnprintf   _vsnprintf
#define strcasecmp  strcmpi
#define strncasecmp strnicmp
#define ssize_t     int
#define inline      __inline
#include <io.h>
#define off_t       _off_t
#define read        _read
#define WIN32

clでコンパイル

cl visitors.c

visitors.exe を適当な場所に設置してインストール完了です。

使ってみる

visitors -A access.log -o html > report.html

日毎のアクセス数やReferer、User-Agentなどが集計されたテーブルが出力されます。

パラメータ一覧はパラメータなしでvisitorsを実行。
使い方や活用法などは上の方で紹介したGIGAZINEさんの記事に詳しいです。

定期実行はコマンドをbatにまとめてタスクスケジューラにbatを登録。

daily.bat:

@echo off
visitors -A -m 40 access.log -o html --trails --prefix http://example.com > report.html

*1 記事移植時点でリンク切れ。Archive から一応まだダウンロードできる。

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-06-05 (月) 04:17:35