[PR]テレビ番組表
今夜の番組チェック

あなたは、人目(2000.5.31)


Analog (Windows版) のインストール


Webサーバを運用していると、アクセス状況を調査したくなるものです。
またWebページを公開している人は、自分のページにどんな人が、いつ、どこからアクセスしてくるのかを把握したいものです。
こんな時のために、Webページのアクセス状況を把握・分析するためのソフトウェアが、いくつも公開されています。
しかし、CGIを利用せず、無料で、高速に、しかも結果をWeb上で確認できるものとなると、候補は絞られます。
しかも、Windows上で動作するものとなれば、選択肢はますます小さくなります。
そんな場合に最適なソフトウェアが「Analog」です。
Analogは、世界中のサイトで利用されており、様々なプラットフォームで動作する、素晴らしいソフトウェアです。
このページは、私が管理を担当しているサイトのアクセス状況を把握するために、Windows版のAnalogをインストールした過程を、メモ的にまとめたものです。
このページの内容は、あくまでも私が行った結果であり、すべての場面で適応するものではありません。
詳しくは、Analogのパッケージに含まれるドキュメントをご覧下さい。
日本語のLANGUAGEファイルをメンテナンスされている方の日本語Analogのホームページにおいて、ドキュメントの日本語訳が進んでいますから、英語に自信の無い方は、そちらを参考にされるとよいでしょう。(プロジェクトの関係者の皆さまに深謝します)
【2000.06.21追加】
内容は随時書き直していますので、あちらこちらに修正が入ります。
だいたいまとまった時点で、全面的に書き直したいと思います。


1 Analogをダウンロードする

Analogのページ(http://www.analog.cx/)から、Windows用のパッケージを入手します。
国内にもミラーサイトがありますので、できるだけ近くのサイトから入手します。
日本語の表示を行う場合は、4.04以降のバージョンを利用した方がいいようです。
なお、このテキストを書いている段階での最新バージョンは4.11です。
【2000.12.12追加】
現在のバージョンは、4.13です。
ライセンスの変更やWindowsMEへの対応、大きなログファイルへの対応がされているようですが、設定上の変更はないようです。

2 インストールする

ダウンロードしたファイルはZIP形式で圧縮されていますので、適当なフォルダに展開します。
バージョンを含んだ名称のフォルダが作成され(例 \Analog 4.11\)、その下に展開されます。
実行ファイルの取扱いを楽にするために、展開したフォルダにPATHを通した方がいいかもしれません。(私は通していません)

【2000.12.12追加】
展開時のフォルダは以下のように配置されます。
\Analog4.11 Analogのプログラムやconfigrationファイル
\docs ドキュメント(マニュアル)
\examples configrationファイルのサンプル
\images 表示画面の棒グラフ用の画像ファイルなど
\lang 各言語に対応するためのファイルなど

Analogの動作のために不可欠なものは、Analog4.11(実際は、analog+バージョンの数字)の下に置かれる
 analog.exe
 analog.cfg
の二つのファイルと、\langフォルダ以下の指定した言語用のファイルです。

また、処理結果を棒グラフで表示するためには、後述するoutfileコマンドで指定したフォルダの下に\imagesフォルダ以下の画像ファイルを配置する必要があります。

インストールは、これだけです。

3 configurationファイルを用意する

Analogの設定は、すべて「configrationファイル」に記述します。
configrationファイルのファイル名は、どんなものでもよいようですが、今回はデフォルトで認識される「analog.cfg」とします。
analog.exeとanalog.cfgを同じフォルダに配置することで、configurationファイルとして自動的に認識します。
analog.cfgファイルは、analog.exetと同じフォルダにあらかじめ用意されていますが、雛型とするにはあまりに設定内容が寂しいので、今回はインストールしたフォルダ下のexamplesフォルダにある「big.cfg」を、雛型として利用します。
「big.cfg」をanalog.exeと同じフォルダにanalo.cfgにリネームした上でコピーしてください。
configurationファイルの名称は、デフォルトではanalog.cfgになっていますが、コマンドラインから指定することで、別の名前でも利用できます。
例えば「other.cfg」というファイルを利用する場合は、コマンドラインから以下のように指定します。
| >analog.exe +gother.cfg
Webサーバ稼動後のトータルの分析と、ある特定期間の分析を同時に行うといった、異なった角度からの分析を定期的に行う場合、configurationファイルを別々に用意することで対応できます。
【2000.06.21追加】
analog.cfgを保存するときは、文字コードに「EUC」を選択してください。
Shift-JISで保存した場合、analog.cfg内で設定した日本語の表示部分が文字化けすることがあるようです。
(SUBDOMAIN等で日本語を使わなければ、Shift-JISのままでも処理は行われます)

4 analog.cfg を設定する

それでは、analog.cfgファイルを設定します。
analog.cfgファイルには数多くの設定項目(command)がありますが、最低限、以下の設定を行うことで、分析を行うことができます。

LOGFORMATコマンド

利用しているWebサーバに合わせて設定します。
Apacheなど一般的に用いられているログファイルの場合には、簡単に設定することができます。
リファラやユーザエージェントの記録など、ログの拡張を行っている場合にも、同様に設定できます。
以下のようにログファイルの様式を指定することで、分析することができます。
| LOGFORMAT COMMON
複数の形式のログファイルが存在する場合(リファラを取っている時など)は、それぞれの形式を列記します。
| LOGFORMAT COMMON
| LOGFORMAT COMBINED
対応しているログ形式は以下のとおりです。
COMMON,COMBINED
, REFERRER, BROWSER, EXTENDED, MICROSOFT-NA (North American date format), MICROSOFT-INT (international date format), WEBSITE-NA, WEBSITE-INT, MS-EXTENDED (Microsoft's attempt at extended format), WEBSTAR-EXTENDED (WebSTAR's version of extended format), MS-COMMON (a buggy version of common format in some versions of Microsoft software), NETSCAPE or WEBSTAR.
それぞれの設定が、どのようなログ形式に対応するかは、Reademeファイルをご覧下さい
アップルネットでは、IISの標準ログファイルを使っていますが、Analogに標準で用意されている 「MICROSOFT-NA」を指定しても、うまく処理ができませんでした。
そこで、下のように書式を明示しました。
| LOGFORMAT (%S, %u, %y/%m/%d, %h:%n:%j, W3SVC%j, %j, %v, %j, %j, %b, %c, %j, %j, %r, %j,)

LOGFILEコマンド

分析の対象とするログファイルを指定します。
ファイル名の指定にはワイルドカードが利用できます。
管理の都合などから、複数のフォルダに分散してログファイルが管理されている場合は、それぞれを個々に指定します。
| LOGFILE e:\log\in*.log
| LOGFILE e:\log\1999\in*.log
| LOGFILE e:\log\1998\in*.log

OUTFILEコマンド

分析結果のHTMLファイルの名称を、出力するフォルダとともに指定します。
| OUTFILE E:\wwwroot\log\report.html
出力ファイルは、いくつかの画像ファイルを参照します。
出力ファイルが存在するフォルダの下に「images」という名前のフォルダを作り、インストールしたフォルダにある「images」と言う名前のフォルダのファイルをすべてコピーします。

HOSTNAMEコマンド
HOSTURLコマンド

これらのコマンドの指定は必須ではありませんが、指定していないと、どこのページを分析したのか、わからなくなります。
4.04以降のバージョンでは、日本語の指定がきれいに表示されます。
なお、以前のバージョンではanalog.cfgファイルはJISで保存する必要があった(と記憶している)のですが、バージョン4.1では、Shift-JISで記述することで、きちんと表示されました。
| HOSTNAME "わたしのホームページ"
| HOSTURL "http://hoge.ad.jp/"

LANGUAGEコマンド

出力ファイルの言語を指定します。
日本語で表示したい場合は JAPANESE です。
4.04より前のバージョンでは、JAPANESEを指定しても、美しく表示されませんので、US-ENGLISHなどを指定した方が見栄えが良くなります。
古いバージョンを使う理由はありませんので、新しいバージョンのファイルを利用した方がいいでしょう。
| LANGUAGE JAPANESE

5 分析する

それでは、ログの分析を行います。
コマンドプロンプトを開き、analog.exeが存在するフォルダに移動した上で(PATHが通っていない場合)、analog.exeを実行します。
>analog.exe
これで、OUTFILEコマンドの指定に従い、分析結果がHTMLファイルとして出力されます。
ブラウザで表示して、内容を確認してください。(とあるサイトの分析結果
ログ分析は通常、1日に1回、定期的に行うものですから、タスクスケジューラなどで毎日定時にanalog.exeを実行させるとよいでしょう。

これまでの作業で、簡単な分析はできるようになりました。
あとは、マニュアルを見ながら、日別の分析とか、時間別の分析だとか、はたまたUser毎の分析だとか、管理者の見たい角度から、ログファイルを分析してください。
基本的に、analog.cfg内のコマンドで「OFF」が指定されている部分を「ON」にすることで、その角度からの分析が行われます。

6 DNS LOOKUPを設定する (DNSコマンド)

ところがこれだけでは、どこから(どのドメイン)アクセスしてきているのかを表示することができません。
そこで、ログに残されている閲覧者のIPアドレスを利用して、DNSの参照を行ってみましょう。
当然ですが、DNSLOOKUPを行うためには、お使いになっているコンピュータが、DNSを参照できるようになっている必要があります。
そのためには、DNSコマンドを設定します。
具体的には、次のような設定を行うと良いでしょう。
| DNSFILE dnsfile.txt
| DNSLOCKFILE dnslock
| DNS LOOKUP
| DNS WRITE
上の設定では、DNSの参照(LOOKUP)を行った結果を、dnsfile.txtに保存(WRITE)します。
DNSLOCKFILEの設定は、必須ではありません。
analog.exeを実行する都度、LOOKUPを行い、結果をファイルに保存しますので、ログ解析に要する作業時間が、かなり増えますので、注意してください。
作業時間を短縮したい場合は、QuickDNSなどのHelper applicationsを利用するといいでしょう。
【2000.06.21追加】
上記の設定例は、たいへん無駄なことをしていました。
「DNS LOOKUP」の指定は、IPアドレスからドメイン名を参照するだけの命令で、「DNS WRITE」は既存のdnsfile.txtを参照し、LOOKUP作業を行った上で内容を書きこむという一連の作業を行います。
つまり、「DNS WRITE」だけを指定すればよいわけです。
ということで、下記の指定だけで十分です。
| DNSFILE dnsfile.txt
| DNSLOCKFILE dnslock
| DNS WRITE

7 QuickDNSの導入

AnalogのDNS参照は、時間がかかります。
そこで、DNSLOOKUPだけを別に行うHelper applicationsである、QuickDNSを導入してみましょう。

ダウンロード

QuickDNSをAnalogXのホームページから入手します。
AnalogX - Downloads [QuickDNS]
QuickDNSは、Windowsのコンソール上で動作するソフトウェアで、フリーウェアとして公開されています。
このページを作成している時点でのバージョンは、1.54です。

インストール

ダウンロードしたファイルは、実行形式(EXE)ですので、エクスプローラなどを利用して実行します。
展開先のフォルダをたずねられますので、適切なフォルダを選んでください。
Analogと同じフォルダにする必要はありません。
ファイルはすべて、指定したフォルダに配置されます。
ファイルの展開が終わると、レジストレーションするかどうかをたずねられますので、必要であればYESを選択してください。
Windows上で行える作業は、ここまでです。

実行

QuickDNSは、あくまでもコンソール上で動作するプログラムですから、コマンドプロンプトを開いて、インストールしたフォルダに移動してください。
実行に必要なファイルは、qdns.exeひとつだけです。
QuickDNSは、動作の指示をすべてコマンドライン上でパラメータとして渡します。
例えば、アップルネットのWebサーバのアドレスを調べる場合には、以下のように指定します。
| >qdns.exe /N www9.freeweb.ne.jp
| 
| AnalogX QuickDNS (QDNS) - Quick DNS version 1.54 (Release) [02/24/2000]
| The latest version is always available at http://www.analogx.com/
| 
| 192.168.254.10
これで、このページを置かせて頂いているfreewebのアドレスが、192.168.254.10であることがわかります。
次に、ログファイルを利用する場合は、以下のように指定します。
| > qdns /D dnsfile.txt /L ..\ex990602.log
上記の設定では、ex990602.logファイルの内容を参照して、結果をdnsfile.txtに書き出します。
ログファイルの指定には、ワイルドカードが利用できます。
QuckDNSには、いくつかのパラメータが用意されています。
引数を指定せずにコマンドを実行すると、以下のようなヘルプが表示されます。
| 
| C:\AnalogX\QuickDNS>qdns
| 
| AnalogX QuickDNS (QDNS) - Quick DNS version 1.54 (Release) [02/24/2000]
| The latest version is always availableat http://www.analogx.com/
| 
| 
| Usage: QDNS [options]
| Options: /A [IP Address]     Loopup an IP address (IP->Name)
|      /N [Domain Name]    Loopup an Domain Name (Name->IP)
|      /D [DNS Filename]    Process a DNS file (resolve unknown)
|      /L [Log Filename]    Process just one log (requires /D also)
|      /T [Count]        Number of threads to use (def: 20)
|      /G [Config Filename]   Run an Analog Config file
|      /S            Strip all unresolved lookups
|

Analogとの連携

それでは、Analogとの連携を考えてみましょう。
QuickDNSは、analog.cfgファイルを読んで、ログファイルの位置を確認することができます。
実際には以下のように指示を行います。
| >qdns /G analog.cfg /D dnsfile.txt
analog.exeと違うフォルダにインストールした場合、analog.cfgとdnsfile.txtの指定は、パスをつけてください。
上記のコマンドが動作することを確認したら、analog.cfgのDNSコマンドを変更します。
| DNSFILE dnsfile.txt
| #DNSLOCKFILE dnslock
| #DNS LOOKUP
| #DNS WRITE
| DNS READ
既に指定してあったDNSコマンドを#でコメントアウトし、「DNS READ」のコマンドを追加するだけです。
これにより、Analogが自前で行っていたDNSLOOKUP作業を止め、QuickDNSが用意したdnsfile.txtを読みこむことにより、Analogの動作が速くなります。

バッチファイルの用意

上の動作の流れからもわかるように、QuickDNSを利用する場合は、Analogが実行される前にQuickDNSを実行してdnsfile.txtを用意しておく必要があります。
これらの手順は、バッチファイルにしおくのが常套手段です。
例えば、下のようなバッチファイルを用意します。
[WinAnalog.bat]
 @c:
 @cd \analog
 @c:\AnalogX\QuickDNS\qdns.exe /G c:\analog\analog.cfg /D dnsfile.txt
 @analog.exe
このバッチファイルを、タスクスケジューラなどで定期的に実行します。
ところで私の管理するサイトでは、analog.cfgを読み込む指定を行うと、どうしたわけか、メモリ周りのエラーが表示されます。
というわけで、実際には「qdns.exe /D dnsfiletxt /L in*.log /T 50」のような指定を行っています。
現在、原因を調査していますので、そのうち原因を記載したいと思います。
【2000.09.29 追加】
2000/08/12にQuickDNSが2.0にバージョンアップしました。
バージョンアップに伴い、パラメータに若干の変更がありました。
QuickDNSの2.0では、参照するDNSサーバのIPアドレスを明示しないと、動作しないようです。
具体的には、次のような指定を行います。
| > qdns /D dnsfile.txt /L ..\ex*.log /Y ***.***.***.*** /S
/Yに続いて、ご利用になっているネットワークのDNSのIPアドレスを指定してください。
詳しくは、QuickDNSのドキュメントを参照してください。
(このドキュメント、けっこう間違ったまま記述されています。/Fなんていう、無いパラメータを指定してるし・・・)
あと、大きな変更ではありませんが、今回のバージョンアップでは、/Tのデフォルトが100に変更されています。
前述の/Gパラメータの際に表示されるエラーは、相変わらず出ています。
ログファイルが大量に存在し、複数のフォルダに分散して管理されている場合、/Gを使わなければ動作させることができませんので、対応を検討中です。
【2000.12.12 追加】
私の環境では、ある時から、DNSの参照が正常に行われなくなる現象が発生しています。
具体的に言うと、「QuickDNSでのdnsfile.txt作成作業は正常に行われているにもかかわらず、Analogの出力結果では、すべてのドメインが処理されず、一部のドメインだけが統計処理される」というものです。

DOMAINやORGANISATIONの設定以外の部分、つまりアクセス回数などの処理部分は正常に行われていますので、QuickDNSの作成したdnsfile,txtのせいなのか、Analogの設定の問題なのか不明です。

同様な現象が発生しているという方で、解決できた方がいらっしゃいましたら、ぜひお知らせください。お願いします。

【2000.06.21追加】

7 ドメイン毎のアクセス分析

では、ドメインごとの参照状況を調べてみましょう。
(上記のDNSLOOKUPの設定がなされている必要があります)
analog.cfgのなかで、次の指定があることを確認してください。
| DOMAIN ON
| ORGANISATION ON
これら2つの命令は、結果的には似ている作業を行います。
DOMAINコマンドは、設定されているドメイン毎(通常はトップドメインだけを対象にします)のアクセス回数を調べるもので、どういう所からアクセスがあるのかを把握できます。<地域の把握>
一方、ORGANISATIONコマンドは、アクセスしてきたドメイン毎にアクセス状況を調べますので、どの組織からアクセスがあるのかを調べるのに向いています。<組織の把握>
なお、DOMAINコマンドは、下記のような記述をすることで、ドメイン名を通常利用している組織名等に置きかえる事ができますが、ORGANISATIONコマンドはできないようです。

DOMAINコマンド

LANGUAGEフォルダの中にある拡張子TABのファイルに、トップドメインとその名称が対になったものが記述されています。
通常は英語で記述されたファイルを参照しますので、日本語版を作ってみました (jpdom.tab)
jpdom.tab を利用するためには、ダウンロードした jpdom.tab を languageフォルダににコピーし、analog.cfgに以下の記述を追加してください
| LANGUAGE JAPANESE
| #LANGFILE lang/uk.lng
| DOMAINSFILE lang/jpdom.tab
jpdom.tabは、EUCで保存してください。

SUBDOMAINコマンド

SUBDOMAINコマンドは、jpdom.tabに記述していないサブドメインを追加するものです。
例えば、日本国内の co.jp などを登録しておくとよいでしょう
(この程度であれば、jpdom.tabに予め記述しておいてもよいかもしれません)
| SUBDOMAIN co.jp '営利組織'
| SUBDOMAIN or.jp '非営利組織'
| SUBDOMAIN go.jp '政府組織'

ORGANISATIONコマンド

ORGANISATIONコマンドについては、特に指定はありません。
集計の対象となるアクセス件数などを設定するためには、ORGFLOORコマンドなどを変更します。

【2000.12.12追加】

8 もっとグラフィカルな画面表示が欲しい

私は、Analogのシンプルな表示画面が気に入っているのですが、「せっかくのWebなのだから、もうちょっとグラフィカルな画面表示が欲しい」という場合があるかもしれません。

そうした際には、Helper applicationsのひとつである、Report Magic for Analogを利用するのも一つの方法だと思います。

Analogでは表現できない円グラフや折れ線グラフでの表示や、統計処理のセクション毎に別のページ構成にするなどが可能です。

最新のバージョンでは、日本語での表示ができないようですが(前のバージョンでは、一部文字化けがありましたが、表示できていました)、英語のままでも十分に理解できると思います。

サンプル表示 (配布元が提供しているページです)
インストール方法や設定については、これからまとめます。(ごめんなさい)
まずは、ごく簡単な紹介だけ・・・

Analog.cfgの処理ファイルの出力関係の指定のところで、
| OUTPUT COMPUTER
| OUTFILE report.dat
と指定をし、通常のHTML形式の出力ではなく、Post-processing用の出力を行います。

続いて、出力されたreport.datファイルを、Repot Magic for Analog(以下、「ReportMagic」と記述します)で処理し、一塊のHTMLファイルを作成します。
(Analogとは異なり、複数のHTMLファイルとイメージファイルに分割されます)

RepotrMagic自体の設定は、rmagic.iniという名称のファイルに記述します。
こちらもAnalogと同様、雛形が用意されていますので、そのファイルを参考に必要なところを変更すると、簡単に設定ができます。

文書の更新履歴
最終更新: 2000.12.12
文責:S.Ohwada