Windows+Visitorsでアクセスログ解析
Windows環境にApacheアクセスログ解析の Visitors を導入したので、インストール~使用開始までの色々を書いておきます。
物資調達
- C言語のコンパイラ
- Visitors本体はソースコードで配布されているのでコンパイルが必要です。 Visual Studio Expressや MinGWなどをインストールしておきます。
- Visitors
-
公式サイト
Download Source Code
の下辺りにあるvisitors-0.7.tar.gzをダウンロード。
コンパイルとインストール
ダウンロードしたら適当な作業フォルダに解凍し、 コンパイルが通るように各ファイルを書き換えます。 ARCANAさんの記事を参考に 以下はVisual C++ 2008 Expressでコンパイルしたときの修正箇所。
--- visitors_old/tail.c 2006-03-31 00:31:49 +0900&lf;+++ visitors_new/tail.c 2014-05-30 22:37:13 +0900&lf;@@ -1,6 +1,6 @@&lf; #include <stdio.h>&lf; #include <stdlib.h>&lf;-#include <unistd.h>&lf;+#include "unix2win.h"&lf;&lf; #include "sleep.h"&lf;
--- visitors_old/visitors.c 2006-03-31 00:31:49 +0900&lf;+++ visitors_new/visitors.c 2014-05-30 22:48:22 +0900&lf;@@ -14,9 +14,11 @@&lf; #include <locale.h>&lf; #include <ctype.h>&lf;+#include "unix2win.h"&lf;&lf;-#include "aht.h"&lf;-#include "antigetopt.h"&lf;+#include "aht.c"&lf;+#include "antigetopt.c"&lf;+#include "tail.c"&lf; #include "sleep.h"&lf; #include "blacklist.h"&lf;
#define snprintf _snprintf&lf;#define vsnprintf _vsnprintf&lf;#define strcasecmp strcmpi&lf;#define strncasecmp strnicmp&lf;#define ssize_t int&lf;#define inline __inline&lf;#include <io.h>&lf;#define off_t _off_t&lf;#define read _read&lf;#define WIN32&lf;
clでコンパイル
cl visitors.c&lf;
visitors.exeを適当な場所に設置してインストール完了です。
使ってみる
visitors -A access.log -o html > report.html&lf;
日毎のアクセス数やReferer、User-Agentなどが集計されたテーブルが出力されます。
パラメータ一覧はパラメータなしでvisitorsを実行。 使い方や活用法などは上の方で紹介したGIGAZINEさんの記事に詳しいです。
定期実行はコマンドをbatにまとめてタスクスケジューラにbatを登録。
@echo off&lf;visitors -A -m 40 access_kaz-ic.log -o html --trails --prefix http://kaz-ic.net > report_kaz-ic.html&lf;