このマニュアルは analog3.90beta1 について説明します。これはバージョン4のためのベータテスト版です。ベータ版はバグを含んでいると予想されます。もしバグを見つけたら 私 まで知らせてください。最新のベータ版や公開されている最新の analog は analog のホームページ を見て下さい。
出力例は以下のサイトで見られます。
このマニュアルはいくつかのページに分割されています。それぞれのページ内のリンクや、最上部と最下部の選択項目を使って移動することができます。 また、全体のマニュアルの設計を示している 目次 や 索引 があります。オフラインで読む場合や印刷するときは、これらの代わりとしてマニュアル全体を 1ページ で見られます。
もしあなたの自宅のパソコンから ISP のコンピュータにログインしたなら、あなたには2つの選択肢があります。もしあなたが正当な権限を持っているなら、ISP のコンピュータ上で analog を動かすことができるでしょう。さもなければ、ISP のコンピュータからあなたのパソコンへログファイルをダウンロード(例えば ftp で)し、あなたのパソコン上で analog を動かすことができます。
One note: 他の OS では、オプションを与えるためのほかの方法として、コマンド行での引数があります。Readme で時々これらのことが述べられますが、Mac はコマンド行を持たないので無視して下さい。
analog を起動させるのに2つの方法があります。Windows から analog を起動する( analog のアイコンをシングルクリックまたはダブルクリックするかはあなたの設定によります)こともできますし、DOS コマンドプロンプト( スタート−プログラム の下にある)から起動することもできます。もし Windows から起動するならば、DOS ウィンドウ を作って、走らせます。analog が終了した時、Report.html と呼ばれる出力ファイルを作るでしょう。analog を初めて起動させたとき、ほとんど一瞬のうちに終了するかもしれません。出力の説明にヘルプが必要なら、出力結果の意味 を見て下さい。
とにかく、DOS ウィンドウから analog を起動する方がより簡単です。どんなエラーや警告でも容易に見れるからです。またコマンドプロンプトから analog を起動するとき、プログラム名の後のコマンド行にオプションを与える、コマンド行の引数というものがあります。これらは、環境設定ファイル中のコマンドを手っ取り早く実行する方法にすぎません。もしバッチファイルから analog を起動する時もコマンド行の引数を使うことができます。
analog にオプションを与える他の方法に、プログラム名の後のコマンド行に与える、コマンド行の引数というものがあります。これらは、環境設定ファイル中のコマンドに対するショートカットです。
もし gcc を持っていないなら、コンパイラを変える必要があるでしょう。代わりに acc または cc で試して下さい。それでもコンパイルができないなら、DNS 参照コードを無視するために DEFS=-DNODNS を試して下さい。
analog にオプションを与える他の方法に、プログラム名の後のコマンドラインに与える、コマンドライン引数というものがあります。これらは、環境設定ファイル中のコマンドの手っ取り早い方法にすぎません。
もし出力中にグラフの代わりに壊れた画像が出たら、サーバー上のどのディレクトリに画像が保存されているかを指示する必要があります。下記のコマンドによってそれが可能になります。
analog が動作し始めたとき、始めに環境設定ファイルとコマンド行(コマンド行を使った OS から analog を立ち上げたと仮定します)からオプションを読みこみます。これら多くのオプションの初期設定は、プログラムのコンパイル時にすでに anlghead.h と anlghea2.h のファイルで設定されていたはずです。
そのため、コンパイル済みの実行ファイルをダウンロードしないで、もしあなた自身のバージョンの analog をコンパイルしようとするときには、コンパイルする前にこれらのファイルの幾つかのオプションを設定することができます。これらのオプションについては、全て説明が付いています。
analog が読みこむ最初のファイルは、通常 analog.cfg と呼ばれている 初期設定ファイル です。コマンド行にオプション -G を付けると、このファイルの読み込みを止めることができます。そのときコマンド行の引数は、現れた順に読み込まれます。
最後に、プログラムのコンパイル時に指定すると、 強制的環境設定ファイル が読み込まれます。これはユーザーによって無効にできない環境設定ファイルです。もしそのファイルが見つからないときには、analog はすぐに終了してしまいます。このことは、例えば普通のユーザがある種のファイルやある種のレポートを生成するのを、システム管理者が防ぐことができます。しかしながら、ユーザが勝手に解析するのを防ぐ確かな唯一の方法は、彼らのログファイルへのアクセスを禁止すればよい。
そうでもしないと、彼らが他の analog または他のプログラムを使って、ログファイルを解析するのを止めることはできません。
コマンド行から +gother.cfg のようなコマンドを使えば、別の環境設定ファイルを含めることができます。( +g とファイル名の間にスペースは無い。これは全てのコマンド行の引数について成り立つ。)また
CONFIGFILE other.cfg
というコマンドによって、環境設定ファイル内から別の環境設定ファイルを含むこともできます。他の環境設定ファイル中のコマンドは、順に読み込まれていきます。
プログラムは、プログラム自身が止めるまで、コマンド行を読み続けるか、環境設定ファイルを読み込みます。別の環境設定ファイルを読むことは、初期環境設定ファイル(普通は analog.cfg )の読み込みを止めることは できない 事に注意してください。これを行うには、-G と同時に +g コマンドも指定しなくてはいけません。またいくつかの環境設定ファイルを読み込むことは、いくつかのレポートを生成することは しない が、一個のレポートは全てのオプションに基づいています。
Mac 版では、analog のアイコンの上に特別の環境設定ファイルをドラッグすることで、初期のファイルに代わって、プログラムを動かすことができます。ファイルは # から始まらなくてはいけません。
たとえコマンド行での略語が使えなくても、+Cコマンドを使えば、どんな環境設定コマンドを指定することもできます。例えば、+C"UNCOMPRESS *.gz gzcat" とすれば、このコマンドを含むことができます。
環境設定コマンドの構文規則は以下に与えられます。環境設定ファイルは、各行に幾つかのコマンドを含んでいます。ハッシュ記号( # )より後ろの文章はコメントとして無視されます。それぞれのコマンドは、1つまたは2つの引数が後に続くコマンド名から成り立っています。コマンドに対する引数は、一汁か2重引用符または括弧で括られることがあり、もし引数がハッシュ記号化スペースを含むときは、そうしなければなりません。例として、以下に正しい環境設定コマンドを与えます。
DAILY OFF # 日別概要を必要としない。
FULLDAILY "ON" # その代わりに、1日全体のレポートを必要とする。
HOSTNAME (Spam Widgets Inc.) # スペースが含まれるので、引用符か括弧が必要
もし一つだけ許されるようなもの(例えば、 OUTFILE )の時には、一般的に、後で現れるコマンドは、前のコマンドに優先する。あるいは、幾つかのもの(例えば、LOGFILE 、なぜなら幾つかのログファイルを読むことができる。)が許されるときには、それらを追加する。
もしすべてのオプションが少し混乱しているように見えるときには、以下のコマンド、
analog -settings [他のオプション]
を動かすか、 SETTINGS ON を環境設定ファイルに含んで下さい。
すると、 anlghead.h と anlghea2.h 中の初期設定と環境設定コマンド、それにコマンド行のオプションに基づいた全ての変数の値を出してくれるでしょう。 もし Unix または Windows を使っているなら、
analog -settings > file
を使えば、ファイル出力が得られることを思い出してください。
ログファイルの選択
ログファイルを選択する基本的なコマンドは、
LOGFILE logfilename
です。あるいは、他の引数無しでコマンド行でログファイル名を与えれば良い。
例えば、analog ログファイル名 とやります。- 記号あるいは stdin という単語は、標準入力を意味します。この形式は、Unix ではパイプを作成するときに便利です。全てのログファイルは、あなたのコンピュータシステムの内部のファイルシステムになければなりません。(ディスク上か、少なくとも Unix 上でマウントされたディスクか、NT 上の共有されたドライブ上になければなりません。) -- analog は、インターネット上から FTP あるいは HTTP を使ってファイルを持ってくることはできません。Mac 版では、analog のアイコン上に一個の特定のログファイルをドラッグすれば、解析できます。
LOGFILE コマンドを幾つか書くことができます。ログファイル名にワイルドカードを含めることもできますし(しかし、必ずしもディレクトリ名に入れる必要は無いが、これはシステムに依存します。)、(スペースを含まない)コンマで区切ってログファイルの一覧を書くこともできます。従って、以下のコマンドは、logfile1、c:\logs\logfile2、それに .log で終わる全てのファイルを、analog は読みます:
LOGFILE logfile1,*.log
LOGFILE c:\logs\logfile2
または、Mac を使っているなら、以下の様に書きます。
LOGFILE "Hard Drive:Internet Applications:Analog:Logs:*"
LOGFILE コマンドは、以下の場合を除いて蓄積型です(即ち、書かれたファイル名を全て読み込みます)。コマンド行で与えられた、またはユーザが指定した環境設定ファイル中のどのログファイルは、初期設定の環境設定ファイル 中のログファイルに取って代わるし、それら自身も、必須の環境設定ファイル 中のどのファイルによっても取って代わられます。また以下の特別なコマンドがあります。
LOGFILE none
これは、今まで指定されたログファイルの一覧を無効にします。
analog は、幾つかの異なる型のログファイルを認識します。初期設定では、ログファイルの一行目を見て、知っている型の一つであるかどうかを判断します。通常、判定する型は、共通ログ形式、NCSA 型の組み合わせ形式、リンク元ログとブラウザー・ログ、W3 の拡張ログ形式、マイクロソフトの IIS 形式、Netscape 形式、WebSTAR 形式、それに WebSite 形式です。これら全ての形式の例 は、この章の最後に与えます。デバッグ をオンにしていると、analog はあなたのログファイルの形式を報告してくれます。
もしあなたのログファイルが標準の形式でない時でも、LOGFORMAT コマンドを使って、他の形式について analog に教えることができるので、多分まだ大丈夫です。これは、次章 で説明されます。しかし大部分のユーザは標準形式のログファイルを持っているので、これについて知る必要はありません。最善の方法は、とにかくログファイルを解析してみて、analog が理解するかどうかを確かめてみることです。理解してくれれば、LOGFORMAT について心配する必要はありません。
もし analog が あなたのログファイルを理解できない時には、ログファイル形式を認識できない、あるいは多くの異常な行を見つけたと注意を与えるでしょう。これが起きる理由としては、基本的に4つの理由が考えられます。
- analog はログファイルの最初の行に基づいて形式を判断しようとするので、
最初の行が壊れてしまっているだけかもしれない。この場合には、analog に形式
を教えてあげるか、最初の行を直してあげればよい。
- 同じ理由で、ログの途中で形式が変わってしまっている時には、analog はそれ
以下の行を異常行とみなします。この場合には、レポートには部分的な解析と何行
もの異常行が含まれるでしょう。この場合、analog に2種類の
LOGFORMAT コマンドを与え、2種類の異なる形式を教える必要がある。
- ある種のログ形式には、よく設計されていないものがあり、analog はきちんと
解析できない。この場合には、悪い作業をする危険を冒すより、通常ヘルプ・
メッセージを出して解析を止めてしまいます。そのため、ログファイルが標準の
形式であると信じているのに、analog が解析してくれない時には、それらの形式
についてのいくつか共通の問題が述べられている下記の
全ての内蔵形式についてのノート を読みなさい。
- 最後に、幾つかのログファイルが実際にどの標準形式でもない場合がある。
この場合には、次章を読んで 、あなたの形式を
analog に伝える方法を学ばなければならない。
ログファイルコマンドには、2個目の引数があり、その引数はログファイル中の全てのファイル名の前に付け加わります。これは、幾つかのサーバあるいは仮想ホストがあり、各サーバに同名のファイルが存在する時に、役立ちます。引数には、%v を含むことができ、仮想ホスト名がそこに挿入されます。例えば、
LOGFILE log1,log2 http://www.%v.mydomain.com
は、ファイル名 /file.html を log1 あるいは log2 のログファイル中の仮想ホスト host1 を使い、http://www.host1.mydomain.com/file.html と翻訳されます。LOGFILE コマンドの2個目の引数を使うなら、SUBDIR コマンドも多分必要となるでしょう。
引数に %v が含まれているが、ログファイル行に仮想ホストが無い場合には、その行は異常とみなされます。VHOSTLOWMEM 3 が指定されていれば、%v は翻訳されずに、出力には単に %v と現れるでしょう。
ディスクスペースをセーブするために、ログファイルを圧縮して保存しておくのは、しばしば便利なことです。Mac 版の analog は、gzip を用いて圧縮されたログファイルを読むことができます。Unix 版、Win32 版および7.0以上の VMS 版の analog は、UNCOMPRESS コマンドを用いてどのようにログファイルを解凍するかが述べられていれば、圧縮されたログファイルを読むことができます。解凍しようと思うファイルの型を、コンマで区切って一覧にする必要があり、それと共にファイルを標準出力(ファイルではなく)にファイルを解凍するコマンド名を書く必要があります。例えば、Unix 上では以下の様に書けます。
UNCOMPRESS *.gz,*.Z /usr/bin/gzcat
一方 Windows NT 上では、以下の様に書ける。
UNCOMPRESS *.gz ("c:\Program Files\gzip\gzip" -cd)
VMS 上では、以下の様になります。
UNCOMPRESS *.LOG-GZ;* "gunzip -c"
これは、初期環境設定ファイル に含めるには最適のコマンドであろう。
ログファイルが解凍し始めたが、analog がそのファイルは解析に必要ないと判断した時、2つの予期しないことが起き得る。ログファイルが完全に解凍しきるまで、プログラムが止まってしまうか、"broken pipe" エラーが出てくるかもしれない。これは、システムに依存し、analog の制御外のことです。
以下に、analog が認識する種々のログファイル形式のまとめを与えます。これらを説明するために、異なる形式で記録されるような同一の(仮想的な)リクエストを用いた。
共通ログ形式は大部分のサーバーによって書かれている。それらの行は、以下の様になる。
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ HTTP/1.0" 200 1243
マイクロソフト社のソフトのある版では、以下の様に HTTP の前に余分の2重引用符が付いてしまうバグがある。
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ "HTTP/1.0" 200 1243
analog はこれら両方を理解しますが、(2種類の形式が存在するという意味で)もし形式が途中で形式が変わってしまう時には、それらの行を排除してしまいます。
NCSA の参照元ログは以下の様になる。
[25/Dec/1998:17:45:35] http://www.site.com/ -> /~sret1/
and the browser (or agent) log looks like
[25/Dec/1998:17:45:35] Mozilla/2.0 (X11; I; HP-UX A.09.05)
参照元ログでは、日にちは省略され得る。
NCSA 型の組み合わせログ形式は、共通ログと同じであるが、以下の様に行端に2重引用符で括られた参照元とブラウザーの記述がある。
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ HTTP/1.0" 200 1243
"http://www.site.com/" "Mozilla/2.0 (X11; I; HP-UX A.09.05)"
実際は一行である。Apache サーバを使っている時には、この形式は、mod_log_config モジュールを用い、以下のコマンドを使って生成される。
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\""
別々のログよりも組み合わせのログの方が通常良い。何故なら、より少ないスペースで多くの情報を蓄えられるからです。
マイクロソフトの IIS ログファイルは、以下のようである。
192.64.25.41, -, 25/12/98, 17:45:35, W3SVC1, HOST1, 192.16.225.10,
2178, 303, 1243, 200, 0, GET, /~sret1/, -,
(実際は一行である。)
しかしながら、この形式は、日にちが地域的な時間表現に則っているという点に於いて、非常にまずく設計されている。即ち、北米では上記の例は、12/25/98 という日にちになる。analog は、可能な限りログファイルがどの形式であるか診断する。しかし、日にちも月も最大12しか記録されていない時には、どちらの形式か判断できない。この場合には、以下のコマンド、北米の日にち形式に対しては、
LOGFORMAT MICROSOFT-NA あるいは国際日にち形式に対しては、LOGFORMAT MICROSOFT-INT を使うように進言する。幾つかの国では、日にちはこれらのどちらの形式でもない。このときには、それ専用の LOGFORMAT コマンドを書く必要がある。
またマイクロソフト形式には、例えばブラウザーや参照元を含めるための、各種の第3者による拡張がある。しかしそれらは全て異なる方法で行っており、そのため analog はそれらを自動的に診断できず、再度であるがそれら専用の LOGFORMAT コマンドを書く必要がある。
WebSite 形式は以下のようである。
12/25/98 17:45:35 jay.bird.com host1 Server fred GET /~sret1/
http://www.site.com/ Mozilla/2.0 (X11; I; HP-UX A.09.05) 200 1243 2178
(実際は一行であり、書く項目はタブで区切られている。)(上記の) IIS のログファイルと同様に、あいまいな日にちの問題がある。従って、LOGFORMAT WEBSITE-NA か、LOGFORMAT WEBSITE-INT を使わなければならないか、あるいは専用の LOGFORMAT コマンドを書かなければならない。
W3 拡張ログ、Netscape ログ、それに WebSTAR ログは、認識できる。何故なら、これらは、先頭かそれに近い場所に、以下に続く行にどの形式のログが書かれているかを述べている行を含まなければ ならない からである。(これらは、形式を変えた時にまた後の行で含まれることもある。)もし先頭行がない時には、analog は続く行を説明できず、従ってログファイルを解析できない。この場合には、失った先頭行を挿入するか LOGFORMAT コマンドを使い analog に形式を伝えなければならない。
もし 先頭行が壊れていると analog が判断した時には、何が悪いのかも伝える。ここに2つの共通した問題がある。最初は、2個の異なる名前であっても、先頭行は同じ項目を2回含んではならない。(これは、analog がどちらを使ったらよいか分からないからである。)もし同じ項目が2個含まれている時には、LOGFORMAT コマンドを用いて無視したい方を指定しなければならない。
2つ目は、日付無しの時刻を使うことは許されないし、その逆も許されない。 -- 特に、ログファイルの先頭に日付だけがあるのは、解析に充分ではなく、各行になければならない。マイクロソフト社のサーバソフトは、先頭行に日付だけが付いた拡張ログを生成する。しかしもしログファイルの途中で日付が変わっても、サーバソフトは、新しい日付行を書かない。このため、analog は安全にその様なログファイルを解析できない。役立つソフトのページ には、各行に日付をつけてくれる幾つかのプログラムがある。もしそのようなログファイルをあなたが扱っているなら、これらのプログラムの一つを使いたいかもしれない。しかし、これらのプログラムはログファイルの途中で日付が変わらないと仮定されており、従って、将来はより良い形式で、サーバソフトがログを取るようにする方が安全である。
拡張ログは、
http://www.w3.org/TR/WD-logfile.html に述べられている。
その先頭行は以下のようである。
#Fields: date time cs-uri
ログファイルの残りでは、項目は、空白かタブで区切られている。拡張形式については、マイクロソフトの試みがある。-- 残念なことに、この試みでは、仕様を読まないので、ブラウザや参照元を引用符で括らない、ブラウザ名中の空白を + で置き換え、そして時間を秒の代わりにミリ秒で計ったリクエストを提供する。拡張ログは、常に時刻を GMT で記録しているため、あなたの地域時間帯に変換するために、多分 LOGTIMEOFFSET コマンドを使う必要があるだろう。
WebSTAR 形式は、http://www.starnine.com/webstar/docs/ws4manual.3f.html に述べられている。
その先頭行は以下のようである。
!!LOG_FORMAT DATE TIME RESULT URL BYTES_SENT HOSTNAME
ログファイルの残りでは、項目はタブで区切られている。WebSTAR サーバは、また時刻を GMT で記録しているため、あなたの地域時間帯に変換するために、再び LOGTIMEOFFSET コマンドを使う必要があるだろう。いくつかの他の Mac サーバも WebSTAR か、それに似たものを使う。analog はこれらも理解する。
最後に、Netscape の先頭行は、以下のようである。
format=%Ses->client.ip% [%SYSDATE%] "%Req->reqpb.clf-request%"
%Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%
ログ書式の設定
この章では、analog に対するログファイルの書式の伝え方について述べます。ここでは、前章 を読んだことを、また analog が何らかの理由であなたのログファイルの書式を検知出来なかったため、あからさまにログの書式を指定する必要があると仮定します。
ログの書式設定のための基本的なコマンドは以下の様になります。
LOGFORMAT format
-- 直ぐに、format が何であるかを述べます。LOGFORMAT コマンドは、同じ環境設定ファイル内の後のほうに位置した LOGFILE コマンドで指定された、ログファイルのみに適用されます。従って、LOGFORMAT を、参照すべき LOGFILE の上に書かなければなりません。このようにして、異なるログファイルは、異なる書式を持つことができます。例として、以下を挙げます。
LOGFILE log0
LOGFORMAT format1
LOGFILE log1
LOGFORMAT format2
LOGFILE log2
LOGFILE log3
この例では、log1 は format1 であり、log2 と
log3 は format2 であり、そして log0 はどの書式にも属していない。 -- analog は、このログファイルがどの書式なのかを見つけようとする。
もしあなたが Apache のウェブサーバ を使用しているなら、
単純な LOGFORMAT の代わりに APACHELOGFORMAT を使うことができる。この後に、Apache の httpd.conf に書かれている ログ書式 を書かなければならない。例えば、共通書式は以下の様に表される。
APACHELOGFORMAT (%h %l %u %t \"%r\" %s %b)
(括弧は、引数にスペースが含まれるので必要である。) analog は、Apache の "%...{format}t" という構造を解析できないという例外を除いて、Apache のログ書式を理解してくれる。もしこの構造があったときには、通常の LOGFORMAT を代わりに使用しなければならない。
LOGFORMAT コマンドを用いた可能な書式は、2種類ある。最初に幾つかの象徴的な単語があり、ログ書式の文字列 が続く。まずは、単語を見ていこう。
analog が承知している全ての組み込み書式に対する書式用の単語がある。もしログファイルが標準書式の時には、これらのうちのひとつの単語が必要かもしれないが、analog は、何らかの理由でどの書式であるのかは検知できない;例えば、多分最初の行が壊れてしまっている;あるいは、多分 analog が北米時間か国際時間を使用しているのかどうかを判断できない。従って例えば、
LOGFORMAT COMMON
は、共通書式を選択する;また、以下のオプションがある;COMBINED、
REFERRER, BROWSER, EXTENDED、
MICROSOFT-NA (北米時刻書式)、
MICROSOFT-INT (国際時刻書式)、
WEBSITE-NA、WEBSITE-INT、
MS-EXTENDED (マイクロソフトの拡張書式)、
MS-COMMON (幾つかのマイクロソフト版のバグの多い共通書式)、NETSCAPE または WEBSTAR。これら全ての書式は、前章の終わり に定義されている。自動判別のための特別な単語 AUTO を使うこともできる。
もしあなたのログファイルが、認識可能な書式でない時には、ログ書式の文字列を用いて、analog に教えることができる。ログファイルが標準書式の一つでないときに限り、これが必要である。そしてたとえ標準書式でなくとも、もし Apache のウェブサーバを使っているなら、上記で述べた APACHELOGFORMAT の方がやさしいことが分かるであろう。
書式用の文字列は、以下の様に種々の項目や特殊文字をコードで置き換えた、ログファイルの各行に対するテンプレートからなっている。これらのコードは大小文字を区別するので注意が必要である。 -- 例えば、%b は%B とは全く異なる!
The format string consists of a template for the logfile line, with the
various fields and special characters replaced by codes as follows. Please
note that these codes are case sensitive -- for example, %b is
completely different from %B!
- %S
- ホスト名 (リクエストをしているコンピュータ)
- %r
- リクエストされたファイル名
- %B
- ブラウザ名
- %A
- スペースの代わりに + が入ったブラウザ名
- %f
- 参照元 (ファイルを参照している URL)
- %u
- ユーザ名 (一言:クッキーも %u と有効に
定義することができる)
- %v
- 仮想ホスト名 (仮想ドメイン名とも呼ばれる)
- %d
- 1月の日にち
- %m
- 10進数の月名
- %M
- 3文字の英語の省略月名
- %y
- 最後の2桁表示の年度
- %Y
- 4桁表示の年度
- %h
- 1日の時刻
- %n
- 1時間内の分
- %a
- もし %h が12時間時計なら、am (午前)に対して
a か A、または pm (午後)に対して p か
P、(従って、"am" とするなら、%am とし、
"AM" とするなら、%aM とする必要がある)
- %U
- "Unix 時間" (GMT 時間の1970年から計算した秒数)
- %b
- バイト単位のデータ転送量
- %t
- 秒単位の処理時間
- %T
- ミリ秒単位の処理時間
- %c
- HTTP の状態コード
- %C
- 特殊なサーバに特徴的な特殊コード
- %q
- 検索文字列 (もし分離された場所に記録されているなら、
? の後ろのファイル名の一部分)
- %j
- ガラクタ:この項目は無視せよ(項目自体も何も無いかもしれない)
- %w
- 空白:スペースかタブ
- %W
- 随意のスペース
- %%
- % 記号
- \n
- 新しい行
- \t
- タブ
- \\
- 1個のバックスラッシュ
従って例えば、以下の共通のログ書式、
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ HTTP/1.0" 200 1243
は、LOGFORMAT コマンドで以下の様に表される。
LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j %j] "%j %r %j" %c %b)
要するに、単なる見本の行であるが、ホスト名は %S で置き換えられ、ユーザ名は %u で置き換えられ、等々である。(括弧は、引数がスペースを含むために必要である。)または、別の例として、もし以下のような行があったとしたら、
Fri 25/12/98 5:45pm, /~sret1/, jay.bird.com, 200, 1243, http://www.site.com, Mozilla/2.0 (X11; I; HP-UX A.09.05)
以下の書式が使える。
LOGFORMAT (%j %d/%m/%y %h:%n%am, %r, %S, %c, %b, %f, %B)
ログファイルは、時々幾つかの異なる書式を含むことがある。そのため、幾つかの LOGFORMAT コマンドを並べて指定することができ、それらは以下に続く全てのログファイルに適用される。これも、もしログファイルが途中で書式を変えたときに、役に立つ。従って例えば、
LOGFORMAT COMMON
LOGFORMAT COMBINED
LOGFILE log1
LOGFORMAT (%j %d/%m/%y %h:%n%am, %r, %S, %c, %b, %f, %B)
LOGFILE log2
LOGFILE log3
log1 は、共通と組み合わせ書式の両方を持つが、log2 と log3 は、一つ前の例の書式の行のみを持つ。
もし幾つかの書式が指定された場合、analog はまずは最初の書式に各行が一致するかどうかを試し、もし失敗した時には次を試し、等々と行う。そのため、書式の順番は大事である。通常は、不適切な書式と行が一致するかどうかを試すのに割く時間を最小にするために、最も一般的なものを最初に置く。
私は、上記で同じ環境設定フィル中の始めのほうで、 LOGFORMAT コマンドを持たないどのログファイルも自動的に認識されると、示唆した。しかしこれは必ずしも正しくない。実際、その様なログファイルは、初期設定ログ書式 と呼ばれる特別の書式を得る。初期設定書式は自動的に認識されて始まるが、もし望むなら DEFAULTLOGFORMAT コマンドを用いて帰ることができる。このコマンドは、LOGFORMAT とまるっきり同じように働く。 -- これは、同じ書式を理解するし、もし幾つかの DEFAULTLOGFORMAT コマンドがある場合には、同じように順番に処理する。違いは、ある特別な場所に置く必要が無いことである。( APACHELOGFORMAT に似た、APACHEDEFAULTLOGFORMAT もある。)
それでは、最初の例に戻ろう。
LOGFILE log0
LOGFORMAT format1
LOGFILE log1
LOGFORMAT format2
LOGFILE log2
LOGFILE log3
ここでは、log0 は実際には初期設定のログ書式を取り。もし、DEFAULTLOGFORMAT コマンドが無ければ、初期設定は自動的に認識されるであろう。しかし、もし DEFAULTLOGFORMAT コマンドが別の環境設定ファイルにでもあれば、それが log0 の書式となるでしょう。
LOGFORMAT の代わりに DEFAULTLOGFORMAT を使う必要があるときは、LOGFILE コマンドで与えることができないログファイルの書式、これを変えたい時でしょう。 -- 例えば、コマンド行で指定したもの、または Mac で analog のアイコンの上にドラッグしたもの、またはコンパイルした時に指定したもの。もしログファイルが常に同じ書式であれば、DEFAULTLOGFORMAT を使えば良い。そうすれば、充分な数の LOGFORMAT を適切な位置に置くことに頭を悩まさずに済む。
LOGFORMAT コマンドに関する幾つかの技術的な詳細とテクニック
"Unix 時刻", %U は、常に GMT (グリニッジ標準時間)で記録される。そのため、おそらく LOGTIMEOFFSET コマンドを使って、地域時刻に変換する必要があるだろう。また、時間の整数部分だけであるので、少数がある場合には、%U.%j の形を使わなければならないだろう。
analog が取り扱えるログの書式は、即解読可能 として知られているものだけである:実際のところ、これは、文字列を終わらせる文字が文字列中に現れないという事を意味する。従って例えば、共通書式では、以下の様に見える。
LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j %j] "%j %r %j" %c %b)
もしホスト名がスペースを含んでいたとしたら、その行は、以上行とされるでしょう。何故なら、analog は、スペース=ダッシュ=スペースが最初に起きる場所では なく、最初のスペースの所でホスト名を終わらせてしまい、残りの行は、一致するかどうかを見ないでしょう。もちろん、ホスト名はスペースを含むはずは無いので、これは問題とはならない。他にも幾つかの制限がある。もし、何らかの日にちか時刻の情報があった場合、年度、月、日にち、時間、分は全てなくてはならない。そして、同じ情報は、2度と書式には現れない (従って例えば、%m と %M の両方は、指定できない。何故なら、これらは両方とも、月を表すからであり、もう片方を無視するために %j をすべきである )。
時には、ログファイルのある項目を読む必要があるが、解析する必要が無い場合がある。例えば、別々の共通ログと参照ログがあり、参照ログが以下の様になっているとする。
http://guide-p.infoseek.com/Titles -> /~sret1/analog/
しかし、/~sret1/analog/ へのリクエストは、主たるログファイルを読み込んだ時に既に勘定されてしまっているため、このときにもう一度勘定に入れたくない。書式の文字列に、以下の様に * を指定することによりこれを避けることができる。
LOGFORMAT (%f -> %*r)
助言:ログファイルの一行全体が認識可能な文字で終わる限り、2個かそれ以上の隣接している場を無視するために、一個の %j をもって指定すると、時々より効率的になる。従って、共通書式は、以下の様に指定するとより効率的になる。
LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j] "%j %r %j" %c %b)
-- 日にちと時刻に於いて [25/Dec/1998:17:45:35 +0000] 、秒と時間帯は、一つの %j で閉じ角括弧のところまで無視される。
もう一つの助言:%j は、analog が使用しない場ではなく、行全体を無視するために使うこともできる。例えば、拡張ログ書式は、# で始まる行を以下の様に書けば無視する。
LOGFORMAT #%j
そして、マイクロソフトの書式は、以下の様にすれば FTP のリクエストに相当する部分を無視する。
LOGFORMAT (%*S, %*u, %m/%d/%y, %h:%n:%j, %j)
もしそれらの書式が使われなかったとしたら、相当する行は異常行として扱われるでしょう。
最後に、参考と例題のため、以下に analog が理解できる全ての書式の一覧と、前章 の例題と組み込み定義を一緒に与えます。
- 共通書式、LOGFORMAT COMMON
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ HTTP/1.0" 200 1243
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b)
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r" %c %b)
- マイクロソフトの共通書式、
LOGFORMAT MS-COMMON
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ "HTTP/1.0" 200 1243
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%w"HTTP%j" %c %b)
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r" %c %b)
- 組み合わせログ、LOGFORMAT COMBINED
jay.bird.com - fred [25/Dec/1998:17:45:35 +0000] "GET /~sret1/ HTTP/1.0" 200
1243 "http://www.site.com/" "Mozilla/2.0 (X11; I; HP-UX A.09.05)"
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B")
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r" %c %b "%f" "%B")
- 参照ログ、LOGFORMAT REFERRER
[25/Dec/1998:17:45:35] http://www.site.com/ -> /~sret1/
or http://www.site.com/ -> /~sret1/
LOGFORMAT ([%d/%M/%Y:%h:%n:%j] %f -> %*r)
LOGFORMAT (%f -> %*r)
- ブラウザーのログ, LOGFORMAT BROWSER
[25/Dec/1998:17:45:35] Mozilla/2.0 (X11; I; HP-UX A.09.05)
LOGFORMAT ([%d/%M/%Y:%h:%n:%j] %B)
- マイクロソフトのログ、北米日付,
LOGFORMAT MICROSOFT-NA
192.64.25.41, -, 12/25/98, 17:45:35, W3SVC1, HOST1, 192.16.225.10,
2178, 303, 1243, 200, 0, GET, /~sret1/, -,
LOGFORMAT (%S, %u, %m/%d/%y, %h:%n:%j, W3SVC%j, %j, %v, %T, %j, %b, %c, %j, %j, %r, %q,)
LOGFORMAT (%*S, %*u, %m/%d/%y, %h:%n:%j, %j)
- マイクロソフトのログ、国際日付,
LOGFORMAT MICROSOFT-INT
192.64.25.41, -, 25/12/98, 17:45:35, W3SVC1, HOST1, 192.16.225.10,
2178, 303, 1243, 200, 0, GET, /~sret1/, -,
LOGFORMAT (%S, %u, %d/%m/%y, %h:%n:%j, W3SVC%j, %j, %v, %T, %j, %b, %c, %j, %j, %r, %q,)
LOGFORMAT (%*S, %*u, %d/%m/%y, %h:%n:%j, %j)
- WebSite ログ、北米日付,
LOGFORMAT WEBSITE-NA
12/25/98 17:45:35 jay.bird.com host1 Server fred GET /~sret1/
http://www.site.com/ Mozilla/2.0 (X11; I; HP-UX A.09.05) 200 1243 2178
LOGFORMAT (%m/%d/%y %h:%n:%j\t%S\t%v\t%j\t%u\t%j\t%r\t%f\t%j\t%B\t%c\t%b\t%T)
- WebSite ログ、国際日付,
LOGFORMAT WEBSITE-INT
25/12/98 17:45:35 jay.bird.com host1 Server fred GET /~sret1/
http://www.site.com/ Mozilla/2.0 (X11; I; HP-UX A.09.05) 200 1243 2178
LOGFORMAT (%d/%m/%y %h:%n:%j\t%S\t%v\t%j\t%u\t%j\t%r\t%f\t%j\t%B\t%c\t%b\t%T)
Netscape のログと WebSTAR のログのような拡張ログは、組み込み書式は無い。analog は、それらの先頭行からそれらの書式を構築する。
エイリアス (別名)
analogがログファイルの各行を読み取ると、analogは各項目にエイリアスを適用します。もし大小文字を区別しないファイルシステムなら、analogはファイル名を小文字に変えます。普通analogは、Unixファイルシステムは大小文字を区別し、それ以外のシステムは区別しないと仮定します。例えば、もしファイルを別のコンピュータへ転送しても、元のマシーンでの条件でも使えるように、この仮定を無視したい場合があるかもしれません。そのときは下記のコマンドで可能になります。
CASE INSENSITIVE
CASE SENSITIVE
次に、analogは内蔵のエイリアスをそれぞれの項目に適用します。例えば、ファイル名や参照元の中の
%7E は ~と同等であり、それに応じて翻訳します。また、ディレクトリからファイル名の接尾辞を取り除きます。この接尾辞は通常は index.htmlですが、下記のコマンドにより、別のものに変更できます。
DIRSUFFIX default.htm
( DIRSUFFIXは1つだけ指定できます。)別の内蔵エイリアスもあります:例えばホスト名は、この時点で小文字に変換されます。
このあと、analogはユーザー定義のエイリアスを適用します。例えば、もしあなたが二つのファイル名が同ファイルに対応していると知っているときや、内部のホスト名をインターネット上の正式名称に変換したい場合に、これらのエイリアスは役に立ちます。 下記のようなコマンドによってエイリアスを明記します。
FILEALIAS /football.html /soccer.html
HOSTALIAS lion lion.statslab.cam.ac.uk
他の全てのエイリアスを打ち消す、特別なコマンド FILEALIAS none もあります。
他の項目に対するエイリアスには BROWALIAS,REFALIAS、
USERALIASそしてVHOSTALIAS があります。各項目に対しては、1回だけエイリアスが適用されます。
FILEALIAS /football.html /soccer.html
FILEALIAS /soccer.html /brazil.html
ファイル /soccer.htmlは/brazil.htmlへ変換されますが、/football.htmlは /soccer.html にだけ変換され、2個目のエイリアスは適用されません。
エイリアスコマンド中ではワイルドカード(?や*)も使えます。また右側では、元の * と一致する元の名前の一部を表すように $1、$2 等も使えます。
特別な略記として、もし左側に * に対応して1個の名前しかないときには、右側の * は $1 と同等です。例えば
FILEALIAS /*/football/* /soccer/
は/sport/football/rules.htmlを/soccer/へ変換します。 しかし
FILEALIAS /*/football/* /$1/soccer/$2 # or
FILEALIAS /sport/football/* /sport/soccer/*
のどちらも/sport/football/rules.htmlを/sport/soccer/rules.htmlへ変換します。
analogの * は何でも表すわけではありません:もし2種類の可能な一致の仕方があれば、左側の表現ができるだけ短くなるような一致の仕方を取ります。これはあなたが望む以上にしばしば起きます。しかし、これは例えば Perl の正規表現と対照的です。(2個の連続する*は全く意味を持ちませんが、もしそれを試したら、$1や$2などをそれに当てはめる前に、1個の*になってしまいます。)
もし、ファイルが検索引数を持つときには、FILEALIASやREFALIASの振る舞いはやや直観からはずれます。
Unixユーザーへの注意:もしALIASコマンドを+Cを伴うコマンド中に書いたら、シェルは $1 等を適用したり展開したりして、あなたが望まない結果を出すでしょう。このシェルの振る舞いを止めるには、2重引用符の代わりに1重引用符中にコマンドを書くことです。
出力エイリアス と呼ばれる一連のコマンドがあります。タイムレポート以外の各レポートに対して、対応するこのコマンドがあります。ログファイルが読み込まれる時に各項目に適用するのではなく、出力の各行に対して適用されます。例えば、以下のコマンド
TYPEOUTPUTALIAS .txt ".txt (Plain text files)"
はファイルタイプレポート中でその行の説明を挿入します。
いくつかの ALIAS と OUTPUTALIAS の
コマンドは混乱を引き起こすかもしれません。例えば、HOSTALIAS と
HOSTOUTPUTALIAS の違いはなんでしょうか。実際には、別名が処理される時間による違いによる、数種類の違いがあります。HOSTALIAS はホストの 項目 に適用されますが、HOSTOUTPUTALIAS は ホストレポート中の行 に適用されます。これは、HOSTALIAS はドメインレポートのようにホスト名を使う他のレポートにも影響を及ぼすことを意味します。ところが、HOSTOUTPUTALIAS はホストレポートにだけ作用します。また、HOSTOUTPUTALIAS はホストレポートの各行に別々に適用されます。これは、もし二つの異なるホスト名を HOSTALIAS コマンドで一つの同じホスト名に変換したら、それらはそれ以降ずっと一つのホスト名になることを意味します。しかし、もし同じように HOSTOUTPUTALIAS コマンドが使われたら、それらは一つのレポート中ではたまたま同じ名前を持つ、二つの異なるホストになります。
要約すると、HOSTALIAS はふつう、1個のホストが2つの異なる名前を持つときに使用されます。したがって、2つのホストは他の場合には異なるように見えます。一方、HOSTOUTPUTALIAS は普通ホストレポートに注釈をつけたり、説明を付け加えたりするために使われます。
output aliase の全リストは以下の通りです。 REQOUTPUTALIAS,
REDIROUTPUTALIAS, FAILOUTPUTALIAS,
TYPEOUTPUTALIAS, DIROUTPUTALIAS,
HOSTOUTPUTALIAS, DOMOUTPUTALIAS,
ORGOUTPUTALIAS,
REFOUTPUTALIAS, REFSITEOUTPUTALIAS,
REDIRREFOUTPUTALIAS, FAILREFOUTPUTALIAS,
BROWOUTPUTALIAS, FULLBROWOUTPUTALIAS,
OSOUTPUTALIAS,
VHOSTOUTPUTALIAS, USEROUTPUTALIAS
そして FAILUSEROUTPUTALIAS です。
OUTPUTALIASに対して知られたバグが1つあります。レポートは OUTPUTALIAS が適用される前に分類されます。これはもしそのレポートに対して SORTBY が アルファベット順 に設定されていたら、そのレポートは正しく分類されないことを意味します。
もし正規表現を使う OS のときには( Unix だけかもしれませんが)、ALIAS コマンドの中にそれらを含むことができます。そうでなければ、次章に移ったほうが良いかもしれません。
残念ながら、もしまだ知らない人がいても、ここでは私は正規表現の使いかたを教える積りはありません。:もしUnix上でならば、man regex あるいは man
grep と打ってみて下さい。正規表現の例題がたくさんあります。analog が使うのは、Unix の egrepのような、POSIX 流に拡張した正規表現です。もしPerl あるいはGNU の grep -E の正規表現をよく知っているなら、それらと全てが同じものを見つけるとはかぎらないでしょう。
"REGEXP:" をエイリアスの左側の前につけることによって、ALIASコマンド中に正規表現を含むことができます。あるいは、"REGEXPI:" を使うことによって
Unix の egrep -i のように大小文字の区別をしない一致検索を指定することができます。(もし、CASE INSENSITIVE と明記したら、ホスト名やファイル名のような多くの項目は自動的に大小文字を区別しなくなります。)
左括弧の順番に勘定して一番目、二番目等の括弧でくくられた左辺の表現を表すために、エイリアスの右辺では $1、 $2 等を使用できる。(ここでもまた、一重引用符でくくれば、$1、$2 等をコマンド行に書くことができる。)
正規表現は、文字列の一部分が一致すれば一致したことになる。文字列全体に一致させたいときには、正規表現の両端を ^ と $ でくくらなければならない。
例えばリクエストレポートの場合には、
REQOUTPUTALIAS REGEXP:^(/~([^/]*).*)$ "[$2] $1"
は
/~sret1/backgammon/rules.html
を
[sret1] /~sret1/backgammon/rules.html
に変換する。 または
HOSTALIAS REGEXP:^([^.]*)$ $1.mycompany.com
は、全てのピリオッドを含んでいないホスト名に .mycompany.com を付け加える。
(これが良い考えかどうかは FAQ の議論を見よ。)
正規表現は貪欲である:もし2種類の一致の仕方があるときには、左側の一致を可能な限り進めてゆく。
包含と除外
各項目に別名を付けてから、analog はその項目の表示が望まれているのかどうかを判断します。もし全ての項目が望まれている時のみ、全行が勘定されます。項目が望まれているかどうかは、ユーザによって指定された INCLUDE と EXCLUDE コマンドによって決められます。これらのコマンドは、例えば、ローカルのユーザからのリクエストを除外したり、サブディレクトリ中のファイルだけを解析したりするために使われます。例えば、
HOSTEXCLUDE mycomputer.myisp.com
は、そのコンピュータからの全てのリクエストを統計から除外します。
項目が含まれるか除外されるかどうかの規則は、次のようにして決められる。その項目に対する全ての INCLUDE と EXCLUDE は、順番に一つずつ考慮され、適合する最後のコマンドにより、その項目が含まれるか或いは除外されるかが決まる。どの INCLUDE あるいは EXCLUDE コマンドにも一致しない項目は、もしそのコマンドが除外ならば含まれるし、もしそのコマンドが包含ならば除外される。例えば、以下の環境設定
FILEINCLUDE /~sret1/*
FILEEXCLUDE /~sret1/backgammon/*,/~sret1/analog/*
FILEINCLUDE /~sret1/backgammon/*.gif
は、私のファイルだけを吟味しろとプログラムに指示し、次に私の backgammon と analog のファイルは除外するが、最後に backgammon ディレクトリ中の gif ファイルだけを含めるように指示する。一方、
FILEEXCLUDE /~sret1/*/img/*
は、私の種々のディレクトリ中の画像ファイルを除いて、全てのファイルを解析する。包含と除外は、幾つでもワイルドカードを使うことができることに注意せよ。
これらのコマンドの完全な一覧は、HOSTINCLUDE と
HOSTEXCLUDE; FILEINCLUDE と FILEXCLUDE;
BROWINCLUDE と BROWEXCLUDE; REFINCLUDE と
REFEXCLUDE; USERINCLUDE と USEREXCLUDE; そして VHOSTINCLUDE と VHOSTEXCLUDE である。
包含と除外は別名を付けた 後に 処理されるので、使用すべき名前は、別名である。( OUTPUTALIAS コマンドがない時には、これは出力に現れる項目名である。)
時には、行がある特別な項目を含まないことがある。これは、その行にその項目用の場所が無いからか、あるいはそのリクエストに対して、ブラウザーがその項目を送らないからである。これらの行を含めるか削除するかは、 INCLUDE か EXCLUDE コマンドに特殊な空の項目を指定することによって可能になる。
USERINCLUDE jim
USERINCLUDE ""
は、 jim というユーザを含む行と、ユーザが指定されていない行を含めることになる。
もしファイルが、検索語 を含むときには、REQINCLUDE と REFINCLUDE は、やや直感とは異なる振る舞いをする。
適切な OS では、"REGEXP:" または "REGEXPI:" を表現の頭に付け加えて、包含と除外に対して正規表現が使える。これについては、別名の項ですでに相当ページを割いて説明をしたので、詳細については、そこを参照 して下さい。
もし全ての包含と除外について混乱が生じた時には、analog -settings を走らせることによって、あなたが指定したオプションが何を常に意味するかを見ることができます。
この分野に属するもう一対のコマンドがあります。FROM と TO コマンドです。これらにより、解析する期間が制限されます。これらのコマンドの最も簡単な使用方法は、FROM yyMMdd あるいは FROM yyMMdd:hhmm です。ここで、yy は西暦年度の下2桁を表し ( analog は西暦年度が1970年と2069年の間であると仮定しています )、MM は月を表し、dd は日にちを、hh は時間を、MM は分を表しています。従って例えば、1999年7月から2000年6月までのリクエストのみを解析するためには、以下の設定を用います。
FROM 990701
TO 000630
この代わりとしては、各成分の頭に + または - を付けて、プログラムが起動された時刻に相対的な時間を表すことができます。この場合には、日にちは2桁以上になることができます。これを使えば、以下のような設定ができます。
Alternatively, each of the components can be preceded by + or
- to represent time relative to the time at which the program was
invoked. In this case, the date can have more than 2 digits. This allows
constructions like
FROM -01-00+01 # 昨年度の明日の日付から
TO -00-0131 # 先月の終わりまで (先月が31日なくても大丈夫です)
FROM -00-00-112
TO -00-00-01 # 最近16週間の統計
FROM -00-00-00:-06+01 # 最近6時間の統計
FROM と TO コマンドに対するコマンド行の省略形、+F と +T があります。例えば、+T-00-00-01:1800 は、昨日の午後6時までの統計を取ります。-F と -T は、FROM OFF と TO OFF の様に、これらのコマンドの使用を止めます。
大部分のレポートに対して、INCLUDE と
EXCLUDE コマンドがあります。これらは、特殊なレポートから個々の行を取り除きます。従って例えば、以下のコマンド
REFREPEXCLUDE http://your.site.com/*
は、「リンク元URLレポート」からあなたの内部のリンク元を除外します。しかし、このコマンドでは、内部のリンク元は、「不成功リンク元レポート」、「リンク先レポート」、等からは除外されません。( これを実行するには、FAILREFEXCLUDE、
REFSITEEXCLUDE 等が必要です。) REFEXCLUDE コマンドと同様に、これらのリンク元があっても、ログファイルの他の解析は妨げられません。また、REFREPEXCLUDE は、レポートの最後の行の "残り" にリンク元を含みます。
これらのコマンド群の全部の一覧は以下の通りです。REQINCLUDE と
REQEXCLUDE; REDIRINCLUDE と REDIREXCLUDE;
FAILINCLUDE と FAILEXCLUDE; TYPEINCLUDE と
TYPEEXCLUDE; DIRINCLUDE と DIREXCLUDE;
HOSTREPINCLUDE と HOSTREPEXCLUDE; DOMINCLUDE
と DOMEXCLUDE; ORGINCLUDE と ORGEXCLUDE;
REFREPINCLUDE と
REFREPEXCLUDE; REFSITEINCLUDE と
REFSITEEXCLUDE; SEARCHQUERYINCLUDE と
SEARCHQUERYEXCLUDE; SEARCHWORDINCLUDE と
SEARCHWORDEXCLUDE; REDIRREFINCLUDE と
REDIRREFEXCLUDE; FAILREFINCLUDE と
FAILREFEXCLUDE; BROWSUMINCLUDE と
BROWSUMEXCLUDE; FULLBROWINCLUDE と
FULLBROWEXCLUDE; OSINCLUDE と OSEXCLUDE;
VHOSTREPINCLUDE と
VHOSTREPEXCLUDE; USERREPINCLUDE と
USERREPEXCLUDE; と FAILUSERINCLUDE と
FAILUSEREXCLUDE。もし、出力の別名 を使用しているときには、包含と除外は、別名を付ける前の名前に適用されます。
適切な INCLUDE と EXCLUDE コマンド内で、象徴的な言葉 pages を使うこともできる。非常によく使われるコマンド
REQINCLUDE pages
は、リクエストレポート中のページだけを含めるようにする。
analog は、PAGEINCLUDE と PAGEEXCLUDE と呼ばれるもう一つ別の対の INCLUDE/EXCLUDE コマンドを使って、どのファイルがページとして勘定されるか (従って、どのリクエストがページリクエストとして勘定されるか) を決定する。初期設定では、*.html、*.htm それにディレクトリ ( */ ) がページとして勘定される。しかし、以下のコマンドでこれを変えることができる。
PAGEINCLUDE *.ps,*.ps.gz
PAGEEXCLUDE sret1.html
(即ち、ポストスクリプトファイルと gzip で圧縮されたポストスクリプトファイルがページとみなされるが、sret1.html はページとはならない。)
もう一対の INCLUDE と EXCLUDE コマンドをこれから説明しよう。「リクエストレポート」と3つのリンク元レポート (「リンク元レポート」、「リダイレクションされたリンク元レポート」それに「不成功リンク元レポート」) 中で、analog は一覧に載せているファイルへのリンクを張ることができる。「リクエストレポート」には、LINKINCLUDE と LINKEXCLUDE というコマンドがあり、リンク元レポートには、REFLINKINCLUDE と REFLINKEXCLUDE があり、これらは、どのファイルがリンクを張られるかを正確に指定する。例えば、
REFLINKINCLUDE pages
は、3個のリンク元レポート中でページにリンクを張る。
最後の INCLUDE と EXCLUDE コマンドは、URL の最後の引数を含めるか除外するかを決める。しかし、これらにはやや込み入った事情が存在し、新しい章 でこれらについて述べる。
検索引数
時々、URL は?の後に引数を含みます。例えば以下の URL
/cgi-bin/script.pl?x=1&y=2
は、引数 x=1 と y=2 を渡して、プログラム /cgi-bin/script.pl を走らせます。( 時々サーバーは、ログファイルの別々の場所にこれらの引数を記録します。しかしもし LOGFORMAT コマンドの中の %q 項を使えば、analog はファイル名を上記のように翻訳します。)
これからすぐに 述べる ARGSINCLUDE と ARGSEXCLUDE のコマンドを使えば、analog は引数を読み込んだり無視したりできます。
しかし初期設定では全ての引数は読み込まれるようになっています。これが通常望まれることであり、実際これらのコマンドを使うことも無いでしょう。
引数が読み込まれたとしても、いつでもレポートに引数が現れるわけではありません。なぜなら analog は引数が十分にないとき、表示しないからです。
引数を見るためには、それに相当する ARGSFLOOR 変数を十分に小さい値にしなければなりません。
また、レポート内で検索引数が、参照されているファイルのすぐ下に箇条書きされています。このため、一時的にファイルの順番が狂います。N 項目数 を使用すればもっとはっきりします。
引数が読み込まれたと仮定すると、analog は、ファイル
/cgi-bin/script.pl?x=1&y=2 を
/cgi-bin/script.pl ( あるいは
/cgi-bin/script.pl?y=2&x=1 )と異なるファイルとみなします。リクエストレポート中では、異なる引数を持った /cgi-bin/script.pl の総数を見ているために、そのようには見えません。しかし、もし 包含と除外 あるいは エイリアス をそのファイルに対して適用したいなら、問題となります。
この理由は、例えば以下のコマンド
FILEINCLUDE /cgi-bin/script.pl
は、 /cgi-bin/script.pl?x=1&y=2 ファイルには 適用されない からです 。適用させるためには、代わりに以下のようなコマンドを使わなければならないでしょう。
FILEINCLUDE /cgi-bin/script.pl*
同様に
FILEALIAS /cgi-bin/script.pl /script.pl
は /cgi-bin/script.pl を変化させるが、/cgi-bin/script.pl?x=1&y=2 は変えません。これは上と同じように、
FILEALIAS /cgi-bin/script.pl?* /script.pl?$1
のようなものを使えばよいでしょう。
別のやり方は 、analog が検索引数を読み込まないようにさせることです。このようなことをするには、 ARGSINCLUDE と
ARGSEXCLUDE 、それに REFARGSINCLUDE と
REFARGSEXCLUDE と呼ばれるコマンドがあります。それらは前の章で議論した 他の INCLUDE と EXCLUDE コマンドと同じように動作します。 例えば、以下のコマンド
ARGSEXCLUDE /cgi-bin/script.pl
を与えられたら、analog はファイルの引数を無視し、/cgi-bin/script.pl を /cgi-bin/script.pl?x=1&y=2 とみなすでしょう。
他方では、もし
ARGSINCLUDE /cgi-bin/script.pl
が指定されたら、analog は引数を読み、/cgi-bin/script.pl?x=1&y=2 を /cgi-bin/script.pl とは異なるファイルとして扱うでしょう。
REFARGSINCLUDE と REFARGSEXCLUDE は、レファラーに対して同じ事をします。
技術的注意:ファイル名が、内蔵のかあるいはユーザ指定の別名 であるかどうかを判断する以前に、引数を含むべきかどうかの判断が先行します。従って、ログファイル中に現れる、別名でない正確な名称を使わなければなりません。
例えば、実際には以下の2つは同じファイルにもかかわらず、
ARGSINCLUDE /~sret1/script.pl は、
/%7Esret1/script.pl と一致するとみなしません。
これは ARGSINCLUDE あるいは ARGSEXCLUDE コマンド中で、 "ページ" を使えないことを意味します。なぜなら別名を付けた後では、ファイルがページかどうか分からないからです。
SEARCHENGINE と呼ばれる 関連したコマンドがあります 。もし、普通検索エンジンからの検索引数を伴うレファラーがあるなら、analog はどの項目が検索項目に相当しているか分かります。analog はこの情報を検索項目レポートと検索語レポートを作成するのに使います。例えば、次のレファラー
http://www.altavista.com/cgi-bin/query?pg=q&kl=XX&q=carrot+cake
を考えてみましょう。検索項目は q= にあり、従って適切な
SEARCHENGINE コマンドは、
SEARCHENGINE http://www.altavista.com/cgi-bin/query q
であるか更に良いのは、
SEARCHENGINE http://*.altavista.*/* q
として、異なる国の全てのミラーサイトを含むことである。
時々検索エンジンは、検索項目用に2つあるいはそれ以上の項目を持つ場合ある。この場合、以下の様にコンマで区切って全てを含めることができます。
SEARCHENGINE http://*.webcrawler.*/* search,searchText
出力の設定
これまでは、アナログがログファイルを読む時の制御用コマンドについて、主に話してきました。今度は、出力を設定するためのコマンドに移りましょう。
もしログファイルが 必要な情報を含んでいるときには、analog が表現できる32の異なるレポートがあります。それぞれのレポートは、以下のような短い名前と、コード文字または数字を持っています。
x GENERAL 全体の概要
m MONTHLY 月別レポート
W WEEKLY 週別レポート
D FULLDAILY 日別レポート
d DAILY 曜日別概要
H FULLHOURLY 時間別レポート
h HOURLY 時間別概要
4 QUARTER 15分間隔レポート
5 FIVE 5分間隔レポート
S HOST ホストレポート
Z ORGANISATION 組織レポート
o DOMAIN ドメインレポート
r REQUEST リクエストレポート
i DIRECTORY ディレクトリレポート
t FILETYPE ファイル種類別レポート
z SIZE ファイルサイズレポート
P PROCTIME 処理時間レポート
E REDIR リダイレクションレポート
I FAILURE 不成功レポート
f REFERRER リンク元レポート
s REFSITE リンク元サイトレポート
N SEARCHQUERY 探索語レポート
n SEARCHWORD 検索語レポート
k REDIRREF リダイレクトされたリンク元レポート
K FAILREF 不成功リンク元レポート
B FULLBROWSER ブラウザーレポート
b BROWSER ブラウザーの概要
p OSREP OSレポート
v VHOST 仮想ホストレポート
u USER ユーザレポート
J FAILUSER 不成功ユーザレポート
c STATUS 状態コードレポート
個々のレポートの詳細な意味とそれらを制御するコマンドの概要は、
Analog のレポート を見て下さい。
各レポートの出力を制御するのに
FIVE OFF
REFSITE ON
のような環境設定コマンドや、-5 または +s のようなコマンド行の引数が使われます。
また「全体の概要」を除くすべてのレポートを ALL ON や ALL OFF のコマンド、またはコマンド行の引数である +A や -A を用いて出力を制御することができます。
レポートの中の "Go To" の行を
GOTOS OFF
コマンドで出力を消すことができ、GOTOS ON で再び出すことできます。また GOTOS FEW で、"Go To" 行を、ページの先頭と最後に置くことができます。コマンド行の引数としては、GOTOS OFF は -X と簡単に書け、GOTOS ON は +X と書けます。
「全体の概要」中の括弧内の数字は、直近の7日間の値を示しています。即ち、TO 時刻以前の7日間、または TO の時刻が与えられていないときには、プログラムが始まった時刻以前の7日間を表しています。直近の7日間の値は、全ては必要ないが幾つかのリクエストがその7日間にあった場合に、通常レポートに含まれます。しかし、次のコマンドによって削除することもできます。
LASTSEVEN OFF
もちろん LASTSEVEN ON でそれらを再び出すことができます。
REPORTORDER コマンドでレポートの順番を変えることができます。以下の様に、全てのレポートのコード文字をあなたが望む順序で並べればよい。
REPORTORDER xcmdDhH45WriSoEItzsfKkuJvbB
以下のコマンド、
OUTPUT stats.htm
または +Ostats.htm のようなコマンド行の引数を使って、出力するファイル名を変えることができます。もし - または stdout というファイル名を使ったとしたら、出力は標準出力になり、スクリーンに出力されるでしょう。しかし Unix のユーザは、リディレクションを使って別のファイルに出力したり、パイプを通すかもしれません。また
OUTFILE /usr/bin/httpd/htdocs/stats.html # Unix
OUTFILE "Hard Disk:Server Apps:WebSTAR:Analog:Report.html" # Mac
のような絶対パス名を使うこともできます。
時には、OUTFILE のファイル名に日付を含むことは都合が良いことがあります。ファイル名の中に以下のコードを含むことで、これを実現することができます。
%D 日付
%m 月の名称
%M 数値の月
%y 2桁の年
%Y 4桁の年
%H 時
%n 分
%w 曜日
例えば
OUTFILE stats%y%M.html
は stats9905.html のようなファイル名を生成します。使用される日付は、TO で使用される日付です。そこで指定されていなければ、プログラムが起動した時刻になります。
さて、いくつかのとても重要なコマンドについて述べます。最初は出力形式を変えられる OUTPUT コマンドです。HTML、ASCII、COMPUTER の3つの重要な出力形式があります。最初の形式は、Web ページを出力し、2番目は単純なテキストファイル(これは、例えば、メールで送ることもできる)を出力し、3番目は、コンピューターで読むのに適切な出力をします(スプレッドシートに読み込むために、また例えば、グラフィックパッケージで後処理を行うのに便利です)。後に、 コンピュータが読み込み可能な出力形式 という別章があります。以下の
OUTPUT ASCII
のようなコマンドはもちろん、コマンド行の引数として +a を付ければ ASCII スタイルを、-a を付ければ HTML 出力形式を選ぶこともできます。もし キャッシュファイル を出力しているなら、OUTPUT NONE で出力を抑えることもできます。
次に、出力の言語を変えることができます。それには2つの方法があります。一般的な方法は LANGUAGE コマンドを使います。例えば
LANGUAGE FRENCH
はフランス語で出力します。現在、有効な言語は CATALAN, CHINESE, CZECH, DANISH,DUTCH, ENGLISH, US-ENGLISH,FINNISH, FRENCH, GERMAN, GREEK,HUNGARIAN, ICELANDIC, ITALIAN,JAPANESE, KOREAN, LATVIAN,LITHUANIAN, NORWEGIAN (Bokmål),NYNORSK, POLISH, PORTUGUESE,BR-PORTUGUESE, ROMANIAN, RUSSIAN,SERBOCROATIAN, SLOVAK, SLOVENE,SPANISH, SWEDISH と TURKISH です。
注意:これらの言語の全ては、analog のバージョン3で有効ですが、大部分はバージョン4用にはまだ翻訳されていないので、このバージョンでは使えません。言語ファイルは lang ディレクトリに入っており LANGFILE コマンド(次の段落を見よ)で選ぶことができますが、言語ファイル中には、いくつかの英語の熟語が含まれています。言語ファイルが翻訳されれば、それらは analog のホームページ に加えられていきます。
もう一つの方法は LANGFILE コマンドを使う方法です。これはもしあなたが新しい言語を analog のホームページ からダウンロードしようとしたり、自分で翻訳しようとしたり、いくつかの言葉や熟語、または日付や時間の出力形式を変更しようとするときに便利です。
LANGFILE コマンドは、新しい言語に対してさまざまな言葉や熟語が含まれているファイルがどれであるか示しています。例えば、
LANGFILE lang/guarani.lng
コマンドは、このファイルから読み込むことを表しています。(もしファイルが analgo が動作しているディレクトリかフォルダー内に無いときには、ディレクトリ名も含めなければならないことに注意してください。特に、他の言語と同じファイルにあるとは限りません。)
またいくつかの言語では ドメインファイル が使用できます。これらは通常 LANGUAGE コマンドによって自動的に選ばれます。しかし DOMAINSFILE コマンドを使って、異なるドメインファイルを使うこともできます。
またいくつかの言語では フォームインターフェース の翻訳もあります。
もしあなたが他の言語に翻訳して頂けるなら、わたしは非常に感謝します。しかし、他の誰も同じ言語に翻訳していないことを確かめるために、最初に私に連絡することをお勧めします。英語の言語ファイルには、新しい言語に翻訳する際の簡単な指示が含まれています。
時々 あなたのサーバが、あなたと同じ時間帯にないときがあるか、または少なくともログファイルに異なった時間帯(例えば GMT)の時刻を記録することがあるかもしれません。現在地での時刻における統計を取るために、時刻を分単位で変えられる LOGTIMEOFFSET と呼ばれるコマンドがあります。LOGFORMAT コマンドと一緒に使うと、同じ 環境設定ファイル内の 後に 現れるログファイルにだけ影響を与えます。
このコマンドを使うときには、注意しなければなりません。
異なる時間帯の異なる世界で使われている夏時間のため、analog は、異なる時間帯の間
を変換しようとしません。1年の異なる時間に対して、正しい時間差を設定するのはあなたの責任です。例えば、あなたはシカゴに居るが、サーバは GMT (世界標準時)で記録しているとすると、2種類の異なる時間差を設定する必要があるでしょう。一つは夏に−5時間であり、冬には−6時間になります。あなたは、ログファイルを適切な場所で2つに分け、以下のようなコマンドを発行する必要があるでしょう。
LOGTIMEOFFSET -300
LOGFILE summer*.log
LOGTIMEOFFSET -360
LOGFILE winter*.log
これに関連して、TIMEOFFSET と呼ばれるコマンドがある。これは、現地時間を取り入れるために、(Web サーバが動作しているコンピュータではなく)analog が動作しているコンピュータの時間をどれくらいずらせばよいのかを決定する。
また、NOROBOTS と呼ばれているコマンドがあり、それは、ロボットのMETA タグ に従っているロボット検索エンジンが、あなたのサーバの出力を索引付けしたり、リンクを辿ったりするのを止めてくれる。通常はこのコマンドは ON になっているが、ロボットがそういう風にあなたの他のページを探し出すのを気にしないなら、NOROBOTS OFF と指定することもできる。ロボットを徹底的に排除するなら、統計ページを
robots.txt
ファイルに登録しておけばよいことに注意してください。しかしながら、このファイルはサーバ管理者によって常に最新の状態にしておかなければならない。
審美的に重要な話であるが、もう少し幾つかの出力に影響を与えるコマンドがある。最初に、レポートを生き生きとさせるための種々の画像ファイルの場所を決める、IMAGEDIR というコマンドがある。場所は、相対的か絶対的な URL で指定される。例えば、以下のように与えられる。
IMAGEDIR img/ # 出力と同じディレクトリ内にある場合
IMAGEDIR /img/ # Web サーバのルートディレクトリからの位置
出力の最上部の行に影響を与える3このコマンドがある。初めに、LOGO コマンドは、analog のロゴマークを他の画像に(例えば、あなたの機関のロゴ)に置き換えることができる。以下の様にすれば良い。
LOGO picture.gif # このファイルに対して
LOGO /images/picture2.gif # 異なるファイル
LOGO none # ロゴマーク無し
ロゴマークは、スラッシュマークで始まらない限り、あるいは :// を含まない限り、IMAGEDIR 内にあると仮定されている。
次に、HOSTNAME と HOSTURL コマンドがある。これらは、題名の行の終わりの「名称」と「リンク」に影響を与える。例えば、以下の様に指定すると、
HOSTNAME "Stephen Turner"
HOSTURL http://www.statslab.cam.ac.uk/~sret1/
"ウェブサーバの統計
Stephen Turner"
という結果が得られる。
HOSTURL に対して、none と指定して、リンクを張らないこともできる。analog は、通常必要ならば、ホスト名中の文字を HTML の文法に則って翻訳する。HTML のアクセントつきの文字のような特殊文字を含めるためには、それらの文字の前にバックスラッシュをつける必要がある。以下のようにである。
HOSTNAME "M\üller & S\öhne"
また HEADERFILE と FOOTERFILE
と呼ばれるコマンドがある。これらによって、出力ファイルの最上部と最下部に挿入するファイルを指定することができる。以下の様に指定すると、
HEADERFILE none
以前に指定されたヘッダーファイルを取り消すことができる。
出力にスタイルシートを指定する STYLESHEET というコマンドがある。このコマンドは、色等を指定することができる(スタイルシートの書き方は、http://www.w3.org/Style/css/ を参照せよ)。例えば、
STYLESHEET /housestyle.css
STYLESHEET none # 上記の取り消し
これに関連して、SEPCHAR、REPSEPCHAR、それに DECPOINT と呼ばれる3このコマンドがある。これらは、それぞれ、数値の3桁区切り文字、レポート中の列に現れる数値の3桁区切り文字、それに小数点文字を指定する。例えば、フラン人のユーザは、以下の様に指定するであろう。
SEPCHAR " "
REPSEPCHAR none
DECPOINT ,
こうすると、"3000と4分の1" は、文章中では "3 000,25" のようになり、レポート中では "3000,25" のようになる。
RAWBYTES と呼ばれるコマンドがある。もしレポート中で正確なバイト数を知りたかったら、RAWBYTES ON と指定すればよいし、
あるいはその代わりに、もしキロバイトやメガバイトのように適切な単位の数値が欲しいときには、RAWBYTES OFF とすればよい。
最後に、ページの幅を決める HTMLPAGEWIDTH とか ASCIIPAGEWIDTH と呼ばれるコマンドがある。明らかに、前者は出力形式が HTML のときに使われるし、後者は ASCII 出力形式のときに使用される。出力はこのコマンドで指定される幅に収まるとは保証されないが、時間の画像をの幅を選択するとき、
アルファベット順にホストレポートを並べようとするとき、水平線を書くとき、それに文章を書くときに、analog は注意を払っている。
以下のような題名のついた特殊なレポートの出力の設定については、何章かが書かれている。時間レポート、他のレポート それに
階層的レポート。
時間レポート
この章は、時間レポートの出力を制御するコマンドについて述べます。これらには、8つのレポートがあり、消費時間の経過を表しています。それらのうちの6つは、特定の時間での消費時間を表しており、一方「時間別概要」と「曜日別概要」は、レポートの全期間にわたる、一日のあるいは一週間の内で特別な時間での(平均ではなく)総合的な活動を表しています。
それぞれの時間レポートは、リクエストを示す列、ページ毎のリクエスト、及びその時間に転送したバイト数を、以下の文字コードを使用して表しています。
- R
- リクエスト数
- r
- リクエスト数の割合
- P
- ページリクエスト数
- p
- ページリクエスト数の割合
- B
- 転送したバイト数
- b
- バイト数の割合
どのレポートにどの列が表れるかは、種々の COLS コマンドによって制御されます。例えば
HOURCOLS Pb
というコマンドは、「時間別概要」の列として、ページリクエスト数とバイト数の割合をこの順番で含むように analog に告げます。
他の COLS コマンドには、MONTHCOLS、WEEKCOLS、
DAYCOLS (曜日別概要)、FULLDAYCOLS (日別レポート)、
FULLHOURCOLS (時間別レポート)、QUARTERCOLS と
FIVECOLS があります。また、TIMECOLS コマンドもあり、特定の列を含むよう全ての時間レポートに指示します。
同様に、 analog はリクエスト数、ページリクエスト数、バイト数により時間レポートを棒グラフで表すことができます。これは GRAPH コマンド群によって制御されます。そのため、例えば、
FULLDAYGRAPH P
はページリクエスト数による「日別レポート」の棒グラフの表示を実行します。また、このコマンドは、最も混んでいた時間帯が analog がどこかを判断して、レポートの最後の行に与えます。
小文字を使えば、標準の赤い棒グラフに代わって ASCII 文字を用いた棒グラフを書く。(この方が短い出力になり、ASCII 出力形式のとき、あるいは画像を使用しないブラウザで表示されたとき、とにかくどういう形になるかを与える。)従って、例えば、
FULLDAYGRAPH b
は画像を使わずに、バイト数による「日別レポート」を表します。その他の GRAPH コマンドは MONTHGRAPH、WEEKGRAPH、
DAYGRAPH, HOURGRAPH, FULLHOURGRAPH,
QUARTERGRAPH と FIVEGRAPH です。またそれらの全てを同時にセットする ALLGRAPH コマンドもあります。
種々の 画像表示が可能です。
それらは、BARSTYLE コマンドによって以下のように制御されます。(もし画像を表示しないブラウザで見れば、それらは全て同じに見えるでしょう。)
BARSTYLE a
BARSTYLE b
BARSTYLE c
BARSTYLE d
BARSTYLE e
BARSTYLE f
BARSTYLE g
BARSTYLE h
初期設定は b です。
画像表示のとき、時刻の順番通り(早い時間から)か、逆順(最近の時間から)のどちらかの順番で表すことができます。 以下のようなコマンドを使用してください。
MONTHBACK ON # 逆順月次レポート
WEEKBACK OFF # 昇順週別レポート
その他の BACK コマンドは FULLDAYBACK、
FULLHOURBACK、QUARTERBACK と FIVEBACK です。
順番の種類を混ぜると混乱しがちとなり(もしそれを行うと、analog に警告されるでしょう)、そのため通常はそれらのコマンド全てを一括して設定する ALLBACK コマンドを使う事になるでしょう。
より詳細な時間レポートのために、たいてい最後の何時間かのリストだけが必要になります。(この3年間の5分毎の統計?? そんなものが必要とはは思いません。)
そのため analog は、時間レポートの中で何行を必要とするかを指示するためのいくつかの ROWS コマンドを備えています。例えば、
QUARTERROWS 96 # 最後の日だけ価値がある
MONTHROWS 0 # 0 は、何の制限も無いことを意味する。即ち、全ての時間を表示する。
その他の ROWS コマンドは、WEEKROWS、
FULLDAYROWS、FULLHOURROWS と FIVEROWS です。
ROWS コマンドが与えられていても、レポートの最後の行には、表示されている行の中で最も混雑した時間ではなく、今までの期間の中で最も混雑した時間を表示している。
画像を描くため、ASCII 形式の出力や画像表示無しのブラウザで使用される文字は、MARKCHAR コマンドを使って決められる。
例えば、
MARKCHAR =
は、等号を使えという意味である。
次のコマンド
MINGRAPHWIDTH は、名ばかりの最小の画像の大きさを決める。例えば、以下の様に設定すると、
MINGRAPHWIDTH 10
画像は、PAGEWIDTH で決められた幅をたとえ越しても、10文字分までの幅を取り得る。
もう一つ時間レポートに影響を与えるコマンドがある。どの曜日が一週間の始めか指定することができる。これは、「日別レポート」、「曜日別概要」、それに「週別レポート」の表示に影響する。例えば、地域の学生新聞が金曜日ごとに新しい記事をWebに載せているとすると、彼らは以下の様に彼らのレポート用に指定したいであろう。
WEEKBEGINSON FRIDAY
次章では、時間に関連しないレポート に関係したコマンドについて述べるでしょう。
他のレポート
この章では、時間に関連しないレポートについて論じます。既にいくつかのコマンドを見てきたにもかかわらず、これらのレポートを制御するコマンドはまだ沢山あります。
初めに、これらのレポートは、まさに時間に関連したレポートのような COLS コマンドを持っています。(これらのコマンドの使いかたは 時間レポート の章をみてください。) 時間に関連しないレポートでは、2つの追加項目があります。即ち最後のアクセス日である D とリストの中の項目数である N です。例えば、
REQCOLS NRD
はリクエストレポートの中のファイルを勘定し、それぞれのリクエスト数とそれぞれが最後にリクエストされた時の時間を記述します。時間に関連しないレポートにおける全ての
COLS
コマンドの一覧は、HOSTCOLS, ORGCOLS,
DOMCOLS,
REQCOLS, DIRCOLS, TYPECOLS,
SIZECOLS, PROCTIMECOLS, REDIRCOLS,
FAILCOLS,
REFCOLS, REFSITECOLS, SEARCHQUERYCOLS,
SEARCHWORDCOLS, REDIRREFCOLS,
FAILREFCOLS, FULLBROWCOLS (Browser Report),
BROWCOLS (ブラウザーの概要), OSCOLS,
VHOSTCOLS, USERCOLS, FAILUSERCOLS と
STATUSCOLS です。
全てのレポートの中で、これら全ての列が認められるわけではないのですが、間違った使い方をすれば、analog は注意を発するでしょう。
次に、どのようにしてレポート結果を並べるかを指定するために、 SORTBY コマンドの使い方を知ることが必要です。レポートの並べ方に6つの方法があります。REQUESTS, PAGES (即ち、ページリクエスト),
BYTES, DATE, ALPHABETICAL と
RANDOM (非常に長いレポートの場合には、並べ替えをしないのはしばしば役に立ちます)。例えば、
HOSTSORTBY ALPHABETICAL
というコマンドはホストレポートをアルファベット順に並べます。そのほかの SORTBY コマンドには、 ORGSORTBY, DOMSORTBY, REQSORTBY,
DIRSORTBY,
TYPESORTBY, REDIRSORTBY, FAILSORTBY,
REFSORTBY, REFSITESORTBY, SEARCHQUERYSORTBY,
SEARCHWORDSORTBY, REDIRREFSORTBY,
FAILREFSORTBY, FULLBROWSORTBY, BROWSORTBY,
OSSORTBY,
VHOSTSORTBY, USERSORTBY, FAILUSERSORTBY と
STATUSSORTBY があります。再び、全てのレポートの中で全ての分類の仕方が可能というわけではないのですが、違法な使い方をしたら、analog に注意されるでしょう。
SORTBY ALPHABETICAL に関係のある有名なバクがあります。レポートは、OUTPUTALIAS が適用される前に、分類されてしまいます。これは、もし OUTPUTALIAS がそのレポート中で指定されているなら、レポートは正しくは分類されない、ということを意味します。
たいていのレポートで FLOOR を指定することもできます。このコマンドは、レポートに記入される前に、その項目がどれくらい大きさを持っているかということを指定します。層(フロア)を指定する方法は数多くあり、ここでは DOMFLOOR (ドメインレポート FLOOR )コマンドを使用して、箇条書きにしてみます。本来これらは、層のレベルを示す数値と層の意味を表す1文字が後に続きます。
DOMFLOOR 1000r # 少なくとも1,000件のリクエストがあった全てのドメイン
DOMFLOOR 1000p # 少なくとも1,000件のリクエストがあったページ
DOMFLOOR 1000000b # 少なくとも1,000,000バイトのデータ転送量
DOMFLOOR 1Mb # 少なくとも1メガバイト
DOMFLOOR 0.5%r # 0.5% のリクエスト( %p や %b に対しても同様 )
DOMFLOOR 0.5:r # どのドメインに対しても 0.5% の最大
# リクエスト数( :p や :b に対しても同様 )
DOMFLOOR 970701d # 1997年1月1日 以来の最終アクセス日
DOMFLOOR -00-01-00d # 最近の月からの最終アクセス日
# ( FROM と TO コマンドのマニュアルを見よ )
DOMFLOOR -100r # 最上位100位以内のリクエスト数のあったドメイン
# ( -100p, -100b, -100d に対しても同様 )
そのほかの FLOOR コマンドに HOSTFLOOR,
ORGFLOOR,
REQFLOOR, DIRFLOOR, TYPEFLOOR,
REDIRFLOOR, FAILFLOOR, REFFLOOR,
REFSITEFLOOR, SEARCHQUERYFLOOR,
SEARCHWORDFLOOR, REDIRREFFLOOR,
FAILREFFLOOR, FULLBROWFLOOR, BROWFLOOR,
OSFLOOR,
VHOSTFLOOR, USERFLOOR, FAILUSERFLOOR と
STATUSFLOOR があります。すべての FLOOR が全てのレポートで認められるわけではないのですが、間違った使い方をすれば、analog は注意をするでしょう。
コマンドラインから各レポートのオン・オフする方法については、コード文字 を使うやり方を述べました。実際、同じコマンド中で SORTBY と FLOOR を指定することができます。リンク元サイトレポートの例を見てみましょう。もし(レポートを取るために) +f に一文字を付けて使うなら、以下のコードに従って並べ方が表されます。
- r
- REQUESTS
- p
- PAGES
- b
- BYTES
- d
- DATE
- a
- ALPHABETICAL
- x
- RANDOM
次にあるいは別の方法として、層を指定するために、上記の FLOOR 書式の一つを使うことができます。もし SORTBY を指定するなら、層の指定の最後の一文字を省くこともでき、analog はデータの並べ方によってそれを推測します。それがデータの並べ方なら、層はページまたはバイトによる分類であるし、そうでなければリクエスト数による分類でしょう。以下に4つの例があります。
- +fp
- は参照元サイトレポートを出したり、ページリクエストによってそのデータを並べ替えることを意味しますが、その層については何も指定しません。
- +f100r
- は少なくとも100のリクエストを持つ全ての参照元サイトを示すことを意味しますが、データを並べる方法については何も書き込みません。
- +fb10000
- は少なくとも10,000バイトを持つ全ての参照元サイトを示すことを意味し、バイトによってデータを並べます。
- +fa-000101d
- は今年アクセスした全ての参照元サイトを示すことを意味し、アルファベット順にデータを並べます。
私達は既に、時間に関連しないレポートに記載されてい項目に影響を与えるコマンドを見てきました。出力用の INCLUDE と EXCLUDE コマンドは、それぞれのレポートから省略される行を指定しており、OUTPUTALIAS コマンドは、名称が一覧に出る前にそれらに別名をつけて、出力用に使われる。
またリクエストレポートと3個の参照レポート中で、リンク先を制御するコマンドに LINKINCLUDE,
LINKEXCLUDE,
REFLINKINCLUDE,
REFLINKEXCLUDE もあります。これらについての説明を見る必要があるかもしれません。
リクエストレポート中のリンクに影響を与える、もう一つのコマンドがあります。
BASEURL コマンドは目標のリンク中のURLに、余分の文字列を頭に付け加えます。例えば、以下のコマンドを使用した後、
BASEURL http://www.statslab.cam.ac.uk
/~sret1/ は、 /~sret1/ ではなく、
http://www.statslab.cam.ac.uk/~sret1/ にリンクを張ります。
これは照会したいサーバーの統計を、異なったサーバー上で表示したいときにとても便利です。もしファイルを http://www.statslab.cam.ac.uk/~sret1/ のように表示したいならば、そのアドレスにリンクを張るよりもむしろ、LOGFILE コマンドを代わりに使用して、第2引数を利用すればできます。
次の章では、この章のコマンドに密接に関係した
階層構造をもったレポート を生成するコマンドについて説明します。
階層レポート
時間に依存しない幾つかのレポートは、階層(ツリー)構造を持っている。そのため、例えば、ドメインレポートの各ドメインは、その下にサブドメインを持ち得るし、これもまたサブ・サブドメインを、...、持ち得る。この章では、階層構造を持つレポートを取り扱うコマンドについて述べる。
最初に、一覧にされたレポートの各項目をあなたが制御できる必要がある。このためには、SUB の付いたコマンドを使う必要がある。従って、例えば次のコマンド、
SUBDIR /~sret1/*
は、「ディレクトリレポート」が私のファイルの合計の項目を含むだけではなく、私の各サブディレクトリに対する各項目も含むであろう。以下の様なものになろう。
29,111: /~sret1/
10,234: /~sret1/analog/
5,179: /~sret1/backgammon/
11,908: /~steve/
コマンド中に1個以上の * を含むことができる。例えば、
SUBDOMAIN *.*
は、全体の「ドメインレポート」を2階層深く表示する。
SUB コマンドを指定すると、全ての中間層は自動的に含まれる。従って、例えば、
SUBDOMAIN statslab.cam.ac.uk
の後では、cam.ac.uk と ac.uk も、「ドメインレポート」に含まれるし、*.*.ac.uk の指定の後では、*.ac.uk も含まれることになる。
以下に4個の SUB コマンドの例を挙げる。
SUBTYPE *.gz # 「ファイル種類別レポート」中で
SUBBROW */* # 例えば、「ブラウザーの概要」中での Mozilla/4
SUBBROW Mozilla/*.* # Mozilla にマイナーなバージョン番号を付ける
REFDIR http://search.yahoo.com/* # 「リンク元レポート」
SUBORG *.aol.com # 「組織別レポート」
SUBORG *.*.com # 全ての .com を分解する
SUBDOMAIN レポート(しかし他はなんでもない)には、サブドメインを表現する2番目の引数を含むことができる。例えば、以下の様になる。
SUBDOMAIN cam.ac.uk 'University of Cambridge'
このときこのサブドメインは、「ドメインレポート」にその翻訳と一緒に一覧される。また、数値で表したサブドメインを使うこともできる。例えば、以下のようである。
SUBDOMAIN 131.111 'University of Cambridge'
もしサブドメインがアルファベット順に整列された時、数値のサブドメインも数値の順ではなくアルファベット順に整列される。これが問題になるとは、私には思えない。
もし LOGFILE に2個目の引数を付けたなら、SUBDIR には別な使用法がある。/index.html というファイルを http://www.mycompany.com/index.html と翻訳したとしよう。すると、以下のコマンド
SUBDIR http://*/*
は、ディレクトリレポートを正しい形にする適切な指定である。
各レポートの下の階層は、一番上の階層に対して、既に見たのと全く同じように働くコマンドを持つ。これらのコマンドは、SUBDIRFLOOR、SUBDOMFLOOR、SUBORGFLOOR、SUBTYPEFLOOR、SUBBROWFLOOR そして REFDIRFLOOR;それに SUBDIRSORTBY、SUBDOMSORTBY、SUBORGSORTBY、SUBTYPESORTBY、SUBBROWSORTBY そして REFDIRSORTBY である。
下の階層の項目は、階層的レポートに以下の条件の時に一覧にされる。もしその項目が sub-FLOOR 以上にあり、かつ SUB が付いたコマンドに含まれ、かつ INCLUDE または EXCLUDE コマンドにより除外されておらず、かつ 直近の親が一覧に含まれているという条件のもとである。例えば、以下の命令
SUBDIR /*/*/
SUBDIRFLOOR -3r
SUBDIRSORTBY REQUESTS
は、各ディレクトリ下の大部分のリクエストに対して、3つのサブディレクトリを一覧にする。SUBDIRFLOOR 1:r は、どの 最上層 のディレクトリに対する最大のリクエスト数の最低1%のリクエストを生じたどのサブディレクトリも一覧にするでしょう。
3個のファイルレポート (リクエストレポート、リダイレクションレポートそれに 不成功レポート) それに 3個のリンク元レポート (リンク元レポート、リダイレクションされたリンク元レポート それに 不成功リンク元レポート) は、完全には階層的ではないが、参照したファイル (引数が読み込まれたと仮定して: ARGSINCLUDE コマンドを参照のこと) の下の 検索語 と共に一覧が出力される。そのため、これらは sub-FLOOR と sub-SORTBY コマンドに似た命令を持つ。即ち、REQARGSFLOOR、REDIRARGSFLOOR、FAILARGSFLOOR,
REFARGSFLOOR、REDIRREFARGSFLOOR そして
FAILREFARGSFLOOR; それに REQARGSSORTBY、
REDIRARGSSORTBY、FAILARGSSORTBY、
REFARGSSORTBY、REDIRREFARGSSORTBY そして
FAILREFARGSSORTBY である。同じ事が、OS のマイナーバージョンを含んだ「OSレポート」に対しても適用される。この場合には、SUBOSFLOOR と SUBOSSORTBY を持つ。
階層的レポートの下層では、一時的に最上層が見えないことがある。これは意図的であるにもかかわらず、レポートが乱れているように見える。もし、例えば「リンク元レポート」にたくさんの検索引数がある場合のように、たくさんの下層がある場合には、N 列 を含めることが、綺麗に見せるコツである。
以上で、出力の制御コマンドの全てを尽くしている。さて、ドメインファイル から始まる幾つかの他の話題に移ろう。
ドメインファイル
ドメインファイルは、国はそれぞれのドメインによって表されているということを、analog に伝えます。以下のコマンドによって、ドメインファイルの場所を analog に伝えることができます。
DOMAINSFILE lang/mydomains.tab
使用している言語のドメインファイルが存在するとき、自動的に選ばれるので、通常このコマンドは必要ありません。しかし、もし新しい言語でドメインファイルを使いたいときには、DOMAINSFILE コマンドは役に立ちます。
もしドメインファイルを持っていないなら、http://www.statslab.cam.ac.uk/~sret1/analog/ukdom.tab からダウンロードできます。これは以下のように、各行に、ドメインコード、数字、国名が続きます。
ad 2 Andorra
ae 3 United Arab Emirates
[...]
普通、人はドメイン名をアルファベット順に並べるのを好みますが、必ずしもそうする必要はありません。
数値は、「組織レポート」用に使用され、 "組織" が何層目にあるかを示しています。例えば、ホスト名 www.sta.ad を考えて見ましょう。この組織は、sta.ad 、即ち2層目にあり、アンドラ王国は上記のリストで数値2を持っています。しかし、UAE (アラブ首長国連邦)では、ホスト名は www.economy.gov.ae の様になる。階層にはもう一つのレベルがあり、従って UAE では3層目に組織名を持っています。(アンドラ王国では、sta が組織名であり、UAE では、economy が組織名になっており、両国とも www がホスト名である。)
この表し方にはいくつかの問題があります。いくつかの国々は2と3の両方の層に組織名を持っています(例えば、asaspace.at と univie.ac.at)。この場合、私は、より大きい数字を使って、積極的な間違いよりも消極的な間違いを選んでいます。(要するに、異なる数値がある場合には、大きい数値を取るということである。)(またもう一度正しいものにする修正の仕方がある。3層以上のホスト名からは、最初の項は必ず取り除くやり方です。)他の国々に対しては、層の数が幾つであるべきかは、私は詳しい知識を持ち合わせていない。もしあなたがこの数値についての何らかの情報をまたは修正をお持ちのときには、私にお知らせください 。
HTML の特別の文字をドメインファイル中で使いたいときには、以下の例の様に、それらの前にバックスラッシュを付けなければなりません。
am Arm\énie
ドメインファイル中に存在するドメイン名だけが、「ドメインレポート」中で表現されることになる。残りは、多分見せかけの名前であり、一まとめに "未知のドメイン名" と表わされるでしょう。もし デバッグ をオンにしているときには、どのドメインが未知であるかわかるでしょう。
ドメインファイル中でハッシュ記号(#)で始まる行は、注釈とみなされます。
コンピュータが読み込み可能な出力形式
ここでは、コンピュータが読み込み可能なテキスト出力形式について説明します。以下のコマンドによって、この出力形式を選ぶことができます。
OUTPUT COMPUTER
この形式は、例えば、スプレットシート(表計算用ソフト)や画像作成ツールの後処理で読み取りやすく作られています。
出力の各行は、特別な文字によって各項目に分けられます。COMPSEP コマンドによってこの特殊文字を指定できます。例えば、
COMPSEP ,
は CSV (コンマで区切られた値)形式です。出力中に現れ得る文字を使わないようにします。例えば、1個のスペースあるいは2個のスぺースはふさわしくないでしょう。
前もって整えられた出力の各行は、その行の所属しているレポートを表す1文字から始まります。(各レポートのコード文字は、出力の設定 に掲載されています)。それに続いて、このレポート中の残りの列を表す項が続きます(普通、RrPpBbD を使う)。それから、数値とその項目名があります。時間は実際、いくつかのフィールドをふさぎます:年、月、日、時間、分、あるいは時間見分けるのに必要なもの。
大部分のレポートの最初の行は、通常の列を表す文字の代わりに f があります。それに続いて、レポートのフロアがきますが、それは FLOOR コマンド用の形式で書き、またそれに続いて、以下のコード文字を用いた SORTBY コマンドが来ます。
- r
- REQUESTS
- p
- PAGES
- b
- BYTES
- d
- DATE
- a
- ALPHABETICAL
- x
- RANDOM
全体の概要はすこし異なります。最初の x の後に、その行が何を含んでいるかを表す2文字のコードが続きます。可能なコードは以下の通りです。
- VE
- analog のバージョン番号
- HN
- HOSTNAME
- HU
- HOSTURL
- PS
- プログラムの開始時刻
- FR
- 最初のリクエスト時刻
- LR
- 最後のリクエスト時刻
- E7
- 最近7日間の最終時刻Time last 7 days ends
- SR
- 成功リクエスト件数
- S7
- 最近7日間の成功リクエスト件数
- PR
- 成功ページリクエスト件数
- P7
- 最近7日間の成功ページリクエスト件数
- FL
- リクエストエラー件数
- F7
- 最近7日間のリクエストエラー件数
- RR
- リダイレクトされたリクエスト件数
- R7
- 最近7日間のリダイレクトされたリクエスト件数
- NC
- 状態コードの無いログファイル行数
- C7
- 最近7日間の状態コードの無いログファイル行数
- NF
- 異なるファイルへのリクエスト件数
- N7
- 最近7日間の異なるファイルへのリクエスト件数
- NH
- 異なるホストからのリクエスト件数
- H7
- 最近7日間の異なるホストからのリクエスト件数
- CL
- ログファイルの壊れた行数
- UL
- ログファイルの除外された行数
- BT
- データ転送量
- B7
- 最近7日間のデータ転送量
キャッシュファイル
analogは キャッシュファイル にログファイル中の いくつか のデータを保管する能力があります。従って、そのログファイルは重要なデータを失うことなく破棄することができます。
大部分の人には、キャッシュファイルは必要ないでしょう。gzip の様な標準圧縮ソフトを使用してログファイルを圧縮することで十分でしょう。ログファイルの圧縮は、非常に多くの文字列の繰り返しにとても効果的です。私は、実際に約12倍の圧縮率を得ました。これは、多くの情報を失うことなく、あなたのファイルスぺースの問題を解決するでしょう。
このキャッシュファイルは、データの事後処理や、スプレッドシートに読み込むのに、最適な書式ではありません。この目的のためには、コンピュータが読み込み可能な出力 を使うべきです。
もしこの先、キャッシュファイルを使うなら、何が記録され、何が記録されないかを理解しておくことはとても重要です。キャッシュファイルからログファイル中の全てを復元することは 不可能 です。キャッシュファイルは、各ホストと各ファイルへの総リクエスト数についての情報を含みますが、例えば、どのファイルがどのホストによって読み込まれたかについての情報は含みません。(これを再現するためには、キャッシュファイルの大きさは、圧縮ログファイルと同じディスクスペースが必要になるでしょう。)従って、後に1つのファイルだけを見て、どのホストがそのファイルを読んだかを知ることはできません。同様に、FROM や TO コマンドを使って、日にちでファイルやホストを限定することもできません。
要約すると、キャッシュファイルを作るときに、全ての包含と除外を実行しておくべきです。もし、異なる包含と除外の組が欲しいなら、同じログファイルからいくつかのキャッシュファイルを作るべきです。後で、余分の包含と除外を正確に適用することはできません。
その他のあまり重要でない幾つかの事柄:時間に関する失敗したリクエストの型とリダイレクトされたリクエストは、キャッシュファイルに記録されません。そのため、総数が依然として正しいのにもかかわらず、必然的に最後の7日間の総計は低く見積もられてしまいます。そして時間は、5分間隔でのみ記録されます。
キャッシュが保存されるべきファイルを、CACHEOUTFILE で指定することで、キャッシュファイルを作ることができる。以下の設定、
CACHEOUTFILE none
により、キャッシュを保存しなくなります。あなたが、OUTPUTNONE を指定しない限り、キャッシュの出力と同時に通常の出力も得られます。上書きを避けるため、CACHEOUTFILE を既にあるファイル名に設定してはいけません。(以下のことには責任を持てません:ある幾つかのシステムでは、競合条件により、しばしばこの別設定が効かない可能性があります。また他のシステムでは、書き込み可だが読み込み可ではないときは、上書き可になる可能性があります。)OUTFILE について以前述べられたと同じように、日付を CACHEOUTFILE のファイル名に含めることができます。
CACHEFILE を使うかあるいは +U コマンド行のオプションを使えば、以前に作成されたキャッシュファイルを読み込むことができる。LOGFILE コマンドの時と同様に、コンマとワイルドカードを使い数個のキャッシュファイルを読み込むことができ、UNCOMPRESS コマンドの仕組みを使えば、圧縮されたキャッシュファイルを読むこともできる。キャッシュファイルもログファイルも読み込みたくない時には、あからさまに LOGFILE を none に設定しなければいけないことに注意してください。
analog がキャッシュファイルを読む時、できる限り包含と除外を守るが、項目名に対するエイリアス(別名)はもはや適用しません。(これは2重のエイリアスを避けるためです。)そのため、キャッシュファイルを作成するときに、希望のエイリアスを適用しておかなければなりません。同様に、LOGTIMEOFFSET 変数の値にも従いません。これは2重の時間差の適用を避けるためであり、どんな希望の時間差も、キャッシュが作成されるときに適用しておかなければなりません。
時には、キャッシュファイルに全ての項目を記録したくないことがあると思います。例えば、あなたの Web サイトにどのホストがアクセスしたなど構わないで、各ファイルが何回リクエストされたかのみを記録したいかもしれない。1つの項目を含めないためには、それに対応する LOWMEM コマンドを 3 に設定すれば良い。例えば、以下の様に
HOSTLOWMEM 3
とすれば、キャッシュファイルからホスト名を除外することができます。これは重大な操作なので、この設定をすると analog は注意メッセージを出します。もしどのファイルがリクエストされたかも知る必要も無く、経過時間に対するリクエストの模様のみを記録したい時には、すべての6個の LOWMEM コマンドを 3 に設定することもできます。
この特徴を使い、項目を失ったり2重勘定を避けるために、以下の手続きを取ることをお勧めします。
- 古いログファイルを保管し、サーバを再起動して新しいログファイル生成しなさい。
(これをどう行うかは、あなたのサーバのマニュアルを読んでください。)
- 古いログファイルからキャッシュファイルと通常のレポートを作成しなさい。
- キャッシュファイルからテストレポートを作成し、ログファイルからのレポートと
比較して、正しくキャッシュファイルが作成されているかどうか確認しなさい。
(この手順は実際やる価値があります。)
- 全てのキャッシュファイル、古いものと新しいものから主要レポートを作成しな
さい。
もしログファイルを削除することで何のデータを失うかがよく分かっていれば、ここで、古いログファイルを削除できます。(しかし何かまずいことが起きても、私は何の責任も負えないことを思い出してください。licence を読んでください。)
以上のうちの一つに何かまずいことが起きることを考えて、各ログファイルに対して一つのキャッシュファイルを作成することを、私は推奨します。幾つかのログファイルから一つのキャッシュファイルを作成したり、あるいは古いキャッシュファイルとログファイルを組み合わせて一つのキャッシュファイルにすることは薦めません。
DNS 参照
時々、ログファイルは - 131.111.20.59 -の様に数字で表したIPアドレスを含みます。コンピュータにとってこれはlion.statslab.cam.ac.ukの様な名前の代わりなのです。ここではanalogがどうやってDNS lookupsを行って、数字を名前に翻訳させるかを述べます。これはあなたが適切な環境を持っているかによります:DNS lookupsはいくつかのシステムではできません。
残念ながら DNS lookups はたいていの場合には動作がとてものろい。それは、あなたのコンピュータがネットワークを通してホスト名を検索しなければならないからです。このため、analog はいっぺん検索したアドレスをファイルに保存し、次回に同じ検索する手間を省きます。(こういう仕組みを持っているにもかかわらず、DNS lookups はとてものろく感じられるでしょう。)そのファイル名は以下のコマンドで指定されます。
DNSFILE dnsfile.txt
このファイルを実際に使うためには、以下の節のコマンドを使う必要があります。
DNS 検索には4種類あります。DNS NONEと指定すると、IPアドレスはホスト名に変換されません。DNS READと指定すると、analogは以前の検索結果を見にDNSファイルを読みにいきますが、新しい検索はしません。インターネットに接続されていない環境のときに、この設定は最適です。3番目は DNS WRITE です。このモードでは、古いファイルも読むし、新しいアドレスも検索するし、新しいアドレスをファイルに保存します。(一番最初に DNS WRITE を使うときには、analogは指定されたファイルを読みに行こうとしてファイルが無いという注意を受けます。しかし、次回にはファイルが存在することになります。)最後のモードは DNS LOOKUP です。このときには、analogは指定されたファイルを見に行き、新しいアドレス検索もしますが、新しい結果をファイルに保存しません。そのため、次回にはそれらの新アドレスは記録には残っていません。このモードを指定する人はいないと思いますが、もし DNS WRITE の指定をしても、何らかの理由でファイルへの書き込みに失敗すると、analogはこのモードに変化してしまいます。
もしあなたが、 HOSTEXCLUDE というコマンドを使用しているなら、検索できない場合には数字のIPアドレスを、または検索できた場合にはそのホスト名を除外する必要があります。すなわち、どんな場合にもそのホストはレポートから除外されます。
もし2個のanalogが同じDNSファイルに同時に書き込む権限を持っていると、ファイルが壊れる可能性があります。そのためanalogが DNS WRITE で動いているときには、lock file が作られます。このファイルは他のanalogに一時的に DNS LOOKUP に退避するように命じます。ロックファイル名は以下のコマンドで変えることができます。
DNSLOCKFILE filename
もし同時に動作している全てのanalogが同じDNSファイルを使用しているときには、もちろん全てのanalogは、この同じロックファイルを使うように気をつけなければなりません。もしanalogがクラッシュしたときには、ロックファイルが残ってしまい、自分で削除しなければならないかもしれません。(以下のことには責任を取りかねます:いくつかのシステムでは、競合条件が存在してしばしばこのロックファイルによる安全性が阻害されることがあります。しかし、めったに起こりません。)
analogはDNSファイルからは何も削除はしません。このことは、DNSファイルは大きくなるばかりで、ファイルサイズは相当大きくなります。あなたは、しばしばそのファイルの上部部分を削除する必要があります。
どの位の期間古いlookupを信用するかを決定する2個の変数があります。
もしあなたが
DNSGOODHOURS 672
と設定すると、これは例えば成功した検索は672時間(4週間)後に再確認されます。同様に、DNSBADHOURS を設定して、失敗した検索をある一定時間後に再検索するすることもできます。
最後に、 デバッグする コマンド、DEBUG +D があり、これはanalogが行った全てのDNS検索を表示します。
DNS検索を補助する多くのツールアプリケーションが helper applications のページにあります。
通常あなた自身でDNSファイルに書く必要はありません:analogを信用するべきです。しかし内部の仕様を知りたいのなら、ファイルの内部書式は以下のようになっています。
時刻 IPアドレス ホスト名
ここで「時刻」はグリニッジ標準時の1970年から何分経っているかの数字(即ち、 "Unix 時間" ÷ 60)です。そして「ホスト名」は、もしアドレスが検索できなかったときには、 * で表されます。
低メモリの対処法
この章は、低メモリの時に analog を動かす方法について述べる。正常なログファイルに対しては、この方法では analog の動作が少しのろくなるであろう。しかしもしあなたのコンピュータが、analog を動かしている時にメモリの空きがなくなってしまったときには、動作は非常に遅くなるであろう。そのため大きなログファイルに対しては、この方法は、analog を非常に早く走らせることができるか、あるいは他の方法では不可能であった解析を可能にするであろう。
ある項目が読み込まれた時に何が起きるか思い起こそう。最初に、別名 が付けられる。2番目に、その項目が 含まれているか除外されている かが確かめられる。最後に、もし全ての項目が勘定すべきなら、1つのリクエストが計算に加えられる。
通常、項目名は別名が付けられる前に保存される。これは、同じ項目が現れた時、analog が再度別名をつけるのを防ぐためである。しかし、これは必要以上にメモリを消費する。そのため、一群の LOWMEM コマンドが提供されており、これらのコマンドは、名前を後で記録するようにするか、全く記録しないように、analog に命令する。もしこれらのコマンドが使われたら、analog は通常より多い仕事をしなければならないが、メモリは使わないで済ませている。大部分のサイトでは、ホストが大部分のメモリを消費するので、私は HOSTLOWMEM コマンドを例として使おう。
以下のコマンド
HOSTLOWMEM 0
は、ホスト名が別名を付けられる前に記録される時のように正常の場合を表す。この代わりに、もし以下の様に書くと、
HOSTLOWMEM 1
ホスト名は、別名をつけられてから記録される。もし以下の様に書くと、
HOSTLOWMEM 2
ホスト名は、包含と除外が実行される後になるまで、記録されない。最後に、もし以下の様に書くと、
HOSTLOWMEM 3
ホスト名は全く保存されず、従って、「ホストレポート」は、望んだとしても出力されない。(「ドメインレポート」は、しかしながら出力される。) 他の項目に対する似たようなコマンドは、FILELOWMEM、BROWLOWMEM、REFLOWMEM、USERLOWMEM そして VHOSTLOWMEM である。
それでは、もし analog がメモリが足りなくなった時にはどうすべきだろうか? 最初に、ログファイルを見て、どの項目が全てのメモリを消費してしまったかを探しなさい。もしたくさんのファイ名、例えば次から次へとあなたが作成したファイル、が存在するなら、FILELOWMEM コマンドを使いたくなるであろう。多分、FILEALIAS と FILELOWMEM 1 コマンドを使って、全ての似たファイル名を一つにまとめることもできるだろう。( 異なる検索引数によるたくさんの異なるファイル名が得られたなら、ARGSEXCLUDE を使えば、LOWMEM コマンドを全く使わずにあなたの問題を解決できるかもしれない。)しかし大部分のユーザにとって、問題となるのはホスト名である。あるホストからのリクエストだけを解析したいなら、HOSTLOWMEM 2 を使って残っているホスト名が記録される前に、その他を除外すれば良い。どのホストも除外したくなく、しかも全ての異なるホスト名を記録するだけの充分なメモリがない時には、HOSTLOWMEM 3 が適切なコマンドであろう。
デバッグ
ここではうまく動作しないと感じたときに、analog をデバッグするのを助けるコマンドについて述べます。後の方で、analog が出力する全ての エラーと注意、及びその意味が書かれた別の章があり、バグの報告の仕方 を述べた別章もあります。
最初に、以前触れた全ての analog 変数の現在の設定を、一覧するためのオプションを思い出してください。この一覧を得るためには、コマンド行に単に -settings と付けるか、他のコマンドと一緒に PRINTVARS ON を環境設定ファイルの一つに書くけば良い。すると analog は、通常の様に起動する代わりに、設定の一覧を出力してくれる。
analog は動作しながら、どの程度のデバッグの情報と注意の情報を出力するかを制御するコマンドがある。初期設定で、全ての注意を得てデバッグはしないが、DEBUG と WARNINGS のコマンドを使ってこれを変えることができる。もし以下の様に書くと、
DEBUG ON
全てのデバッグ情報が得られる。(そして、DEBUG OFF は全てオフにする。)ある範囲のデバッグ情報のみを得ることもできる。その範囲とは、以下で与えられる。
- C
- ログファイル中の全ての異常行の一覧
- D
- DNS 参照の情報
- F
- ファイルのオープンとクローズの情報
- S
- 各ログファイルの終了時の全体概要
- U
- 未知のドメイン名の一覧
- V
- ドメイン名を除いたホスト名の一覧 (即ち、ドットを除いた名称)
従って例えば、以下のコマンドは、
DEBUG FS
"ファイルのオープンとクローズの情報" を与え、"各ログファイルの終了時の全体概要" も与えるが、他のどんなデバッグもしない。デバッグ情報の各行は、コード文字で表されている。また以下の指定もできる。
DEBUG +CD
この指定は、既にあるデバッグの範囲に C と D を付け加え、
DEBUG -CD
は、これらの2個の種類を取り除く。
このコマンドに対するコマンド行での省略形がある。+V (ON に対して)、-V (OFF に対して)、+VFS (FS のオプションを正確に選択するために)、+V+FS (これらのオプションを追加するために)、そして +V-FS (これらを取り除くために)を使用してください。
C による出力は、2行にわたっている。最初の行は、異常を起こしたログファイルの行を示している。2行目は、analog が見つけた問題の行を示している。(この行は、いつもではないが通常、実際の問題がある場所である。)実際、出力の各 "行" は、画面上では1行以上にわたっており、もしあなたがログファイルの異常行を見つけようとするなら、それを注意深く考慮しなければならない。
WARNINGS コマンドは、上記と同じように振舞う。WARNINGS ON と WARNINGS OFF と同時に、以下のような範囲の注意がある。
- C
- 誤った環境設定
- D
- 疑わしい環境設定
- E
- ERRFILE コマンドを使用 (以下を見よ)
- F
- ファイルが見つからないか壊れている
- L
- ログファイルに明らかに問題あり
- M
- ログファイルに問題がある可能性あり
- R
- 空のレポートの出力取り消し
注意の出力は、多分問題の無いものから通常重大な問題である場合の範囲にわたる。種々の分類についての詳細は、エラーと注意 の章を見よ。もう一度繰り返すが、注意の出力は、それらのコード文字と共に印字される。
WARNINGS には、コマンド行で実行するやり方があり、+q、-q、+q<options>、+q+<options>、または +q-<options> のように書きます。
analog をデバッグするのに便利な、もう一つのコマンドがあります。
PROGRESSFREQ 20000 # 例
こう書くと、analog は、ログファイルを20,000行読むたびに小さなメッセージを出力します。これは、プログラムが実際に止まってしまったのか、あるいは(もっとありうることとして)何らかの理由(DNS lookup を使っているため)でのろくなってしまっただけであるかを判断するのに便利である。
まず最初に、これら全てのメッセージは 標準出力 、即ち画面に出力される。しかし以下のコマンドにより、出力先を変更できる。
ERRFILE newfile
もしこれを行うと、analog は、あなたが見失わないようにメッセージの出力先を変えるという注意をする。標準のエラーに戻すには、以下を使う。
ERRFILE stderr
ERRFILE コマンドは、そのファイルの以前の内容を削除する。(従って、同じ ERRFILE コマンドを2回使わないようにしなさい。さもないと、メッセージを失うでしょう!)
ERRLINELENGTH と呼ばれるコマンドは、これらのメッセージがあなたが望む画面幅になるように、analog に伝える。特別な場合として、
ERRLINELENGTH 0
は、無限の画面幅を指定する。
もう一つ、analog の環境設定コマンドとコマンド行の引数についての章がある。しかしそれはやや長い、フォームインターフェース についての章である。(web ページからオプションを選択して、analog を走らせる方法である。)あなたは、出力結果の意味 の章に直ぐに行きたくなるかもしれません。
フォームインタフェースと CGI プログラム
フォームインタフェースは、anglo に対して HTML のフロントエンドを提供します。これは、ユーザが環境設定ファイルを作成しないで、web ページからオプションを選択できることを意味します。
重要: セキュリティの理由 から、analog を CGI プログラムとして走らせないように、あるいは他の web ファイルや CGI プログラムと一緒のディレクトリやフォルダーに入れておかないように気をつけてください。フォームインタフェースが analog を走らせる時に、analog が危険なオプションを与えられていないかどうかを確認します。この確認が無いと、あなたのシステムは、外部からの攻撃に対し無力になるでしょう。
analog が完全に設定されて、それ自身で適切に動作するまで、フォームの設定をしないで下さい。そうしないと、問題個所の発見に余計な、複雑な要因を付け加えるだけになります。analog とは異なり、フォームインタフェースは、"規格外" の動作を しません 。この章をよく読み、どのようにして環境設定するかを理解してください。
フォームインタフェースは、普通のユーザが使用するのに適していますが、システム管理者あるいは他の専門家が設定する必要があります。設定するためには、web サーバが動いていないといけません。CGI プログラムが何たるか、またそれらの動作許可を適切に設定する方法もを知らなければなりませんし、HTML フォームを書く方法も知る必要があります。この章の残りは、これらの知識を前提として話を進めます。また、Perl 5.001 かそれ以降のバージョンも持っているものとします。他のシステムに必要な事柄については、下記の 技術的な詳細 を参照すること。 ( 実際には、Windows を使用しており、Perl を持っていないときには、役立つソフトのページ からフォームインタフェースの実行版をダウンロードできます。
注意: CGI プログラムは、セキュリティの抜け道を含み得る。それを使って、破廉恥なユーザがあなたのシステムを破壊するかもしれない。( もしこれについて知らなければ、あなたは CGI プログラムを全く使ってはいけません。WWW のセキュリティについての FAQ と CGI のセキュリティについての FAQ を最初によく読んで理解してください。)このフォームインタフェースをできるだけ安全に作成した積りですが、完全に保証はできません。最も注意深く設計された CGI プログラムでさえ、偶然にセキュリティのバグを含むことがあります。もし何か起こっても、私は責任と取れません。自分の責任に於いて使用してください。( ライセンス を読んでください。)更に、もしパスワードのような特別な防御をしないか、特別なホスト名に対して anlgform.pl を制限しない限り、フォームインタフェースを設定することは、インターネット上の誰にも analog を実行させることを、ログファイルを解析可能にすることを意味していることに注意すべきである。この章の終わりの部分に、このプログラムについての セキュリティ設計についてのノート がもう少し書かれている。
フォームインタフェースは、2つの部分からなっている。オプションを選択するフォーム( anlgform.html と呼ばれている)と、それらを analog に渡す CGI プログラム( anlgform.pl と呼ばれている)である。作動させる前に、anlgform.html と anlgform.pl の両方共に、あなたのシステム用に設定 しなければならない 。この設定方法についての説明は、両方のファイルの先頭部分に書かれている。
プログラムと一緒に配布されているフォームは、フォームの一例とみなしてください。英語以外の言語のフォームは、lang ディレクトリにあります。あるいは、もし希望するなら、自分自身のフォームを書くこともできます。実際には、フォームは全く必要とされません。もし、通常の様に URL の中でクエスチョンマークの後に渡される引数があり、単に CGI プログラムにリンクを張ることだけが望みなら、それで動作します。
殆ど全ての analog の環境設定コマンドがフォーム中にその名前の要素を含めば、指定することができます。例えば、ログファイル名を選択する要素を付け加えたい時には、以下の様に書きます。
ログファイル名: <input type=text name="LOGFILE">
または、以下のようにも多分書けます。
<select name=LOGFILE size=1>
<option value="/var/log/apache/fred"> Fred のログファイル
<option value="/var/log/apache/jane"> Jane のログファイル
</select>
セキュリティあるいはパフォーマンスの理由から、フォームで指定できない幾つかのコマンドがあります。それら全ての一覧は、*LOGFORMAT、
LANGFILE、HEADERFILE、FOOTERFILE、
UNCOMPRESS、OUTFILE、CACHEOUTFILE、
ERRFILE、DNS それに SETTINGS です。そしてフォームを設定する人は、もっと付け加えることができます。これらを上害する理由について、またあなたが一覧に付け加えたいコマンドについては、以下の セキュリティについてのノート をご覧下さい。
幾つかのコマンドは、本当に便利なことに、2つに分割して指定することができる。最初に、2個の引数を持つコマンド(例えば、ALIASes )がある。これらは、COMMAND1 と COMMAND2 と呼ばれる2個のコマンドをフォームから送れば、簡単に取り扱うことができる。例えば、
元ファイル名: <input type=text name="FILEALIAS1">
別名: <input type=text name="FILEALIAS2">
このようにして、一対の引数を指定することだけができる。そのため、例えば、同じ ALIAS に対していくつかの別名を指定する方法は無い。
次に、FLOOR コマンドがある。もしこれらのコマンドを2つ、FLOORA と FLOORB、に分けて指定すれば、これらのコマンドの文法をフォームの使用者が知らなくても済む。これらの2つのコマンドは一体となって働く。例えば、プログラムと一緒に配布されているフォームは、以下の様に指定している。
<br>最低
<input type=TEXT name="DOMFLOORA" maxlength=6 size=6>
<select name="DOMFLOORB">
<option value=r>リクエスト
<option value=p>ページへのリクエスト
<option value=b selected>バイト
</select>
以上を持つ全てのドメインを含む
もし、DOMFLOORA が 5% かつ DOMFLOORB が r であれば、DOMFLOOR 5%r がプログラムに送られる。 (または、もし、以下の様にフォームを送りたいならば、DOMFLOORA=5 かつ DOMFLOORB=%r も同様の結果となる。)
2, 3の analog 用でない余分のコマンドがあり、それらはフォームから送られる。最初に、もしオプション qv=1 が設定されると、analog は起動せずに、analog へ送られるはずの設定コマンドの一覧が画面上に出力される。CGI プログラムがきちんと動作していることを確認する意味で、これは役に立つ。これは、またユーザがフォームから環境設定ファイルを生成することができることを意味する。
2つ目は、特定の時に他の環境設定ファイルを読み込むことを指定できることである。analog が CGI プログラムによって呼ばれた時、初期環境設定ファイル を通常どおり読み込む。次に、cg という名前を持ったオプションにより指定された他の環境設定ファイルを処理する。次は、CGI プログラムが指定する他の全てのコマンドを処理する。その後、cm という名前をもったオプションにより指定された他の環境設定ファイルを処理する。最後に、通常の様に 強制的環境設定ファイル を処理します。
(従って、2個の analog を必要とするかもしれない。一つは、フォーム用でもう一つは、フォームを使わない時の analog であり、それぞれ異なる環境設定ファイルをコンパイルしてある。) 初期と強制的環境設定ファイル中のコマンドは、環境設定に寄与することに注意せよ。それらのうちいくつかは、フォームで指定されたオプションに取って代わる。例えば、初期環境設定ファイルが INCLUDE を含んでいると、これはフォームで指定される INCLUDE と EXCLUDE コマンドに影響を与え、予期しない振る舞いをするかもしれない。
anlgform.pl は、通常コマンドを受け取った順に analog に送っており、その順番はフォームで受け取った順と同じはずである。しかし、幾つかの例外がある。最初に、同じ名前の全てのコマンドはまとめられる。従って、例えば、織り込むように入り組んで指定された INCLUDEs と EXCLUDEs は、順番通りには行かない。二つ目に、コマンドの名称は大文字小文字を区別しないが、同じ名前だが大小文字が異なるコマンドは、誤った順番を取ることがある。同じ大きさの文字を使用してください。3つめに、LOGTIMEOFFSET は、まず最初に送られる (それに従い、フォームで指定されるどのログファイルにも適用される)。
フォームが常に設定する数個のコマンドがある。これらは、あなたがどこかで設定したものに取って代わるでしょう。まず、(もし DNSFILE がフォームで設定されているなら) DNS READ かまたは(そうでない時) DNS NONE が設定される。この振る舞いを制限するには、強制的環境設定ファイルを使えばよいが、もしそうすると時間切れという問題がおそらく持ち上がるでしょう。2番目に、常に WARNINGS FL が設定される。これは、重要でない注意がサーバのエラーログに溜まらないようにするためである。これを抑えるためには、あからさまに WARNINGS コマンドをフォームの始めに書けばよい。
フォームインタフェースが動作しないわけには、いくつもの理由があり、それらを簡単には診断できない。もし問題が起きた時に、どうすればよいかを以下に述べる。
最初に、anlgform.pl をコマンド行から走らせることができる。これは大部分の問題のバグを見つけるのに充分である。対のオプションを以下の様に指定できる。
anlgform.pl qv=1 LOGFILE=/some/log REQINCLUDE=pages
もし、上記の様に引数に qv=1 を含めると、anlgform.pl が何を analog に送ろうとしているのかを見ることができる。もし、qv=1 を含めないと、anlgform.pl は analog を走らせようとするだろう。
もしそれでも動かない時には、以下の点を確認してください。
- ファイルの上部に書いてあるように、anlgform.pl と
anlgform.html を編集しましたか。
- 他の CGI プログラムはあなたのサーバで動きますか。anlgform.pl は、
CGI プログラムとしてサーバにより認識され、正しい場所に配置されていますか。
- サーバのエラーログを見て手がかりを探してください。
- 全ての関連のあるファイル (analog 自身、ログファイル、環境設定ファイル、
ドメインファイルのような補助ファイル、...) は、あなたの web 上で
実行可能か読み込み可になっていますか。
- もし幾つかのフォームのオプションが効果を表さない時には、環境設定ファイル中
のコマンドにより取って代わられていないかどうか確認してください。
- もし長いこと待たされて何のデータも返されなかった時には、多分 analog が終了
する前に、サーバがリクエストに対して時間切れになったのでしょう。対策は、
時間切れの間隔を増やすことです。
- 上記で説明されたように、ふぉーむは、常に
DNS READ か DNS NONE、そして WARNINGS FL
を設定し、初期設定ファイルの設定に取って代わってしまいます。
上記に述べたように、CGI プログラムは、しばしばいわゆるセキュリティホールをかかえています。フォームインターフェースが安全であるとは 保証しない が、私のベストを尽くして作りました。私の設計方針について説明します。これにたいするコメントはもちろん歓迎します。もし極秘にしたいときには、私宛に個人的に電子メールを analog-author@lists.isite.net 宛てに送ってください。
最初に、フォームインターフェースを誰が動かすことができるかを考えるべきである。パスワードで防御するか anlgform.pl を特別のホスト名に制限するという手段を取らない限り、あなたのサイトにフォームインターフェースを付加するということは、インターネット上の誰でもに analog を実行可能にし、ログファイルを解析可能にするという事を意味する。これは、システムに対するプライバシーと負荷に明らかに関係している。
ある種のコマンドは、anlgform.pl により無視され analog には渡されない。それらの一覧は、anlgform.pl の一番上に書かれている。それたいする理由は以下の通りである。HEADERFILE と FOOTERFILE は、システム上のどのファイルも出力してしまう。*LOGFORMAT コマンドもまた、どのファイルも読まれてしまう。何故なら、誰かが各行に一つのファイル名を指定し、ファイル名の一覧を得ることができるからである。OUTFILE、CACHEOUTFILE と ERRFILE は、ファイルシステムに他人が書き込むことを許してしまう;ERRFILE ははまた、エラーをエラーログに溜めずに、どこかへ飛ばしてしまうことも可能である。UNCOMPRESS は、ユーザにどんなコマンドも実行可能にさせてしまう。DNS の使用は、これを READ よりも高い設定にすると、通常プロセスを時間切れにしてしまうので、禁止している。
DNS
is forbidden because setting it higher than READ would normally
cause the process to time out.
上記のどれも削除してはならない (本当に、本当にあなた以外の誰も anlgform.pl を走らせることが完全に不可能であると確信していない限り)。初期設定で禁止されているもう2つのコマンドがあるが、これらは禁止の一覧から除外することもできる。SETTINGS が禁止の一覧に含まれている理由は、システム上の幾つかのファイルの位置を移動するためである。しかし、診断するためには有用であり、もしフォームを設定する上で問題が起きた時、一時的に除外することを考えても良い。もう一つのコマンドは、私はより危険が少ないと考えるが、LANGFILE が含まれている。このコマンドが含まれている理由は、別ファイルが言語ファイルと全く同じ行数であり、言語ファイルとして受け付けられて、出力にそのファイルの一部分が紛れ込むことが理論的にありうるからである。しかし、まずファイルは全く同じ長さでなければならない。もしこのような危険に対し充分対処できると考えるなら、LANGFILE を一覧から除外できる。
一覧に付け加えたい他のコマンドがある。例えば、(やや起こりそうも無いことではあるが)以下のことは理論的に可能である。システム上の別ファイルが、analog が解析できるログ形式に充分一致しており、その内容を漏らしてしまうことがありうる。これについて心配し、フォームからはただ一つの特別なログファイルのみを解析しようとするなら、LOGFILE コマンドを禁止リストに付け加えることができる。同様の理由から、DOMAINSFILE も付け加えられる。また、もし全ての CONFIGFILE、CM と CG を付け加えない限り、ユーザがシステム上のどの環境設定ファイルも使えるということに注意すべきである。
CGI のセキュリティ問題について知っている人たちにたいする、私の設計方針についての技術的なコメントがある。anlgform.pl は、-T オプションを付けられて動作する。これは、analog をパイプを通して開き、従って、analog の標準入力に引数を渡す。ユーザが指定したデータは、open() 関数ではなく、パイプを通してのみ渡される。
LOGFILE と CACHEFILE コマンドの引数は、ある許可された文字 (特に、文字、10進数、/\.:_ スペース、それに2つの{文字、10進数、下線}の間の - ) のみ含んでいるかどうかチェックされる。これは、圧縮コマンドが popen() 関数を使って使用されたとき、文字列が UNCOMPRESS コマンドと一致して、シェルに渡されてしまうかもしれないからである。
これを除いて、コマンド名は文字と10進数、1と2、だけを含んでいるかどうか確認される。そして、コマンドの引数は、制御文字 (実際には文字コード 0-32 と 127-159;特に、新行文字は禁止されている ) を含まないように確認されている。コマンドの長さは、anlgform.pl ではチェックされていないが、環境設定コマンドの長さが、analog によりチェックされているので、バッファーのオーバーフローは問題になるはずが無い。
ところで、analog 自身を CGI プログラムとして使うべきではないと忠告する理由は、ある種のサーバー、特にマイクロソフトの IIS は、コマンド行の引数を CGI プログラムに渡すことをユーザに許してしまうからである。それに、たとえプログラムがプログラムが適切な CGI ヘッダーを返さないときでも、出力はユーザに戻され得る。これは、上記の全ての引数の確認は、妨害されることを意味する。もちろん、CGI プログラムにコマンド行の引数を渡せないサーバー上では、同じようなセキュリティ上の問題は無い。しかし、もしどんな引数も渡せないなら、初期設定の出力しか得られないので、analog は、CGI プログラムとしてあまり有用ではない。
Perl 5.001 かそれ以上のバージョンが使える必要がある (Windows を使い、役立つソフトのページ からフォームインターフェースの実行版をダウンロードしているならば、問題は無い)。Perl の最新版は、無料で www.perl.org から得られる。また、CGI.pm というモジュールが必要であり、Windows では、libwin32 というファイルから、Win32::Console というモジュールが必要である。しかし、これらは通常 Perl と一緒に配布されているはずである。
Windows では、Perl スクリプトが Perl によって実行されるためには、Perl の実行ファイルは、.pl という拡張子を付ける必要がある。
anlgform.pl は、フォームへの引数渡しに GET あるいは POST メソッドを受け付ける。HTML の仕様 によると、この場合の様に、プログラムを走らせるのに何も副作用がない時に、GET を使うべきであると述べている。しかし、別の HTTP の仕様 の 15.1.3 章によると、オプションの幾つかが秘密に扱われるべき時は、POST を使うべきであると述べている。また、多くのオプションが付いた非常に長い URL は、幾つかの古いサーバーで問題を引き起こす。従って、anlgform.html は、初期設定で POST メソッドを使う。しかし、GET メソッドを使っても動く。例えば、通常の GET の様に、?記号の後ろにオプションを指定して、anlgform.pl に普通のリンクを張ることもできる。
出力結果の意味
この章ではanalogが生成した出力ついて説明します。これらは3つに分けられます。
- Webの動作。ここでは誰かがあなたのWebサイトにアクセスしたとき何が起こるか、そのときそれらのアクセスについて見い出せる事と見い出せない事について述べます。もし、どのくらいの人々が自分のWebサイトを訪問したかについての統計を取ることができる(あるいは、なぜあなたができないか)と思うならば、この章は役立ちます。
- analogのレポート。この章は、analogのレポートの概要、レポートが含む内容、そしてあるコマンドが他のコマンドに及ぼす影響について述べます。
- analogの定義。この章は、それぞれのレポートで何が計算されているか等、全てのanalogの用語の詳細について正確に述べます。
Web の仕組み
この章は、誰かがあなたの web サイトに接続した時に何が起こるか、どのような統計を取れるか、取れないかについて説明します。これについては多くの誤解が生じています。実際には計算されずに、評価だけされたものを計算したと主張する統計プログラムによっては、助けは得られません。我々が知りたいと思い、知れると期待するある種のデータが、実際には無いというのが単純なる事実です。そして、他のプログラムが出力した評価というものが、単に外れているというだけではなく全く誤っています。例えば(理由は以下に見るでしょう)、もしあなたのホームページが10個の画像を含んでいるとして、AOL のユーザが訪れたとすると、大部分のプログラムは11人の異なる訪問者が来たと勘定します!
この章は割と長く書かれていますが、注意深く読むに値します。もし web の動作原理の基礎を理解すれば、web の統計が実際に意味するところを理解できるでしょう。
私は、この章がこれらの考えに対する幾つかの過去の説明依存していることを言うべきでしょう。特に、以下の4つの記事を読むことをお勧めします。
Doug Linder による
WWW 統計の説明 ;
Dana Noonan による
Web 使用の統計の意味 ;
Tim Stehle による
使用の統計の実際の意味 ;
そして最も否定的なのは、Jeff Goldberg による
何故 Web の仕様統計は(悪いというより)意味が無いか です。
1. 基本モデル 私があなたの web サイトを訪れたとしよう。どこかのホームページからリンクを辿って、あなたの表のホームページにたどり着き、幾つかのページを読み、そしてリンクを辿ってあなたのサイトの外に出て行く。
これで何が分かったのだろうか。最初に、私はあなたの表紙に1つのリクエストをした。あなたは、リクエストの時刻と、(もちろん)どのページをリクエストしたのかと、私のコンピュータのインターネットアドレス(私の ホスト)を知る。私は、また通常、どのページからあなたのサイトを参照したかと、私のブラウザーの製造元とモデルを告げることになる。私のユーザー名と電子メールアドレスは告げない。
次に、そのページに画像があるかどうかを見る(むしろ私のブラウザーが行うのだが)。もし画像があり、私のブラウザーの画像取り込みを許可していたら、これらの画像の取り込みのため、別の接続を行う。私は、決してあなたのサイトにはログインはしない。私は、単に私がダウンロードしたい新しいファイルに会うたびに、一連のリクエストを行うだけである。これらの画像を参照しているのはあなたの表紙のページです。多分10枚位の画像があなたの表紙にあるでしょう。これで、私はあなたのサーバーに11個のリクエストを行った。
その後、あなたの他のページを訪問しに行き、私の望む各ページと画像に新しいリクエストを行う。最後に、リンクを辿ってあなたのサイトの外に出て行く。あなたは、これについては全く気がつかない。私は、あなたに何も告げずに、単に次のサイトに接続を行うだけである。
2. キャッシュ 上記の様にいつも必ずうまくいくとは限らない。一つの大きな問題は、キャッシュだ。キャッシュには大きく分けて2種類ある。最初に、ブラウザーはファイルをダウンロードすると、それらを自動的にキャッシュする。もしもう一度それらを見に行った場合、例えば翌日、全体のページを再びダウンロードする必要が無いことを意味する。ブラウザーの設定に依存するが、ページが変更されていないかどうかを確認するかもしれない。その場合には、あなたはそれを知るし、analog はそれをそのページに対する新しいリクエストとみなす。しかし、ブラウザーを再確認しないように設定するかもしれない。そのときには、あなたが知らない間に、私はそのページをもう一度読むでしょう。
他の種類のキャッシュはもっと大きなスケールのものである。私はイギリスに居る。大西洋を越えたリンクは、時には非常に混雑するので、国単位のキャッシュを設定している。( 多くの個々の ISP も同じ事をしている。)あなたのページを直接見に行く代わりに、国別キャッシュからそのページを見に行くように、私のブラウザーを設定することができる。わが国の誰かが最近あなたのページを見るためにキャッシュを使ったならば、キャッシュはその情報を保存し、あなたにその事を告げずにそれらを私に与えるであろう。そのため、あなたのページが立った一度だけ送られたとしても、何百人もの人があなたのページを見たかもしれない。また、もし私の望むページがまだキャッシュに溜められていないときにも、キャッシュが私の代わりにあなたからそのページを要求するだろう。これは、リクエストが、私からではなくあたかもキャッシュから来たかのように見えている。もし何人かの人がこれを行えば、あなたには多くの異なるホストではなく、ただの一つのホストがキャッシュにアクセスしているように見える。
3. 確実に分かること 確実にあなたが分かることは、あなたのサーバーになされたリクエスト数、それらがいつ行われたか、どのファイルがリクエストされたか、それにそれらに対してどのホストがリクエストしたかだけである。
あなたは、ブラウザーの種類と参照ページが何であるかも知ることが出来る。しかし、多くのブラウザーは故意にブラウザーの種類を偽るか、ブラウザー名をユーザが設定できると言うことに注意すべきである。また、幾つかのブラウザーは誤った参照元を送り、そのページを参照したわけではないのに、最後に見たページがあたかもそれであるかのようにあなたに伝える。
4. あなたが知りえないこと
- 閲覧者を特定出来ない。
あからさまにユーザにパスワードを要求しない限り、誰が接続したか、また
かれらの電子メールアドレスを知ることは出来ない。
- 何人の訪問者が来たか分からない。
リクエストした異なるホスト数を勘定すれば推測はできる。しかし、3つの理由
からこれは常に良い評価とはいえない事がわかる。1番目の理由として、ユーザが
あなたのページをキャッシュサーバから取って来た場合には、あなたにはそれを
知るすべは無い。2番目に、時々、多くのユーザが同じホストから接続している
かのように見えることがある。同じ会社あるいは ISP からのユーザか、同じ
キャッシュサーバを使っているユーザである。最後に、時には一人のユーザが
多くの異なるホストから接続しているように見えることがある。AOL は、今や
各リクエストに
対して異なるホスト名 を割り当てている。そのため、あなたの
ホームページが10個の画像を含み、AOL ユーザがそのページを閲覧した時には、
大部分のプログラムはそれを11人の異なる訪問者が来たと
勘定するでしょう。
- 閲覧の回数は分からない。
広告企業からの圧力のもとで、多くのプログラムは、"訪問"
(あるいは "セッション")を30分立つまでは、同じホストから
の一連のリクエストだと定義してしまう。これは幾つかの理由から健全な方法
とはいえない。最初に、各アクセスするホストは異なる人物からのアクセスに
相当すると、あるいは逆が成り立つと仮定している。これは、前の段落で議論
されたように実際には全く正しくない。2つ目に、本当の訪問では30分の間隔が
けっしてあるわけではないと仮定している。これも正しくはない。私の場合で
言えば、しばしばリンクを辿ってサイトの外に行き、私のブラウザーに戻って、
元居た最初のサイトを探索を続けることがある。私がこのようなことを29分か31分
後に行うことが実際に問題となるのだろうか。最後に、計算を扱いやすいものと
するために、そのようなプログラムは、またあなたのログファイルが時間通りに
記録されていることを仮定している。これは常にそうとは限らないが、analog は、
あなたが行をごちゃ混ぜにしても同じ結果を生成する。
- クッキーはこれらの問題解決とはならない。
幾つかのサイトでは、クッキーを使って訪問者の数を勘定しようとしている。
しかし、クッキーを受け付けることができないか受け付けようとしないページを
読者に読ませないようにするなら、このようなことは可能である。それにあなたは、
次回のリクエストの時同じクッキーを訪問者が使うと仮定しなければならない。
- あなたのサイトを通過する人のリンクを追うことは出来ない。
たとえ、各人がホストに1対1に対応すると仮定しても、あなたのサイトを通過する
人のリンクを知ることは出来ない。人が一度以前訪れたページを再度尋ねることは
良くあることである。ブラウザーがそれらをキャッシュしているため、
これらその後のそのページに対する訪問をあなたが知ることはないでしょう。
そのため、あなたのサイトを訪れた彼らの足跡を正確に辿ることは出来ません。
- しばしば、彼らがどこからあなたのサイトを訪れたか、またはどこから
あなたのサイトを見つけたのかは分かりません。
もしキャッシュサーバを使ったときには、キャッシュからあなたのホームページを
捜し求めることは出来るでしょうが、それに引き続くページ全てを探すことは
できません。従って、リクエストしていると分かっている最初のページは、真の
訪問の中間に位置するでしょう。
- 彼らがどのようにしてあなたのサイトから去ったか、あるいは次にどこへ
行ったかは分からない。
彼らは、別のサイトへの接続については何もあなたには告げないので、それに
ついてする術は無い。
- 各ページを読むのにどれくらい時間を掛けたかは分からない。
もう一度繰り返すと、彼らが、一連のページのうちのどのページを読んでいるかは
あなたには分からない。彼らは、以前ダウンロードした数ページを読んでいる
かもしれない。彼らは、あなたのサイトからリンクを辿って外に行き、後に
戻ってくるか、戻ってこないかもしれない。彼らは、マインスイーパのゲームを
ちょっとやってみるために、ページを読むのをやめているかもしれない。
あなたには、それは分からない。
最低言えることは、HTTP は状態の無いプロトコルだということである。これは、
人はログインせずに幾つかの文書を捜し求められることを意味する。彼らは、彼らの望む各ファイルに対し、個別に接続することが出来る。それに、大部分の時間、彼らは、一つのサイトにログインしたかのようには振舞わない。 これが、ユーザが何をしているか推測するよりも、analog がリクエスト、すなわちあなたのサーバに何が起きているかを報告している理由である。
私は、何をあなたが見つけられないかを強調しながら、ここでやや否定的な見方を紹介した。けれども、Web の統計は情報に満ちている。
"このぺーじは、30,000 件のリクエストを受けた" という事実から、
"30,000 人の人がこのページを読んだ" という間違いを犯さないと言う意味で重要である。ある意味でこれらの問題は、Web の世界では新しくない。 -- これらは、印刷媒体でも存在することである。例えば、販売された雑誌数を知っているだけで、何人の人がそれらを読んだかは分からない。印刷媒体では、手に入るデータを使って、これらの問題と向き合っている事を知っている。Web 上でも、架空の数字をでっち上げるよりも、同じ事をするほうが良いのは明らかである。
analog のレポート
この章は、analog の全てのレポートとそれらを制御する主なコマンドを要約します。これらのコマンドについての詳細は、以下を参照してください。
時間レポート,
他のレポート,
階層的レポート
各レポートで勘定されるものについての詳細については、
Analog の定義 を見て下さい。
統計開始日時:1998年9月24日(木)13時48分.
解析期間:1998年9月16日(水)09時52分 〜 1998年9月21日(月)02時04分 (4.7 日).
レポートの始めの2行はプログラムを起動した日付とプログラムからデータを取り込んだ日付を示しています。
(括弧の中の数字は、1998年9月24日(木)13時48分からの7日間を参考にしています)
成功したリクエスト件数: 79,646 (48,947)
上記の日別平均: 17,036 (6,992)
ホームページへの成功したリクエスト件数: 31,138 (18,689)
上記の日別平均: 6,660 (2,669)
リクエストエラー件数: 9,008 (6,378)
リダイレクトされたリクエスト件数: 344 (235)
異なるファイルへのリクエスト件数: 8,180 (2,884)
異なるホストからのリクエスト件数: 6,640 (4,991)
壊れたログファイルの行数: 2
転送データ量: 976.92 Mバイト (627.06 Mバイト)
上記の日別平均: 208.96 Mバイト (89.58 Mバイト)
「全体の概要」は、分析されたデータの全体的な統計を表します。最も重要なのは、リクエスト 数 (グラフィックを含んだダウンロードされたファイルの合計数); ページ別リクエスト 数 (あなたのサイト上にある種々のページ数); 異なるホスト 数 (異なるコンピュータからのリクエスト数); そしてバイト単位の 転送されたデータ 量です。個々の行が正確に何を意味するかは、Analog の定義 の章を見てください。
括弧内の数字は、このレポートの先頭で表された7日間での値を表しており、もし TO コマンドがあったなら、それは TO 時刻以前の7日間を表しており、もしコマンドがないのならば、レポートの起動日以前の7日間を表しています。
サイトへの訪問者数またはあなたが訪問した数を見つけることができないとき、そしてそれができるといわれているどのプログラムも信じないときは、このことについて議論した どのようにして Web が動作するか を参照して下さい。
GENERAL コマンドを使ってこのレポートを出力したり、削除したりすることができます。LASTSEVEN コマンドを使い、最後の7日間の数字を含んだり除いたりすることができます。あなたの設定した他のオプションによって、上記の出力は少し異なる行を与えるかもしれません。
1単位 (
) は 800
ページへのリクエスト あるいはその値未満を表す.
週の始めの日: リクエスト数: ページ数:
---------: -----: -----:
1998年 9月13日: 69614: 25277:
1998年 9月20日: 10032: 5861:
最も混雑した週(次の日から1週間):1998年 9月13日 (26,654 ページへのリクエスト)
これらのレポートは各時間帯の中でのリクエスト数を示しています。またこれらのレポートのどの時間帯が最も混んでいたのかを示しています。
適切な ON または OFF コマンドを使うことで各レポートを含むか、含まないかを制御することができます。COLS コマンドを使うことで、どの列を表示するかを制御することができます。GRAPH コマンドを使うことで、棒グラフと "最も混んでいる" 利用量がどれなのかを制御することができます。ROWS コマンドを使うことで、表示する行数を決めることができます。BACK コマンドによって、時間に関して行の前後を表示することができます。BARSTYLE コマンドを使へば、棒グラフに使われている図を変えることができます。
1単位(
)は 150
ページへのリクエスト あるいはその値未満を表す.
日: リクエスト数: ページ数:
--: ------------: -------:
日: 2031: 1193:
月: 8001: 4668:
火: 0: 0:
水: 13934: 5915: 
その他
これらのレポートは、レポートの最上部で与えた時間帯での、その週の曜日別、またはその日の時間別の合計リクエスト数を表していています(平均ではなく,または最後の週、最後の日だけの数字でもありません)。
適切な ON または OFF コマンドを使えば、各レポートを含むか含まないかを制御することができます。COLS コマンドを使えば、どの列を記述するかを制御することができます。GRAPH コマンドを使えば、棒グラフをどの計測に対して使うかを制御することができます。BARSTYLE コマンドを使えば、棒グラフを使った画像を変えることができます。
リクエスト数によって始めの5つのファイルがリストされ、リクエスト数によって整列されます。
リクエスト数: バイト数の割合(%): 最終アクセス時刻: ファイル
------------: --------------------: -----------------------: --------
4123: 2.29%: 1998年 9月21日 01時:57分: /~sret1/analog/
3064: 0.15%: 1998年 9月21日 01時:54分: /~sret1/analog/analogo.gif
1737: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar1.gif
1692: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar16.gif
1685: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar8.gif
67345: 97.54%: 1998年 9月21日 02時:04分: [残り: 8,175 ファイル]
その他の全てのレポートはかなりお互いが似ています。以下はそのリストです。もし用語のいくつかに慣れていないときには、Analog の定義 の章を見て下さい。
- ホストレポートは、あなたの側からファイルをダウンロードした全ての コンピュータ をリストします。
- ドメインレポートは、どの 国 からそれらのコンピュータがアクセスしているかのリストです。(もし "未解読 IP アドレス数値" しか与えられていないときには、FAQ を見て下さい)
- 組織別レポートは、コンピュータが登録された 組織 (会社、機関、ISP 等)を表そうと 試みます。
- リクエストレポート(上記の例)は、どの ファイル がダウンロードされたか表します。
- ディレクトリレポートは、どの ディレクトリ にこれらのファイルが由来しているかを表します。
- ファイル種類別レポートは、これらの ファイルの種類 (実際は、拡張子) を表しています。
- ファイルサイズレポートは サイズ によってファイルを分類します。
- 処理時間レポートは、各ファイルを処理する 時間 を表しています。
- リダイレクションレポートは、リダイレクションの結果として出てきたファイル名を表します。
- 失敗したリクエストレポートは、エラーを生じたファイル名を表します。
- リンク元URLレポートは、あなたのファイルに リンクした ページを示します。
- リンク元サイトレポートは、リンク元が動作しているサイトを表します。
- 検索結果レポートと検索語レポートは、あなたのサイトを見つけようとして使っている 検索用語 (あなたが適切な SEARCHENGINE コマンドを使っているとして)を表しています。
- リダイレクトされたリンク元URLレポートは、リダイレクションを引き起こしたリンク元を表しています。
- 失敗したリンク元URLレポートは、本質的に 途切れたリンク のレポートです。
- ブラウザーレポートは、使われている ブラウザー の詳細なバージョンを表しており、ブラウザーの概要は、ベンダー(製造者)毎にそれらを収集しています。
- OS レポートは、ブラウザーの種類が分かる訪問者の OS を表します。
- 仮想ホスト レポートと ユーザ レポートは、言わずもがなです。
- 失敗したユーザレポートは、エラーを起こしたユーザーを表しています。
- ステータスコードレポートは、それぞれの HTTP 状態コード の数値を表しています。
あなたがこれら全てのレポートを得ることができるかどうかは、ログファイルに記録されている情報に依存しています。
いつも通り、適切な ON または OFF コマンドを使って、それぞれのレポートを含むかどうかを制御することができます。
COLS コマンドによって、どの列を表示するかを制御することができます。
SORTBYコマンドによって、レポートのデータの並べ方を変えることができます。
FLOORコマンドによって、何項を表示するかを制御することができます。
出力用の INCLUDE と EXCLUDE コマンドを使って、個々の項を含んだり除外したりすることができます。
OUTPUTALIAS コマンドを使って、レポートの中の項の名前を変えることができます。
最下段の "示されていない" 行は、レポートに対して FLOOR 以上に十分なデータ転送量が得られなかった場合と、あからさまに EXCLUDE (除外)された場合の数を表している。
例えばこのドメインレポートのように、大部分のレポートは階層構造を持っています:
始めの5個のドメインが示され、リクエスト数によってデータが並べられています。
順位: リクエスト数: バイト数の割合(%): ドメイン
----: ------------: --------------------: --------
1: 13243: 16.23%: .com (Commercial)
: 1262: 1.26%: aol.com
2: 11783: 25.64%: .jp (Japan)
: 9592: 22.19%: ad.jp
: 1043: 1.97%: co.jp
3: 10073: 11.62%: .net (Network)
: 1926: 1.71%: uu.net
4: 9657: 13.31%: [未解決アドレス]
5: 7388: 8.04%: .uk (United Kingdom)
: 5792: 5.74%: ac.uk
: 1510: 1.99%: co.uk
: 18502: 25.16%: [残り: 82 ドメイン]
SUB コマンド群によって下層に示された項を制御することができます。
下層のためのsub-SORTBY と
sub-FLOOR コマンドも別々にあります。(リクエストレポートのようないくつかのレポートでは、ARGSSORTBY と ARGSFLOOR と呼ばれています。)
注意すべきは、下層は常にその層の親と共に表示されるので、それらはデータの並べ替えを守らないことです。また下層は、リストされた項目の総数には勘定されず、従って1列目で分かるように、上記の例では5つのドメインしか表示されません。(この理由で、N 列 は階層的レポートでは特に役に立ちます。)
リクエストレポートでどのファイルがリンクされるかは、LINKINCLUDE と LINKEXCLUDE コマンドによって制御され、さまざまなリンク元レポートでどのファイルがリンクされるかは、REFLINKINCLUDE と REFLINKEXCLUDE コマンドによって制御されます。リクエストレポートでのリンクは BASEURL コマンドによっても影響を受けます。
レポート製作ソフト analog3.90beta2/Unix.
解析時間: 8 秒.
レポートの最後で、どの analog のバージョンがレポートを生成したかということと、解析した時間が分かる。
この章は、analog の全てのレポートとそれらを制御する主なコマンドを要約します。これらのコマンドについての詳細は、以下を参照してください。
時間レポート,
他のレポート,
階層的レポート
各レポートで勘定されるものについての詳細については、
Analog の定義 を見て下さい。
統計開始日時:1998年9月24日(木)13時48分.
解析期間:1998年9月16日(水)09時52分 〜 1998年9月21日(月)02時04分 (4.7 日).
レポートの始めの2行はプログラムを起動した日付とプログラムからデータを取り込んだ日付を示しています。
(括弧の中の数字は、1998年9月24日(木)13時48分からの7日間を参考にしています)
成功したリクエスト件数: 79,646 (48,947)
上記の日別平均: 17,036 (6,992)
ホームページへの成功したリクエスト件数: 31,138 (18,689)
上記の日別平均: 6,660 (2,669)
リクエストエラー件数: 9,008 (6,378)
リダイレクトされたリクエスト件数: 344 (235)
異なるファイルへのリクエスト件数: 8,180 (2,884)
異なるホストからのリクエスト件数: 6,640 (4,991)
壊れたログファイルの行数: 2
転送データ量: 976.92 Mバイト (627.06 Mバイト)
上記の日別平均: 208.96 Mバイト (89.58 Mバイト)
「全体の概要」は、分析されたデータの全体的な統計を表します。最も重要なのは、リクエスト 数 (グラフィックを含んだダウンロードされたファイルの合計数); ページ別リクエスト 数 (あなたのサイト上にある種々のページ数); 異なるホスト 数 (異なるコンピュータからのリクエスト数); そしてバイト単位の 転送されたデータ 量です。個々の行が正確に何を意味するかは、Analog の定義 の章を見てください。
括弧内の数字は、このレポートの先頭で表された7日間での値を表しており、もし TO コマンドがあったなら、それは TO 時刻以前の7日間を表しており、もしコマンドがないのならば、レポートの起動日以前の7日間を表しています。
サイトへの訪問者数またはあなたが訪問した数を見つけることができないとき、そしてそれができるといわれているどのプログラムも信じないときは、このことについて議論した どのようにして Web が動作するか を参照して下さい。
GENERAL コマンドを使ってこのレポートを出力したり、削除したりすることができます。LASTSEVEN コマンドを使い、最後の7日間の数字を含んだり除いたりすることができます。あなたの設定した他のオプションによって、上記の出力は少し異なる行を与えるかもしれません。
1単位 (
) は 800
ページへのリクエスト あるいはその値未満を表す.
週の始めの日: リクエスト数: ページ数:
---------: -----: -----:
1998年 9月13日: 69614: 25277:
1998年 9月20日: 10032: 5861:
最も混雑した週(次の日から1週間):1998年 9月13日 (26,654 ページへのリクエスト)
これらのレポートは各時間帯の中でのリクエスト数を示しています。またこれらのレポートのどの時間帯が最も混んでいたのかを示しています。
適切な ON または OFF コマンドを使うことで各レポートを含むか、含まないかを制御することができます。COLS コマンドを使うことで、どの列を表示するかを制御することができます。GRAPH コマンドを使うことで、棒グラフと "最も混んでいる" 利用量がどれなのかを制御することができます。ROWS コマンドを使うことで、表示する行数を決めることができます。BACK コマンドによって、時間に関して行の前後を表示することができます。BARSTYLE コマンドを使へば、棒グラフに使われている図を変えることができます。
1単位(
)は 150
ページへのリクエスト あるいはその値未満を表す.
日: リクエスト数: ページ数:
--: ------------: -------:
日: 2031: 1193:
月: 8001: 4668:
火: 0: 0:
水: 13934: 5915: 
その他
これらのレポートは、レポートの最上部で与えた時間帯での、その週の曜日別、またはその日の時間別の合計リクエスト数を表していています(平均ではなく,または最後の週、最後の日だけの数字でもありません)。
適切な ON または OFF コマンドを使えば、各レポートを含むか含まないかを制御することができます。COLS コマンドを使えば、どの列を記述するかを制御することができます。GRAPH コマンドを使えば、棒グラフをどの計測に対して使うかを制御することができます。BARSTYLE コマンドを使えば、棒グラフを使った画像を変えることができます。
リクエスト数によって始めの5つのファイルがリストされ、リクエスト数によって整列されます。
リクエスト数: バイト数の割合(%): 最終アクセス時刻: ファイル
------------: --------------------: -----------------------: --------
4123: 2.29%: 1998年 9月21日 01時:57分: /~sret1/analog/
3064: 0.15%: 1998年 9月21日 01時:54分: /~sret1/analog/analogo.gif
1737: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar1.gif
1692: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar16.gif
1685: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar8.gif
67345: 97.54%: 1998年 9月21日 02時:04分: [残り: 8,175 ファイル]
その他の全てのレポートはかなりお互いが似ています。以下はそのリストです。もし用語のいくつかに慣れていないときには、Analog の定義 の章を見て下さい。
- ホストレポートは、あなたの側からファイルをダウンロードした全ての コンピュータ をリストします。
- ドメインレポートは、どの 国 からそれらのコンピュータがアクセスしているかのリストです。(もし "未解読 IP アドレス数値" しか与えられていないときには、FAQ を見て下さい)
- 組織別レポートは、コンピュータが登録された 組織 (会社、機関、ISP 等)を表そうと 試みます。
- リクエストレポート(上記の例)は、どの ファイル がダウンロードされたか表します。
- ディレクトリレポートは、どの ディレクトリ にこれらのファイルが由来しているかを表します。
- ファイル種類別レポートは、これらの ファイルの種類 (実際は、拡張子) を表しています。
- ファイルサイズレポートは サイズ によってファイルを分類します。
- 処理時間レポートは、各ファイルを処理する 時間 を表しています。
- リダイレクションレポートは、リダイレクションの結果として出てきたファイル名を表します。
- 失敗したリクエストレポートは、エラーを生じたファイル名を表します。
- リンク元URLレポートは、あなたのファイルに リンクした ページを示します。
- リンク元サイトレポートは、リンク元が動作しているサイトを表します。
- 検索結果レポートと検索語レポートは、あなたのサイトを見つけようとして使っている 検索用語 (あなたが適切な SEARCHENGINE コマンドを使っているとして)を表しています。
- リダイレクトされたリンク元URLレポートは、リダイレクションを引き起こしたリンク元を表しています。
- 失敗したリンク元URLレポートは、本質的に 途切れたリンク のレポートです。
- ブラウザーレポートは、使われている ブラウザー の詳細なバージョンを表しており、ブラウザーの概要は、ベンダー(製造者)毎にそれらを収集しています。
- OS レポートは、ブラウザーの種類が分かる訪問者の OS を表します。
- 仮想ホスト レポートと ユーザ レポートは、言わずもがなです。
- 失敗したユーザレポートは、エラーを起こしたユーザーを表しています。
- ステータスコードレポートは、それぞれの HTTP 状態コード の数値を表しています。
あなたがこれら全てのレポートを得ることができるかどうかは、ログファイルに記録されている情報に依存しています。
いつも通り、適切な ON または OFF コマンドを使って、それぞれのレポートを含むかどうかを制御することができます。
COLS コマンドによって、どの列を表示するかを制御することができます。
SORTBYコマンドによって、レポートのデータの並べ方を変えることができます。
FLOORコマンドによって、何項を表示するかを制御することができます。
出力用の INCLUDE と EXCLUDE コマンドを使って、個々の項を含んだり除外したりすることができます。
OUTPUTALIAS コマンドを使って、レポートの中の項の名前を変えることができます。
最下段の "示されていない" 行は、レポートに対して FLOOR 以上に十分なデータ転送量が得られなかった場合と、あからさまに EXCLUDE (除外)された場合の数を表している。
例えばこのドメインレポートのように、大部分のレポートは階層構造を持っています:
始めの5個のドメインが示され、リクエスト数によってデータが並べられています。
順位: リクエスト数: バイト数の割合(%): ドメイン
----: ------------: --------------------: --------
1: 13243: 16.23%: .com (Commercial)
: 1262: 1.26%: aol.com
2: 11783: 25.64%: .jp (Japan)
: 9592: 22.19%: ad.jp
: 1043: 1.97%: co.jp
3: 10073: 11.62%: .net (Network)
: 1926: 1.71%: uu.net
4: 9657: 13.31%: [未解決アドレス]
5: 7388: 8.04%: .uk (United Kingdom)
: 5792: 5.74%: ac.uk
: 1510: 1.99%: co.uk
: 18502: 25.16%: [残り: 82 ドメイン]
SUB コマンド群によって下層に示された項を制御することができます。
下層のためのsub-SORTBY と
sub-FLOOR コマンドも別々にあります。(リクエストレポートのようないくつかのレポートでは、ARGSSORTBY と ARGSFLOOR と呼ばれています。)
注意すべきは、下層は常にその層の親と共に表示されるので、それらはデータの並べ替えを守らないことです。また下層は、リストされた項目の総数には勘定されず、従って1列目で分かるように、上記の例では5つのドメインしか表示されません。(この理由で、N 列 は階層的レポートでは特に役に立ちます。)
リクエストレポートでどのファイルがリンクされるかは、LINKINCLUDE と LINKEXCLUDE コマンドによって制御され、さまざまなリンク元レポートでどのファイルがリンクされるかは、REFLINKINCLUDE と REFLINKEXCLUDE コマンドによって制御されます。リクエストレポートでのリンクは BASEURL コマンドによっても影響を受けます。
レポート製作ソフト analog3.90beta2/Unix.
解析時間: 8 秒.
レポートの最後で、どの analog のバージョンがレポートを生成したかということと、解析した時間が分かる。
この章は、analog の全てのレポートとそれらを制御する主なコマンドを要約します。これらのコマンドについての詳細は、以下を参照してください。
時間レポート,
他のレポート,
階層的レポート
各レポートで勘定されるものについての詳細については、
Analog の定義 を見て下さい。
統計開始日時:1998年9月24日(木)13時48分.
解析期間:1998年9月16日(水)09時52分 〜 1998年9月21日(月)02時04分 (4.7 日).
レポートの始めの2行はプログラムを起動した日付とプログラムからデータを取り込んだ日付を示しています。
(括弧の中の数字は、1998年9月24日(木)13時48分からの7日間を参考にしています)
成功したリクエスト件数: 79,646 (48,947)
上記の日別平均: 17,036 (6,992)
ホームページへの成功したリクエスト件数: 31,138 (18,689)
上記の日別平均: 6,660 (2,669)
リクエストエラー件数: 9,008 (6,378)
リダイレクトされたリクエスト件数: 344 (235)
異なるファイルへのリクエスト件数: 8,180 (2,884)
異なるホストからのリクエスト件数: 6,640 (4,991)
壊れたログファイルの行数: 2
転送データ量: 976.92 Mバイト (627.06 Mバイト)
上記の日別平均: 208.96 Mバイト (89.58 Mバイト)
「全体の概要」は、分析されたデータの全体的な統計を表します。最も重要なのは、リクエスト 数 (グラフィックを含んだダウンロードされたファイルの合計数); ページ別リクエスト 数 (あなたのサイト上にある種々のページ数); 異なるホスト 数 (異なるコンピュータからのリクエスト数); そしてバイト単位の 転送されたデータ 量です。個々の行が正確に何を意味するかは、Analog の定義 の章を見てください。
括弧内の数字は、このレポートの先頭で表された7日間での値を表しており、もし TO コマンドがあったなら、それは TO 時刻以前の7日間を表しており、もしコマンドがないのならば、レポートの起動日以前の7日間を表しています。
サイトへの訪問者数またはあなたが訪問した数を見つけることができないとき、そしてそれができるといわれているどのプログラムも信じないときは、このことについて議論した どのようにして Web が動作するか を参照して下さい。
GENERAL コマンドを使ってこのレポートを出力したり、削除したりすることができます。LASTSEVEN コマンドを使い、最後の7日間の数字を含んだり除いたりすることができます。あなたの設定した他のオプションによって、上記の出力は少し異なる行を与えるかもしれません。
1単位 (
) は 800
ページへのリクエスト あるいはその値未満を表す.
週の始めの日: リクエスト数: ページ数:
---------: -----: -----:
1998年 9月13日: 69614: 25277:
1998年 9月20日: 10032: 5861:
最も混雑した週(次の日から1週間):1998年 9月13日 (26,654 ページへのリクエスト)
これらのレポートは各時間帯の中でのリクエスト数を示しています。またこれらのレポートのどの時間帯が最も混んでいたのかを示しています。
適切な ON または OFF コマンドを使うことで各レポートを含むか、含まないかを制御することができます。COLS コマンドを使うことで、どの列を表示するかを制御することができます。GRAPH コマンドを使うことで、棒グラフと "最も混んでいる" 利用量がどれなのかを制御することができます。ROWS コマンドを使うことで、表示する行数を決めることができます。BACK コマンドによって、時間に関して行の前後を表示することができます。BARSTYLE コマンドを使へば、棒グラフに使われている図を変えることができます。
1単位(
)は 150
ページへのリクエスト あるいはその値未満を表す.
日: リクエスト数: ページ数:
--: ------------: -------:
日: 2031: 1193:
月: 8001: 4668:
火: 0: 0:
水: 13934: 5915: 
その他
これらのレポートは、レポートの最上部で与えた時間帯での、その週の曜日別、またはその日の時間別の合計リクエスト数を表していています(平均ではなく,または最後の週、最後の日だけの数字でもありません)。
適切な ON または OFF コマンドを使えば、各レポートを含むか含まないかを制御することができます。COLS コマンドを使えば、どの列を記述するかを制御することができます。GRAPH コマンドを使えば、棒グラフをどの計測に対して使うかを制御することができます。BARSTYLE コマンドを使えば、棒グラフを使った画像を変えることができます。
リクエスト数によって始めの5つのファイルがリストされ、リクエスト数によって整列されます。
リクエスト数: バイト数の割合(%): 最終アクセス時刻: ファイル
------------: --------------------: -----------------------: --------
4123: 2.29%: 1998年 9月21日 01時:57分: /~sret1/analog/
3064: 0.15%: 1998年 9月21日 01時:54分: /~sret1/analog/analogo.gif
1737: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar1.gif
1692: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar16.gif
1685: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar8.gif
67345: 97.54%: 1998年 9月21日 02時:04分: [残り: 8,175 ファイル]
その他の全てのレポートはかなりお互いが似ています。以下はそのリストです。もし用語のいくつかに慣れていないときには、Analog の定義 の章を見て下さい。
- ホストレポートは、あなたの側からファイルをダウンロードした全ての コンピュータ をリストします。
- ドメインレポートは、どの 国 からそれらのコンピュータがアクセスしているかのリストです。(もし "未解読 IP アドレス数値" しか与えられていないときには、FAQ を見て下さい)
- 組織別レポートは、コンピュータが登録された 組織 (会社、機関、ISP 等)を表そうと 試みます。
- リクエストレポート(上記の例)は、どの ファイル がダウンロードされたか表します。
- ディレクトリレポートは、どの ディレクトリ にこれらのファイルが由来しているかを表します。
- ファイル種類別レポートは、これらの ファイルの種類 (実際は、拡張子) を表しています。
- ファイルサイズレポートは サイズ によってファイルを分類します。
- 処理時間レポートは、各ファイルを処理する 時間 を表しています。
- リダイレクションレポートは、リダイレクションの結果として出てきたファイル名を表します。
- 失敗したリクエストレポートは、エラーを生じたファイル名を表します。
- リンク元URLレポートは、あなたのファイルに リンクした ページを示します。
- リンク元サイトレポートは、リンク元が動作しているサイトを表します。
- 検索結果レポートと検索語レポートは、あなたのサイトを見つけようとして使っている 検索用語 (あなたが適切な SEARCHENGINE コマンドを使っているとして)を表しています。
- リダイレクトされたリンク元URLレポートは、リダイレクションを引き起こしたリンク元を表しています。
- 失敗したリンク元URLレポートは、本質的に 途切れたリンク のレポートです。
- ブラウザーレポートは、使われている ブラウザー の詳細なバージョンを表しており、ブラウザーの概要は、ベンダー(製造者)毎にそれらを収集しています。
- OS レポートは、ブラウザーの種類が分かる訪問者の OS を表します。
- 仮想ホスト レポートと ユーザ レポートは、言わずもがなです。
- 失敗したユーザレポートは、エラーを起こしたユーザーを表しています。
- ステータスコードレポートは、それぞれの HTTP 状態コード の数値を表しています。
あなたがこれら全てのレポートを得ることができるかどうかは、ログファイルに記録されている情報に依存しています。
いつも通り、適切な ON または OFF コマンドを使って、それぞれのレポートを含むかどうかを制御することができます。
COLS コマンドによって、どの列を表示するかを制御することができます。
SORTBYコマンドによって、レポートのデータの並べ方を変えることができます。
FLOORコマンドによって、何項を表示するかを制御することができます。
出力用の INCLUDE と EXCLUDE コマンドを使って、個々の項を含んだり除外したりすることができます。
OUTPUTALIAS コマンドを使って、レポートの中の項の名前を変えることができます。
最下段の "示されていない" 行は、レポートに対して FLOOR 以上に十分なデータ転送量が得られなかった場合と、あからさまに EXCLUDE (除外)された場合の数を表している。
例えばこのドメインレポートのように、大部分のレポートは階層構造を持っています:
始めの5個のドメインが示され、リクエスト数によってデータが並べられています。
順位: リクエスト数: バイト数の割合(%): ドメイン
----: ------------: --------------------: --------
1: 13243: 16.23%: .com (Commercial)
: 1262: 1.26%: aol.com
2: 11783: 25.64%: .jp (Japan)
: 9592: 22.19%: ad.jp
: 1043: 1.97%: co.jp
3: 10073: 11.62%: .net (Network)
: 1926: 1.71%: uu.net
4: 9657: 13.31%: [未解決アドレス]
5: 7388: 8.04%: .uk (United Kingdom)
: 5792: 5.74%: ac.uk
: 1510: 1.99%: co.uk
: 18502: 25.16%: [残り: 82 ドメイン]
SUB コマンド群によって下層に示された項を制御することができます。
下層のためのsub-SORTBY と
sub-FLOOR コマンドも別々にあります。(リクエストレポートのようないくつかのレポートでは、ARGSSORTBY と ARGSFLOOR と呼ばれています。)
注意すべきは、下層は常にその層の親と共に表示されるので、それらはデータの並べ替えを守らないことです。また下層は、リストされた項目の総数には勘定されず、従って1列目で分かるように、上記の例では5つのドメインしか表示されません。(この理由で、N 列 は階層的レポートでは特に役に立ちます。)
リクエストレポートでどのファイルがリンクされるかは、LINKINCLUDE と LINKEXCLUDE コマンドによって制御され、さまざまなリンク元レポートでどのファイルがリンクされるかは、REFLINKINCLUDE と REFLINKEXCLUDE コマンドによって制御されます。リクエストレポートでのリンクは BASEURL コマンドによっても影響を受けます。
レポート製作ソフト analog3.90beta2/Unix.
解析時間: 8 秒.
レポートの最後で、どの analog のバージョンがレポートを生成したかということと、解析した時間が分かる。
この章は、analog の全てのレポートとそれらを制御する主なコマンドを要約します。これらのコマンドについての詳細は、以下を参照してください。
時間レポート,
他のレポート,
階層的レポート
各レポートで勘定されるものについての詳細については、
Analog の定義 を見て下さい。
統計開始日時:1998年9月24日(木)13時48分.
解析期間:1998年9月16日(水)09時52分 〜 1998年9月21日(月)02時04分 (4.7 日).
レポートの始めの2行はプログラムを起動した日付とプログラムからデータを取り込んだ日付を示しています。
(括弧の中の数字は、1998年9月24日(木)13時48分からの7日間を参考にしています)
成功したリクエスト件数: 79,646 (48,947)
上記の日別平均: 17,036 (6,992)
ホームページへの成功したリクエスト件数: 31,138 (18,689)
上記の日別平均: 6,660 (2,669)
リクエストエラー件数: 9,008 (6,378)
リダイレクトされたリクエスト件数: 344 (235)
異なるファイルへのリクエスト件数: 8,180 (2,884)
異なるホストからのリクエスト件数: 6,640 (4,991)
壊れたログファイルの行数: 2
転送データ量: 976.92 Mバイト (627.06 Mバイト)
上記の日別平均: 208.96 Mバイト (89.58 Mバイト)
「全体の概要」は、分析されたデータの全体的な統計を表します。最も重要なのは、リクエスト 数 (グラフィックを含んだダウンロードされたファイルの合計数); ページ別リクエスト 数 (あなたのサイト上にある種々のページ数); 異なるホスト 数 (異なるコンピュータからのリクエスト数); そしてバイト単位の 転送されたデータ 量です。個々の行が正確に何を意味するかは、Analog の定義 の章を見てください。
括弧内の数字は、このレポートの先頭で表された7日間での値を表しており、もし TO コマンドがあったなら、それは TO 時刻以前の7日間を表しており、もしコマンドがないのならば、レポートの起動日以前の7日間を表しています。
サイトへの訪問者数またはあなたが訪問した数を見つけることができないとき、そしてそれができるといわれているどのプログラムも信じないときは、このことについて議論した どのようにして Web が動作するか を参照して下さい。
GENERAL コマンドを使ってこのレポートを出力したり、削除したりすることができます。LASTSEVEN コマンドを使い、最後の7日間の数字を含んだり除いたりすることができます。あなたの設定した他のオプションによって、上記の出力は少し異なる行を与えるかもしれません。
1単位 (
) は 800
ページへのリクエスト あるいはその値未満を表す.
週の始めの日: リクエスト数: ページ数:
---------: -----: -----:
1998年 9月13日: 69614: 25277:
1998年 9月20日: 10032: 5861:
最も混雑した週(次の日から1週間):1998年 9月13日 (26,654 ページへのリクエスト)
これらのレポートは各時間帯の中でのリクエスト数を示しています。またこれらのレポートのどの時間帯が最も混んでいたのかを示しています。
適切な ON または OFF コマンドを使うことで各レポートを含むか、含まないかを制御することができます。COLS コマンドを使うことで、どの列を表示するかを制御することができます。GRAPH コマンドを使うことで、棒グラフと "最も混んでいる" 利用量がどれなのかを制御することができます。ROWS コマンドを使うことで、表示する行数を決めることができます。BACK コマンドによって、時間に関して行の前後を表示することができます。BARSTYLE コマンドを使へば、棒グラフに使われている図を変えることができます。
1単位(
)は 150
ページへのリクエスト あるいはその値未満を表す.
日: リクエスト数: ページ数:
--: ------------: -------:
日: 2031: 1193:
月: 8001: 4668:
火: 0: 0:
水: 13934: 5915: 
その他
これらのレポートは、レポートの最上部で与えた時間帯での、その週の曜日別、またはその日の時間別の合計リクエスト数を表していています(平均ではなく,または最後の週、最後の日だけの数字でもありません)。
適切な ON または OFF コマンドを使えば、各レポートを含むか含まないかを制御することができます。COLS コマンドを使えば、どの列を記述するかを制御することができます。GRAPH コマンドを使えば、棒グラフをどの計測に対して使うかを制御することができます。BARSTYLE コマンドを使えば、棒グラフを使った画像を変えることができます。
リクエスト数によって始めの5つのファイルがリストされ、リクエスト数によって整列されます。
リクエスト数: バイト数の割合(%): 最終アクセス時刻: ファイル
------------: --------------------: -----------------------: --------
4123: 2.29%: 1998年 9月21日 01時:57分: /~sret1/analog/
3064: 0.15%: 1998年 9月21日 01時:54分: /~sret1/analog/analogo.gif
1737: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar1.gif
1692: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar16.gif
1685: 0.01%: 1998年 9月21日 01時:53分: /~sret1/images/bar8.gif
67345: 97.54%: 1998年 9月21日 02時:04分: [残り: 8,175 ファイル]
その他の全てのレポートはかなりお互いが似ています。以下はそのリストです。もし用語のいくつかに慣れていないときには、Analog の定義 の章を見て下さい。
- ホストレポートは、あなたの側からファイルをダウンロードした全ての コンピュータ をリストします。
- ドメインレポートは、どの 国 からそれらのコンピュータがアクセスしているかのリストです。(もし "未解読 IP アドレス数値" しか与えられていないときには、FAQ を見て下さい)
- 組織別レポートは、コンピュータが登録された 組織 (会社、機関、ISP 等)を表そうと 試みます。
- リクエストレポート(上記の例)は、どの ファイル がダウンロードされたか表します。
- ディレクトリレポートは、どの ディレクトリ にこれらのファイルが由来しているかを表します。
- ファイル種類別レポートは、これらの ファイルの種類 (実際は、拡張子) を表しています。
- ファイルサイズレポートは サイズ によってファイルを分類します。
- 処理時間レポートは、各ファイルを処理する 時間 を表しています。
- リダイレクションレポートは、リダイレクションの結果として出てきたファイル名を表します。
- 失敗したリクエストレポートは、エラーを生じたファイル名を表します。
- リンク元URLレポートは、あなたのファイルに リンクした ページを示します。
- リンク元サイトレポートは、リンク元が動作しているサイトを表します。
- 検索結果レポートと検索語レポートは、あなたのサイトを見つけようとして使っている 検索用語 (あなたが適切な SEARCHENGINE コマンドを使っているとして)を表しています。
- リダイレクトされたリンク元URLレポートは、リダイレクションを引き起こしたリンク元を表しています。
- 失敗したリンク元URLレポートは、本質的に 途切れたリンク のレポートです。
- ブラウザーレポートは、使われている ブラウザー の詳細なバージョンを表しており、ブラウザーの概要は、ベンダー(製造者)毎にそれらを収集しています。
- OS レポートは、ブラウザーの種類が分かる訪問者の OS を表します。
- 仮想ホスト レポートと ユーザ レポートは、言わずもがなです。
- 失敗したユーザレポートは、エラーを起こしたユーザーを表しています。
- ステータスコードレポートは、それぞれの HTTP 状態コード の数値を表しています。
あなたがこれら全てのレポートを得ることができるかどうかは、ログファイルに記録されている情報に依存しています。
いつも通り、適切な ON または OFF コマンドを使って、それぞれのレポートを含むかどうかを制御することができます。
COLS コマンドによって、どの列を表示するかを制御することができます。
SORTBYコマンドによって、レポートのデータの並べ方を変えることができます。
FLOORコマンドによって、何項を表示するかを制御することができます。
出力用の INCLUDE と EXCLUDE コマンドを使って、個々の項を含んだり除外したりすることができます。
OUTPUTALIAS コマンドを使って、レポートの中の項の名前を変えることができます。
最下段の "示されていない" 行は、レポートに対して FLOOR 以上に十分なデータ転送量が得られなかった場合と、あからさまに EXCLUDE (除外)された場合の数を表している。
例えばこのドメインレポートのように、大部分のレポートは階層構造を持っています:
始めの5個のドメインが示され、リクエスト数によってデータが並べられています。
順位: リクエスト数: バイト数の割合(%): ドメイン
----: ------------: --------------------: --------
1: 13243: 16.23%: .com (Commercial)
: 1262: 1.26%: aol.com
2: 11783: 25.64%: .jp (Japan)
: 9592: 22.19%: ad.jp
: 1043: 1.97%: co.jp
3: 10073: 11.62%: .net (Network)
: 1926: 1.71%: uu.net
4: 9657: 13.31%: [未解決アドレス]
5: 7388: 8.04%: .uk (United Kingdom)
: 5792: 5.74%: ac.uk
: 1510: 1.99%: co.uk
: 18502: 25.16%: [残り: 82 ドメイン]
SUB コマンド群によって下層に示された項を制御することができます。
下層のためのsub-SORTBY と
sub-FLOOR コマンドも別々にあります。(リクエストレポートのようないくつかのレポートでは、ARGSSORTBY と ARGSFLOOR と呼ばれています。)
注意すべきは、下層は常にその層の親と共に表示されるので、それらはデータの並べ替えを守らないことです。また下層は、リストされた項目の総数には勘定されず、従って1列目で分かるように、上記の例では5つのドメインしか表示されません。(この理由で、N 列 は階層的レポートでは特に役に立ちます。)
リクエストレポートでどのファイルがリンクされるかは、LINKINCLUDE と LINKEXCLUDE コマンドによって制御され、さまざまなリンク元レポートでどのファイルがリンクされるかは、REFLINKINCLUDE と REFLINKEXCLUDE コマンドによって制御されます。リクエストレポートでのリンクは BASEURL コマンドによっても影響を受けます。
レポート製作ソフト analog3.90beta2/Unix.
解析時間: 8 秒.
レポートの最後で、どの analog のバージョンがレポートを生成したかということと、解析した時間が分かる。
Analog の定義
この章では、analog に現れる各項目の定義と、何が各項目で正確に勘定されるかを明らかにします。しばしば少し技術的な話になりますから、もしあなたが簡単にレポートを理解したいときには、最初に
Analog のレポート の章を読むことを薦めます。
幾つかの基本的な定義から始めましょう。
ホスト は、ファイルを要求するコンピュータのことです。ファイルは、ページ (即ち、HTML の文書)あるいは画像のようなその他の物です。 全リクエスト は、ページ、グラフィック、等を含む、リクエスト(要求)された全てのファイルを勘定します(ある人々は、これをヒット数と呼びますが、この言葉は他の人々によっては別の意味で使われますので、私はこの言葉を避けました)。ページへのリクエスト は、明らかにページだけを勘定します。リクエストに対する 参照(レファラー) は、ユーザ(あるいは彼のコンピュータ)が今現在見ているファイルが辿ってきた元の場所を意味しています。もしユーザが、現在のページに達するリンクを辿れば、一つ前のページでしょう。ページに現れている画像の場合には、参照は、その画像を含んでいるページでしょう。
analog は、リクエストに関する HTTP の状態(ステータス)コードに基づいて、4種類のリクエストの違いを認識します。ステータス(状態)コードレポートを見れば、各状態コードに対する総リクエスト数、およびそのコードの意味が分かります。(あるいは、詳細は、
HTTP の仕様 を見てください。)
最初に、成功したリクエスト は、200(文書が送られた)と304(この場合、文書が要求されたが、最近修正が無かったため、ユーザがキャッシュされた手元のコピーを用いたからである。)の HTTP の状態コードを持ったリクエストのことである。時には、ログファイルのある行が状態コードを含まない場合がある。これらの行も、analog では、成功したとみなされる。
リダイレクトされたリクエスト は、300番代の他の状態コードを持ったリクエストであり、ユーザが要求したのと異なるページを渡されたことを意味している。これらのリクエストが起きる理由の大部分は、ユーザが誤って後ろのスラッシュ(/)を付けないでディレクトリを指定した場合である。サーバは、("多分あなたは、以下のことを意味したのでしょう")リダイレクションで応え、ユーザは、2度目の接続を試みて正しい文書を手に入れようとします(しかし通常、ユーザが何かしようとしても、ブラウザは自動的に接続するでしょう)。リダイレクトされた他の主な理由は、"click-thru" と呼ばれる広告のバンナーのためです。
失敗したリクエスト は、400番代のコード(リクエストエラー)を持った文書のためであるか、500番代のコード(サーバエラー)のためである。それらは色々な理由から来ているが、大部分の理由は、要求されたファイルが見つからなかったか、読めないようになっているかのどちらかである。
最後に、情報をもった状態コードを返すリクエスト は、100番代の状態コードを持ったものであり、現在は非常にまれである。
全体の概要に挙げられているログファイルの行には、他に幾つかの種類がある。
状態コードの無い行 は、状態コードが付いていないログファイルの行を指しており、全体の概要中の成功したリクエストは、状態コードの付いた行だけを勘定している。しかし、もしその行がリクエストしたファイル名を含んでおり、そのファイル名が勘定されているならば( LOGFORMAT 中で、米印がついていない場合)、成功に勘定される。
壊れたログファイルの行数 は、analog が文法を理解できない行のことである。そして、除外されたログファイルの項目数 は、我々が明示して 除外した 項目のことである。ホームページへの成功したリクエスト件数は、要求したファイルが与えられ、しかもそのファイルが PAGEINCLUDE コマンドでページと定義された行を参照している場合である。
大部分のレポートは、リクエスト数、ページへのリクエスト数、バイト数、そして最後にアクセスした日を勘定して、成功したリクエストのみを含んでいる。もちろん、レポートがリダイレクションか不成功のレポートでなければの話であるが。時間レポート、状態コードレポート、処理時間レポートそれにファイルサイズレポートには、更に制限がついている。即ち、ログファイルの行は、要求されたファイル名を含み、かつファイル名も勘定されていることが必要である。これは、もしサーバが異なるログ取っている場合に、2重に勘定することを避けるためである。
各 時間に関係しないレポート の最後に "一覧にされていない" 行は、以下の2つである。
OUTPUTEXCLUDE コマンドを使って、出力からあからさまに除外されている項目と、レポートに出力するには、
フロア が足りないために一覧にされなかった項目である。
全体の概要での括弧内の数字は、最近7日間に対する値である。TO 日時前の7日間か、もし TO 日時が与えられていないときには、プログラムが走る前の7日間である。(ログファイルが使用された最後から7日前であれば、もっと良いのだが、しかしログファイル全体を読むまでそれがいつなのか分からず、それでは遅すぎる。)もしリクエストの全てかどれも7日以内に収まらない場合には、それらの値は表示されない。
ドメインレポートでは、"ドメインが与えられていない" という注意は、ホスト名がドットを含んでいないことを意味する。"未知のドメイン" は、ドットを含んでいるが、ドメイン名が ドメインファイル 中に見つからなかったことを意味する。ホストとそれに関係するドメインは、デバッグ モードをオンにすれば、一覧にされる。
エラーと注意
この章は、analogが生成する全てのエラーと注意についての出力を、短い説明と一緒に一覧にして見せます。
始めに、クラッシュ、エラー、注意とデバッグ用メッセージの違いを理解してください。最初にクラッシュは、analogが全出力ファイルを生成しないで、早めに終了してしまうことです。システムはメッセージを出力するかもしれませんが、analogはそれ自身の出力を何らしません。analogはクラッシュしないはずです。もしクラッシュしたなら、私に報告をしてください。
エラーは、analogが仕事を終了するのを妨げる何かのことです。エラーが起きたときには、analogは analog: Fatal error: という言葉で始まるメッセージを出力し、何が起きたかをあなたに告げるでしょう。
注意は、analogとっては致命的ではない問題のことです。analogは動作しつづけるでしょう。これらは、ファイルが見つからないという危険なものから、単純に報告というものまであります。これらは、analog: Warning という言葉から始まるメッセージを出力します。注意の出力を止めるには、WARNINGS というコマンドを使えばできます。
最後に、デバッグのメッセージはプログラムの状態についての情報を与える。その情報は、1文字とコロンで始まる。デバッグをオンにしない限り、デバッグメッセージは得られない。
モニターの代わりにファイルにこれらのメッセージを保存しようとするなら、ERRFILE というコマンドを持ちいれば良い。モニターにこれらのメッセージを表示する文字幅を決めるには、ERRLINELENGTH というコマンドを持ちいれば良い。
さてこれから全ての可能な エラー と 注意 の詳細を述べよう。
- Ran out of memory: cannot continue
- analogはメモリを使い果たしてしまった。もしOS が許すなら、analogが使え
るメモリを増やしてみよ。
あるいは、LOWMEM コマンドを使って
見よ。
- Cannot ignore mandatory configuration file
- Readme の
義務的な環境設定ファイル(mandatory configuration file)について
の章を見よ。
- Can't find language file
Language file too short
Language file contains excessively long lines
- analog は正しい書式の言語ファイルを用いないと動作できない。
言語ファイルについての記述を見よ。
- Attempted to read more than 50 configuration files
- これに対する最も可能性の高い説明は、
CONFIGFILE を用いて
あなたが偶然無限ループを作ってしまったことです。例えば、環境設定ファイル
がまた自分自身を含んでいるという。
- Incorrect default given in anlghead.h
Default given in anlghead.h too short
- あなたがコンパイル時に、anlghead.h のファイルに誤った環境を
設定したとき、analog はあなたにそれを直せと告げている。
- Failed to open output file for writing
- analog はあなたが指定した出力ファイルを作れないか、書き込むことができない。
- Cache output file already exists: won't overwrite
- analog は古いキャッシュファイルを上書きできない。まずそのファイルを移動
させるか、削除しなければならない。
- OUTFILE and CACHEOUTFILE are the same
- OUTFILE and CACHEOUTFILE both set to stdout
- これはあなたが望むことではないはずである。なぜなら、一方のファイルは他方
のファイルを上書きしてしまうからである。
- OUTPUT NONE and CACHEOUTFILE none selected
- 出力をしないことを選択したことになっている。
注意は致命的ではないことを覚えて置いてください。実際いくつかの注意はほとんど問題にならない。注意のメッセージを抑えるためには、
WARNINGS というコマンドを使えばよい。注意は幾つかの異なる種類に分けられ、注意のメッセージ中に1文字で表される。種類は以下に与えられる。
- C
- 不正な設定がされた。
- D
- 疑問のある設定がされた。
- E
- コマンド ERRFILE が使われた
- F
- ファイルが無いか壊れている。
- L
- ログファイルに明らかな問題がある。
- M
- ログファイルに多分問題がある。
- R
- 空のレポートの出力を止めよ。
この分野の注意は、不正な設定を意味する。analog はあなたの設定を無視するか、その設定で可能な限りベストを尽くす。この分野の注意を網羅するには、あまりにも数が多すぎる。エラーメッセージを与えたその特別な 設定コマンドcommand についての記述を参照すべきである。以前のバージョンの analog で動作したコマンドがエラーを出力した場合には、
古いバージョンからの改訂 を参照すること。
この分野は、意図したとおりに動作せずに設定が疑わしいときの注意である。analog はこの場合、勝手にあなたの設定を無視することはない。
- LOGFORMAT with no subsequent logfile
- LOGFORMAT コマンドを設定したが、その設定を行うログファイルが
見当たらない。多分あなたは、 LOGFILE コマンドの後に
LOGFORMAT コマンドを設定したはずである。あなたは、
LOGFILE コマンドの前に LOGFORMAT コマンドを設定
するか、代わりに DEFAULTLOGFORMAT コマンドを使いなさい。
詳細については ログの書式指定
についての章を参照しなさい。
- Offset not a multiple of 30
Offset more than 25 hours
- 時刻のオフセット は、時間帯の時差を
修正する意味である。この時間差は、通常−25から+25時間の間であり、
それは30分の整数倍である。多分あなたは、オフセットを誤って分の代わりに
時間で設定したと思われる。
- FROM time is later than the present
- 通常これは、どの項目も計数されないことを意味する。analog は、あなたの
コンピュータあるいはサーバの時刻が間違っている場合には、修正しようとし
ません。あなたは、コマンド
TIMEOFFSET または
LOGTIMEOFFSETを使用して
時刻を修正するべきです。
- SORTBY doesn't match FLOOR
SORTBY doesn't match SUBSORTBY
(or FLOOR/SUBFLOOR)
SORTBY (or FLOOR or GRAPH) isn't
included in COLS
- 1つのレポート内で、整理(sort)と階層(floor)が 両立していることは
必要なことであり、それら全ては COLS に含まれるべきである。
(時刻と関連の無いレポート につ
いての章を参照せよ。)
- Column N with SORTBY ALPHABETICAL/RANDOM
- 項目が忙しさの順番に並んでないのに、番号がついているのは多分誤りである。
- Time reports have not all got same value of BACK
- 通常全ての 時刻レポート が同じ時間の向
きに動作しているのは見やすい。
- Report contains no COLS
- 1つのレポートに対して空の COLS の一覧が得られた。単に一覧名
が並んでいるだけであり、それらについての情報は何も得られていない。
- LOWMEM 3 prevents that item being cached
- キャッシュファイル が作成されているが、1つの項が、
LOWMEM コマンドのために記録されて
おらず、従ってキャッシュファイルに保存されない。
この分野にはたった1つの注意がある。
- Redirecting future diagnostic messages
- エラー、注意、デバッグそれに PROGRESSFREQ の診断の出力先を変更
するために ERRFILE コマンドが使われている。この注意は、あなたが
それらのメッセージを見過ごさないようにするためのものである。
この分野は、開いたり読んだりするのに失敗したファイルを診断するためのものである。これらは深刻なものであるが、大部分のメッセージは読めば分かるはずである。特に以下に挙げる2つのメッセージは説明するに値するものである。
- Can't auto-detect format of logfile
- LOGFORMAT コマンドは自動認識に設定
されているが、ログファイルの最初の行がどの標準書式にもなっていない。
このエラーは、あなた自身の設定した LOGFORMAT を
LOGFILE コマンドの後ろに置き、そのためそのログファイル中では
有効にならない場合にしばしば起きる。
- DNS lock file already exists
- 2個の analog が同時に DNS ファイルに書き込むのを防ぐために、空の
"ロックファイル" が作成され、2番目の analog に
DNS WRITE の代わりに、DNS LOOKUP を使うように指示
する。もし analog がクラッシュしたとき、ロックファイルが削除されない場合
がある。そのためもし他の analog が動作してないにもかかわらず、あなたが
"already exists" ("すでに存在する" )メッセージを
受けたなら、あなた自身でそのロックファイルを削除するする必要がある。
analog がログファイルを読み込んだとき、そのログファイルに何か誤りがあるかどうか
を確認する。
- Large number of corrupt lines
- これはログファイルか LOGFORMAT
の書式に問題があることを示している。その理由として、
ログファイルの選択
についての章に可能性が述べられている。
- Logfiles overlap: possible double counting
- 同じ項目を勘定している2個のログファイルにおいて、その項目の時刻が同じで
ある。多分あなたは同一の2個のログファイルを読み込んでいるか、あるいは
LOGFORMAT の設定で、
analog が幾つかの項目を無視するように指示するべきであった。あるいは、
2個のログファイルは実際異なるものであり、問題はどこにも存在しなかった。
analog はログファイルの時刻を確認するだけで、それらの詳細については確認
しない。この最後の場合には、生成された統計は依然として正しい。
この分野は、analog が予期しない結果を生成するかもしれないログファイルの書式
についての注意である。
- Logfile contains lines with no [whatevers], which are being
filtered
- この注意は通常害は無い。これは多分例を挙げればうまく説明できよう。
あなたがあるファイルを解析の対象から 除外 し
ているが、どのファイルをブラウザーが読んでいるかではなく、使用されている
ブラウザーについての情報を含んでいるブラウザー・ログも解析しているとしよ
う。このとき、除外されているファイルを読んでいるブラウザーを除外すること
はできない。なぜなら、どのブラウザーが何をしているかは分からず、従って
全てのブラウザーが解析に含まれてしまうからである。
- Logfile contains lines with no file names (or bytes): page (or byte)
counts may be low
- もしログファイルがファイル名を含んでいないときには、analog はリクエスト
はページを要求しているのではないと仮定する。同様に、転送されたバイト数
が与えられていない場合には、analog は転送データ量をゼロバイトと仮定する。
従って、その行に記述されていない他の項目に依存する、ページのリクエスト数
あるいはバイト数は、低く見積もられる。
これは、analog が空のレポートを禁止しているときに現れる。どのログファイルにも適切な項目が含まれていないからかもしれないし、
LOWMEM コマンドがそれらの項目の記録を禁止しているからかもしれない。
これは analog が生成した注意ではないが、analog がもはや必要としないと判断して、ログファイルの全部を読まずに閉じていることに、起因していると考えられる。
よく聞かれる質問
このページの一覧は6つの章に分かれている:
- 始めに
- 基本的環境設定
- 出力結果の理解
- 進んだ使い方
- フォームインタフェース
- プログラム設計の考え方
この分野の大部分の質問は、
analog を使うにあたって の章で答えを見出せます。もし analog を走らすことができなかったら、この章を見てください。
- analog は setup.exe を持っていない。
持っていません。そのファイルは必要ありません。ファイルはそれ自身で動
作します。Windows 上での analog の
使い方 を見てください。
- analog は DOS のウィンドウを一瞬開いて終了してしまいます。
これは正しい振る舞いです。analog は Report.html という
ファイルを作成したはずです。 Windows 上で
の analog の使い方 を見てください。
- analog をコンパイルしようとすると、エラーメッセージをはく。(例えば、
SunOS 5)。
多分 Makefile を編集する必要があります。
他のプラットホーム上での analog の使い方
の章と Makefile 自身に幾つかのプラットフォームに依存した注意が書かれて
います。
- analog は動作しているときに、ログファイルに書き込んでくれません。
analog はログファイルには書き込みません。あなたの Web サーバが
ログファイルに書き込みをし、analog はそれらを読むだけです。
analog を使うにあたって を見て下さい。
- analog は、存在しない /usr/local/etc/httpd/analog/analog.cfg
のようなファイルを探しにいきます。
これらのファイルの位置をコンパイルする前に、 anlghead.h に
設定しなければなりません。
- analog は IIS で生成された、拡張されたログファイルを読みません。
このサーバは、全ての行ではなく、ログファイルの一番上にだけ日付を
書き、ログを取っている間に日付が変わっても新しい日付を書きません。そのため
analog は記録中の最後の記入がいつ生じたのか判断できません。更なる詳細と
どうすべきかは、
ログファイルの選択
の章を見てください。
- エラーメッセージは何を意味するのですか。
エラーと注意 についての章を
見てください。
- 私のブラウザーから analog を走らせようとしたが、うまくいかな
かった。
analog は CGI プログラムとして走らせるべきではありません。CGI
プログラムのディレクトリに入れてもいけません。代わりに特別な
CGI プログラム を使うべきです。
- analog は2000年対応のプログラムですか。
はいそうです(以前のバージョンもそうです)。analog は西暦の下2桁
表現を 1970 〜 2069 の間であると解釈します。
analog は沢山の環境設定用のコマンドを持っており、それら全てはanalog のカスタマイズ の章に一覧が載っている。最も頻繁になされる質問が以下に箇条書きにされています。もしあなたの質問がここに無ければ、索引 を試してください。
- 幾つかの異なる統計ページを作成したい。このとき analog のコピーを幾つか
インストールしなければならないのでしょうか。
いいえ。1個だけインストールし、異なる
環境設定ファイル で走らせてください。
- 私の analog.cfg は多くの CONFIGFILE コマンドを
を含んでいるが、1個のレポートしか生成されない。
analog は一回の動作で1個のレポートを生成することができます。幾つかの
レポートを生成するためには、何回も analog を走らせなければなりません。
- 毎日のレポートはなぜ最近の6週間の記録しか示さないのでしょうか。
これはFULLDAYROWS コマンド
で制御されます。
- 時間レポートはなぜ全て0リクエストになるのでしょうか。
それらはページに対して0リクエストだけするようになっているのでしょう。
PAGEINCLUDE を使って、
ファイルをページとして計算するようにさせる必要があるでしょう。
- どうしたら、私のサイトからのアクセスを無視するようにできるでしょう
か。
HOSTEXCLUDE コマンドを使いなさ
い。
- どうしたら、全ての人ではなく私だけのホームページの情報を得られるで
しょうか。
FILEINCLUDE コマンドを使いなさ
い。
- "DIREXCLUDE /mydir/" コマンドを使ったが、
そのディレクトリのファイルは依然として一覧に出てくる。
DIREXCLUDE は、ディレクトリレポートにだけ影響を及ぼすが
他のレポートには関係が無い。代わりに、
"FILEEXCLUDE /mydir/*" を使いなさい。
- "FILEEXCLUDE /cgi-bin/script.pl" コマンド
を使ったが、そのファイルは依然としてリクエストレポートに現れます。
そのファイルがもし検索引数を持っているなら、FILEEXCLUDE
コマンドを使うにはちょっとした注意が必要です。これについては、
検索引数 についての章に説明があります。
- 20個以下のリクエストのファイルも、リクエストレポートの一覧に載せたい
ときには、どうしたらよいでしょう。
REQFLOOR コマンドを使いな
さい。
- なぜ私のブラウザーとレファラーレポートは空欄なのでしょう。
多分あなたのログファイルは、ブラウザーとレファラーについて何の情報も
含んでいないのでしょう。
- なぜレファラーレポートは適切に並べ替えられないのでしょう。
適切に並べ替えられています。しかし 検索引数
もファイルの右側についてきて、これが順番を狂わせているのです。もし
REFARGSFLOOR を大きく
設定するなら、検索引数が見えなくなるでしょう。または、
N column を含めることに
よって順番をより明白にすることができるでしょう。
- なぜ REQCOLS あるいは REQSORTBY に
P を使えないのでしょう。
リクエストレポート中ではページリクエスト数は意味を持ちません。
なぜなら、それは(もしファイルがページなら)リクエスト数と同じになるし、
(もしそうでなければ)0になるからです。このレポートでページだけを
一覧にしたいなら、代わりにREQINCLUDE pages を使いなさい。
- レファラーレポートにその検索引数をレファラーと一緒に一覧させたい
(あるいはさせたくない)。
検索引数を見られるようにするためには、
REFARGSFLOOR の値を小さ
くし、現れないようにするためには、REFARGSFLOOR の値を大きくす
るか、あるいは
REFARGSEXCLUDE コマンドを
使って全てのファイルを無視するか特別のファイルだけを無視するかすればよい。
- 各レファラーがどのファイルを指しているかを知りたい。
または 各ホストがどのファイルを読んだか知りたい。
または 毎日私のサイトを見にくるホスト数を知りたい。
または 同じような多くの質問がある。
これと同様の質問がたくさんあります。それらはすべて、analog に2種類の
項目を相互参照させたい場合です(例えば、最初の例ではファイルとレファラー
ですし、最後の例ではホストと日付です)。当然これらは役に立ちます。しかし
analog が個別に各項目のみの統計を取り、その後にそれらの相互参照をするため
の十分な情報を記録しないことは、analog のスピードと最小のメモリを使用する
という要求にとっては、根本的なことです。
解決方法は、(例えば)
REFINCLUDE コマンドを使ってある
レファラーからのリクエストにのみ解析を限定するか、
FROM と TO を
使って特別な時間にのみ解析を限定するやり方がある。これでしばしば充分な
結果が得られる。
- 2個のログファイルが完全に異なるリクエストを含んでいるにもかかわらず、
"logfiles overlap" (ログファイルの重複)というメッセ
ージが出てくる。
このメッセージは、中身ではなくファイルの時刻にのみ基づいて出力される。
もしあなたが確実に問題はないと判断できるなら、
WARNINGS -L コマンドでメッセージを
抑えることができる。
- 私のサイトに対する個々の訪問者や訪問に関するデータを得られるだろう
か。
いいえ、技術的に不可能であり、それができるというプログラムを信じては
いけません。詳細については、
Web の動作 の章を参照してください。
- 出力結果の背景色を変えられますか。
はい、できます。正確に行う方法は、スタイルシートを書いて、
STYLESHEET コマンドを
使ってください。
この分野の大部分の質問は、
出力結果の意味 の章に解答があります。もしあなたが analog が何をしているのかを理解したいならば、この章を読むことを強く勧めます。
- データからどうやってヒット数を出せるのでしょう。
私は、ヒット という言葉を使いたくない。なぜなら、人は様々な
意味でこの言葉を用い、従って取り違いやすいからである。私は、
リクエスト を各種のファイル(テキスト、グラフ、等)の転送数に対し
て、また HTML ページの転送数に対しては ページリクエスト を使って
いる。より詳しくは、analog の定義
の章を参照してください。
- 私自身のサイトから、なぜ多くのレファラーがあるのでしょう。
それらは、あなたのサイトの全ての内部リンクから、またあなたのページの
全てのグラフから来ています。より詳しくは、
Web の動作 の章を参照してくださ
い。それらを見たくない場合には、
REFREPEXCLUDE を
使って除外することができます。
- なぜ analog は私のホームページのカウンターの数と一致しない結果を出すの
でしょう。
沢山の理由が考えられます。それらは両方とも同じ日に動きましたか。
あなたは analog を使って、あなたの全てのページとグラフではなく、その1
ページだけに対するリクエストを見ていましたか。analog はそのページに対する
全てのリクエストを記録します。もし、そのページがグラフなら、あなたの
カウンターはグラフを閲覧できるブラウザーからのそのページに対する
リクエストだけを勘定するでしょう。
- ドメインレポートで、なぜ私は "未解決アドレス" のメッセージだけを得るの
でしょう。
あなたのホストは、アクセスするホストの名前ではなく IP アドレスだけを
記録します。DNS 参照 の章を読んで
下さい。または、あなたのサーバの DNS 解決が働くようにしてください。
- なぜ私の CGI スクリプトはリクエストレポートに載らないのでしょう。
もしそれらが他のページへのリダイレクションを引き起こすなら、それらは
リクエストレポートではなく、リダイレクションレポートに載ります。
- なぜリクエストレポートにディレクトリが載っているのでしょう。
それらはディレクトリではなく、ディレクトリと同じ名前をもったページ
です。例えば、私は /analog/ というディレクトリと
/analog/ というページ(これは /analog/index.html
とたまたま同じです)を持っています。
- 誰かが私の pdf ファイルを読むと、沢山のヒットとして勘定されます。
PDF ファイルはしばしばダウンロードされ、一度に1ページずつ読まれます。
この各ページが別々のリクエストとして勘定されます。これは理想的ではないの
ですが、どう対処したら良いのかは分かりません。analog は一回のダウンロード
が何ページに相当しているのか分かりません。通常のように、サーバに対して
リクエストが何回あったかのみを信頼して報告します。後でユーザがそのファイル
をどうしたかなど推測はしません。
- コマンドラインのオプションでどのようなことができますか。
コマンドラインでどの環境設定コマンドを設定するときにも、
+C オプションを使ってみなさい。
- コマンドラインの全てのオプションを教えてください。
索引に一覧があります。
- analog は FTP のログを読めますか。
はいできます。もしあなたが xferlog 書式を使っていれば、
examples のディレクトリに助けとなる設定ファイルがあります。さも
なければ、自分の
LOGFORMAT を書かなければなりません。
(多分あなたは、ファイル転送の行以外は読めないでしょう。)
- どうしたら analog を自動的に毎日動かせますか。
この質問はあなたのコンピュータに依存しています。Unix では、analog を
cron のジョブ("man cron" を見よ)として動かします。以下は私の
毎日 1:50am に動かしている cron 命令です。
50 1 * * * $HOME/bin/analog
Windows NT 上では、at コマンドを用いて同じ事ができますが、
administrator だけが実行できます。Windows 98 では、私はまだ試していませ
んが、タスク スケジューラでできるはずです。Windows 95 では、私の知る限り
できません。
Mac では、
Cron または
CronoTask
と呼ばれるプログラムが同じ事をやってくれます。
- IIS を使っていますが、どのログファイルの書式を使ったらよいでしょう。
W3C の書式が多分最善でしょう。この書式では各項目のオンとオフができ、
記録できる全ての項目を含んでいますが、他の書式ではできません。しかし、
日付の項目をオンにする(初期設定では、オフになっています)ことは、単に
出力の最初に記録するだけでなく、出力自体に必要不可欠なことです。理由は
ログファイル書式の問題点の章を参照
してください。
- 私は多数のバーチャル ドメインを持っています。どのように analog を設定
すべきでしょうか。
examples(例題) のディレクトリにこの問題を議論したファイ
ルがあります。
- ログファイルに一回だけアクセスして、多重レポートを作成できますか。
現時点ではできません。将来これをやりたいのですが、とても大変な仕事に
なりそうです。
- analog を使用していてメモリを使い果たしてしまいました。どうすれば良い
でしょうか。
低メモリの対処法の章を見てください。
- analog は10分間に 20,000,000 個のリクエストを処理していますが、なぜ
私のコンピュータはひどくのろいのでしょうか。
または analog は止まってしまったかのようです。
DNS 参照 をオンにしているなら、動作は遅くなる
でしょう。そうでなければ、多分あなたのコンピュータとハードディスクの
スピードに依っています。それと、同時に何のプログラムが走っているかにも
依ります。PROGRESSFREQ
コマンドを使えば、実際に止まっているのか、単に遅いだけなのかを判断でき
ます。メモリを使い果たしているのなら、
LOWMEM コマンドが役に立つでしょう。
- analog が動作しているページにどうやったらリンクを張れるでしょうか。
anlgform プログラムに希望のオプションを付けて
リンクを張りなさい。あなたのサーバの負荷にも注意してください。
- 私の古いログファイルを全て保存しておかなければいけませんか。
または analog は、ログファイル全体を読み直す代わりに、
古いレポートから統計を取ることができますか。
これらの質問は、
キャッシュファイル
の章で答えられています。
フォームインターフェースについてのマニュアルに
問題解決法 の章もあります。
- 私のブラウザーは、動作しない anlgform.pl のプログラムそのものを表示し
てしまいます。
通常のファイルではないので、あなたのサーバに CGI プログラム
を実行する設定をしてあげなければなりません。そのファイルを
特別な /cgi-bin/ ディレクトリに収めてあげることによって、
しばしば実行可能になります。
- なぜフォームインターフェースは、"Document Returned no Data"
("ドキュメントはデータを含んでいません")というメッセージを出力するので
すか。
メッセージを出力するまでしばらく時間が掛かるのなら、analog が動作を
終了する前に、サーバが多分終了してしまうのでしょう。サーバの一時中断時間
を増やしなさい。
- フォームインタフェースから analog を走らせると画像が表示されませ
ん。
多分 IMAGEDIR を設定
する必要があります。画像ファイルが /cgi-bin/ にあるのなら、
サーバは通常それらを表示しようとしないで、実行しようとするでしょう。
- フォームインターフェースからどうやって異なるログファイルを指定できるの
しょうか。
name=LOGFILE という新しい項目をフォームに増やしてください。
- なぜフォームからリクエストしていない幾つかのレポートが得られるので
もしレポートがフォームに含まれもせず、除外もされていないなら、システ
ムの初期設定が使われたのでしょう。これは、あなたの設定ファイルとコンパイル
時の設定に依存しています。
あるいは "何故あなたはこうしなかったのか。"
- なぜ HEADERFILE は出力ファイル中の
<head> 全体を置き換えないのですか。
なぜならそのようにしたら、ほとんどと言ってよいほど、正しい HTML 出力
が得られないからです。代わりに
スタイルシート を使いなさい。
- なぜ HTML テーブルを使わないのですか。
大部分の画像を使用しないブラウザーはテーブルについてはうまく動作しま
せん。また HTML 2.0 ではテーブルは使用できません。このバージョンは analog
が使用しているものです。
- なぜあなたはまだ HTML 2.0 を使っているのですか。
残念なことに、私の バーチャートは HTML 4.0 では動作しません。
- なぜ、実際にホストレポートで使用しているホストの DNS 参照を行わないの
ですか。
一つ理論的な、またもう一つは実際的な問題があります。理論的には、DNS
参照が行われたときに、どのホストがホストレポートで DNS 参照を利用したかは
換わりうるという問題があります。そして実際問題として、これを利用したとして
実際のあなたが知りたい、どの国あるいはどの組織が最も忙しいかを知るのに
役に立ちません。しかし、
役立つソフト の章に、これを実行してくれ
るパールのスクリプトがあります。
- スレッドを使えば DNS 参照をもっと早くできませんか。
問題は、DNS 参照に使われる標準のコマンドが多くのプラットフォームで
スレッドの使用に対して安全ではなく、そのためプラットフォームに依存した多
くのコードが含まれてしまうことです。しかし、上と同様に
役立つソフト の章にプラットフォーム固有の
プログラムがあります。
- なぜ analog は error_log を解析しないのですか。
これについては、
何が新しいか
の章に詳細に答えられています。しかし一言で言えば、エラーログは各サーバに
よって異なる書式を持っているために、解析は非常に難しい。種々の不成功
レポートは大部分の目的には充分だと思われます。
- 私のサーバはログファイルにローカルな名前を出力します。それらに対して、
共通の接尾辞を付けられますか。
これは初期設定としては良い考えとは言えません。なぜなら、
"unknown" のようなものに対しても接尾辞が付きます。
HOSTALIAS を使えば、いつ
でも接尾辞を付けることができます。正規表現が使える OS では、
エイリアスについての章 に、これを実
行してくれる例があります。
- 今月の1部のデータの伸び率を基にして、1月分のデータを予想できます
か。
いいえできません。特に月初めに近いときには敏感な項目を予想しようとす
る試みには問題が多すぎます。1週間のうちの異なる曜日、1日のうちの異なる
時間帯は問題が多すぎます。私は、疑わしい予測値よりも、生の正確なデータを
出力するほうを選びます。
- ドメインレポートを拡張して、アメリカのどの州の人が訪問したかを言え
ますか。
いいえできません。ある種のプログラムはできるように言いますが、ユーザが
使用しているコンピュータがどこにあるかを告げるることはできます。
しかしこれは、どの ISP あるいは他の大きな組織に対してユーザが実際に使用
している場所とは、まったく異なることです。
- なぜ各言語ファイルの名称に、国別コードの代わりに言語コードを用いない
のか。
人々は国別コードによりなじんでいます。それに、全ての言語に言語コード
があるわけではありません。
- なぜ analog を販売しないのですか。
私は analog をお金のために書いたのではありません。人が analog を使う
のを見るだけで幸せです。また、これをオープンソースにすることで、多くの人
が、将来のバージョンのためにアイデアやコードを送ってくれます。私があの
多くの言語ファイルを得たことをどう思いますか。(もちろん、あなたが望むな
らお金や、親切心からの贈り物や、単にはがきでも...)
まだ納得のいかないことがあるとき、analog に対する助言を得るためには
次の章 を見てください。
メーリングリスト
私は anaolg についての称賛も、バグの報告も歓迎します。私や他の人々は analog のトラブルをかかえる人を喜んで手助けします:これは、バグを見つけるのに助かるし、マニュアルの不明瞭な所を知ることができるからです。
analog に対するメーリングリストは3つあります。
- analog-announce
-
analog についての公表です。例えば、新しいバージョンが出来たときなどに掲示します。普通、年に数回公表があります。
- analog-help
- analog について経験豊富なユーザーから助言をもらいます。これは、プログラムのセットアップ時や、環境設定時に困ったことがあったときに訪れる場所です。普通、即座に返事を得られるでしょう。質問する前にリストの購読を申しこまなければなりません。 メーリングリストの 検索可能な Web 上の書庫 もあります。
- analog-author
- これは私に直接届きます。個人的なコメント用に使ったり、analog-help リストに適さないことに使います。即座に返事を得るか、得られないかは、私の忙しさ次第です。
analog-announce のメーリングリストを購読するには、
analog-announce-request@lists.isite.net
に、本文中に subscribe の言葉を書いて送ってください。この言葉は、subject にではなく本文中に入れなければならないことに注意してください。また、メールアドレスに -request が入っていることに注意してください。
もし analog について助言が必要なら、最初に以下の簡単なことを確認してください。
- FAQ を読んでください。たぶん、あなたの質問には
既に答えていると思います。その場合、質問には答えず、FAQを読むように指示
するだけでしょう。
- 私のサイトにある
バグの
一覧 を読んでください。そのバグがすでに知られているかどうかが分かりま
す。
- Readme の適切なページ、特に
analog を使うにあたって と
analog のカスタマイズ を読んでく
ださい。また、便利な 索引 も見てください。な
まけてマニュアルを読まない人は迷惑です。(マニュアルが不明瞭だったり、適切
な節がよく分からないなら話は別です。もちろん私はそれについて知りたいので
す。)
- 既にあなたの質問が答えられているかどうか、メーリングリストの
Web 上
の書庫 を見てください。
- もし analogo があなたの思うように動かなかったら、
SETTINGS ON 環境設定コマンド
を使って動かし、analog はどのオプションを使おうとしているのかを見てください。
指示が細かくて申し訳ありません。しかし、メーリングリスト中の多くのメールは送られる必要がないものであり、みなさんの時間の無駄になってしまいます。以前に述べた通り、本質的な質問のメールを歓迎します。
それでもまだ助言が必要なら、analog-help のメーリングリストに書いてください。最初
に、本文中に subscribe と書いて
analog-help-request@lists.isite.net へメールを送ることによって、購読(購読しないと質問を送ることはできません)を始めなければなりません。(この言葉は、subject ではなく、本文に書く事に注意してください。)購読要求に対する返事を受け取った後、analog-help@lists.isite.net へメールを送ることができます。しかし、購読のためにこのアドレスを使わないでください。うまくいきません。
メーリングリストにメールを送るとき、以下のことをしてください。
- 自分がしたこと、期待したこと、コンピュータがしたことを正確に説明してください。 要約ではなく、エラーメッセージの 忠実な文章 を含めてです。
- 使っている analog のバージョンとOS の名前を挙げてください。
- subject 欄に analog のどういう面についての質問か直ぐわかるように、題名を
与えてください。(書庫 にとっては非常に役立ちます。)
- 依頼されない限り、長いファイルや点不ファイルを 送らない
で下さい。あなたの環境設定ファイル、ヘッダーファイル、出力ファイル、ある
いは10行以上のログファイルは、見たくありません。それらはほとんどと言って
よいほど役に立ちません。とにかく過度に長い文章はメーリングリストサーバに
よって撥ね付けられるでしょう。
もし私に私信を送りたいときには、
analog-author@lists.isite.net
まで送ってください。
どうぞこのアドレスをユーザサポート用の質問に使わないで下さい。それらは
analog-help まで送ってください。
私のためにこのメーリングリストを提供してくれている
ISite に感謝します。同様に、
analog-help のメーリングリストの書庫を提供してくれている
The Mail Archive のサイトにも感謝
します。
役立つソフト
何人かの人が analog に役立つソフトを書いてくれました。それらは analog と協調して働き、ある種の仕事をより容易にする、独立したプログラムです。例えば、画像設定のための環境設定ツール、あるいは analog の出力を処理してグラフを作るツールがあります。DNS 参照をもっと速く行うツールや、ある仕事のための環境設定ファイル、その他多くのツールがあります。
これらの役立つソフトは analog サイトに全ての一覧が載っています。このリストは常に大きくなっているので、私はそれを配っていません。しかし analog のホームページ に行き(あるいはもっとましなのは、ローカルなミラーサイトに行き)、それを調べることを強く薦めます。
プログラムと一緒に配られた examples ディレクトリあるいはフォルダ中に環境設定ファイルの例があります。
謝辞
多くの人が analog の作成を手伝ってくれました。ここでその全員には感謝できませんが、特に私に意見してくれた人や、バグの報告をしてくれた人に感謝します。
getstats を作成した Kevin Hughes に感謝します。analog が作成される以前、ログファイルの解析プログラムはたった3つしかありませんでした。そして、その中で1つだけ getstats は望み通りの出力をしてくれました。getstats が私達のログファイルを処理できなくなり、私は analog を書きました。しかし見た目はまだ getstats に似ています。
また、このプログラムを作っていた早い時期に手助けしてくれた人、analog を作り続けるように、そして公に発表するように激励してくれた人に感謝します。ベータテストをしている間、有益な意見を述べてくれた人は大勢いますが、とりわけ、Dan Anderson, Martyn Johnson,Joe Ramey, Chris Ritson, Quentin Stafford-Fraser そして Dave Stanworth には感謝しています。なかでも Gareth McCaughan はプログラミングについて多くのアドバイスをしてくれました。彼がいなかったらこのプログラムの処理速度は遅くなっていたでしょう。
Dave Stanworth をはじめ、多くの人が analog のためにミラーサイトを提供してくれました。全てのミラーサイトは その他の場所 に載せてあり、その全ての人にも感謝します。また、メーリングリストを提供してくれた ISite、そして analog-help のリストを保管している The Mail Archive にも大変感謝しています。
Mark Roedel はanalog を別のプラットフォームに移植することを最初に提案し、最初の DOS 版を作りました。そのすぐ後、Jason Linhart が Mac 版を作り、Mac のプラットフォームや一般のプログラムに多くの特別のコードを与え続けてくれました。Mac 版は Stephan Somogyi と Nigel Perryによって与えられたコードも含んでおり、Jean-loup Gailly & Mark Adlerによる ZLib library を使います。
最新の移植は Dave Jones (VMS), Magnus Hagander (Win32),
Nick Smith (Acorn RiscOS), Scott Tadman (BeOS), それに Martin Kraemer &
Holger Schranz (BS2000/OSD) によってなされました。 Ivan Martinez は OS/2 版を作成しました。
The BS2000/OSD 版は Apache HTTP サーバープロジェクト で使う Apache Group によって開発されたコードを含んでいます。もしコンパイルする時に、NEED_MEMMOVE が定義されていたら、それは the University of California, Berkeley そしてその貢献者によって開発されたソフトウェアを含んでいます。
インターフェイスは James Dean Palmer の考えに基づいています。わずかでもコードを与えてくれた全ての人に感謝していますが、その人々の名前を挙げられないことをお許しください。 より analog を使いやすくするように
役立つソフト を書いてくれた人々にも感謝します。
他の言語に翻訳してくれた以下に挙げる人々に感謝します:
Francesc Rocher, M. Mercè Llauge & Francesc Burrull i Mestres
(カタロニア語), Yang Meng (中国語), Jan Simek (チェコ語), Adrian Price (デンマーク語),
Ferry van het Groenewoud & Joost Baaij (オランダ語),
Henrik Huhtinen, Steve Kelly & Andrew Staples (フィンランド語),
Patrice Lafont, Lucien Vieira, Jean-Marc Coursimault &
Lionel Delaude (フランス語), Mario Ellebrecht, Martin Kraemer, Holger Schranz,
Thomas Jacob & Thomas Frings (ドイツ語), Dimitris Xenakis (ギリシャ語),
Laszlo Nemeth (Hungarian), Gustaf Gustafsson (アイスランド語), Furio Ercolessi
& Luca Andreucci (イタリア語), Takayuki Matsuki, Stephen Obenski & Motonobu
Takahashi (日本語), Byungkwan Kim (韓国語), Jurijs Turjanskis (ラトビア語),
Ingrid (リトアニア語), Jan-Aage Bruvoll, Espen Bjarnø & Pâl
Løberg (ノールウェイ Bokmâl語), Magni Onsøien (ノールウェイ
Nynorsk語), Wlodek Lapot, Tomek Wozniak & Marcin Sochacki (ポーランド語), Ivan
Martinez (ブラジル系ポルトガル語), Jaime Carvalho e Silva (ヨーロッパ系ポルトガル語),
Alex Mihaila (ルーマニア語), San Sanych Timofeev, Boris Litvinenko &
Vyacheslav Nikitich (ロシア語),
Mile Peric (セルゴクロアチア語), Stefan Billik (スロバキア語), Andrej Zizmond (スロベニア語),
Javier Solis, Alexander Velasquez, Alfredo Sola & Martin Perez (スペイン語),
Björn Malmberg (スウェーデン語), それに Nezih Erkman (トルコ語).
最後に、このプログラムを使っているあなたに感謝します。
このバージョンの特徴
この章はアナログの各バージョンの主な新しい特徴を述べます。古いバージョンのアナログからの アップグレードの仕方 についての他の節もある。
どの命令が変更されたか、廃止されているか、または以前と今回のバージョンが如何に異なる出力を与えるかを一覧にしている。
- 3.90beta2 (02-Nov-99)
- 今回 セキュリティの理由 から analog を
CGI プログラムとして走らせないことが推奨されます。(CGI コマンドはまだ
存在していますが、今やマニュアルは書かれていません。)
組織レポートは、今や 階層的 になりました。
ブラウザーの概要は、今や主なバージョン番号で整理されるようになりました。
(アップグレードについてのノート を見てくださ
い。)
不正確なバイト数は、今や3桁の10進数で与えられます。
Non-exact bytes are now given to 3 decimal places.
/* ??*/
GOTOS FEW は 出力の最上部と
最下部にだけ "Go To" の行をつけます。
PRINTVARS は
SETTINGS
と名称変更されました。
-settings の出力が、
特に OUTPUT NONE と共に改善されました。
PAGEWIDTH は、
HTMLPAGEWIDTH と
ASCIIPAGEWIDTH に分割され
ました。
フランス語、ギリシャ語、ノルウェー語(Bokmål と Nynorsk)、
ポーランド語、ロシア語とトルコ語が加わりました。
新しい環境設定ファイル examples/big.cfg は、大部分のコマンドを
含んでいます。
- 3.90beta1 (07-Oct-99)
- バージョン4の初めてのベータテスト。最も重要な新しい特徴は:
- 5個の新しいレポート:組織レポート、OS レポート、検索語レポート、
検索項目レポート、処理時間レポート。
Five new reports: Organisation Report, Operating System Report,
Search Word Report, Search Query Report, Processing Time Report.
- ブラウザーの要約が改善された(出力を変える
)。
- フォームインターフェース がまったく書き直
され、非常に簡単になった。
- ALIASes の左側の
値に幾つもの * が許されるようになった。
- 正規表現が、
INCLUDEs と
EXCLUDEs、 それに
ALIASes
で許されるようになった。
- 出力の
INCLUDEs と EXCLUDEs は、今や上層と
低層の 階層レポート にも適用できるよう
になった。
- 新コマンド:CGI、
STYLESHEET それに
ERRLINELENGTH。
- 大部分のレポートで、新しい
列 N が使用できる。
- DEBUG C は、今や
壊れたログファイルのどの部分が壊れているかを報告する。
- 不正確なバイト数は、今回から例えば、48,832 kbytes の代わりに
47.68 Mbytes と表示される。
- 時刻が
PROGRESSFREQ
レポートに加わった。
- DNS ファイル は新しい時間の暗号化がなされ
ている。
- The DNS file has a new time encoding.
- ヘッダーファイルが分割されて、anlghead.h が簡単化された。
- ドイツ語と米国英語のフォームインタフェースが含まれた。
- 検索引数 についての新しいマニュアル
が含まれた。
- 新しい examples ディレクトリが含まれた。
- 新しい ライセンス。(ほとんど同じである
が、文章が明瞭になり、やや制限が緩くなった。)
注意:大部分の言語はこのベータテスト版では動作しません。しかし、バージョン
4では含まれる予定です。(各言語ファイルは配布に含まれているが、英語の文字
がだいぶ含まれている。)
- バージョン3の特徴
- バージョン2の特徴
- バージョン1の特徴
前のバージョンからのアップグレード
この章は、analog の古いバージョンで存在したが、その後変化するか廃止したコマンドの一覧を表している。ここでは、また同じ入力が異なる出力する理由も示しています。このバージョンの新しい特徴は このバージョンの特徴 の章で示されています。
- 今や セキュリティ上の理由から analog を
CGI プログラムとして起動しないこと、あるいはあなたの CGI プログラムと
一緒のディレクトリに入れないことが推奨されています。
- 「ブラウザーの概要」中の各ブラウザー名は、今では主なバージョン番号で、
次にマイナーバージョン番号でソートされている。そのため、
SUBBROW */* は、今では主バージョン番号のみを表示する。
全てのマイナーバージョン番号を得るためには、SUBBROW */*.*
と書く必要がある。
- PAGEWIDTH は、
HTMLPAGEWIDTH と
ASCIIPAGEWIDTH で置き換え
られた。
- PRINTVARS は、
SETTINGS と名称変更された。
- フォームインタフェースは、全面的に書き直され、anlgform.html の
古い版は、このバージョンでは動作しません。
- 「ブラウザーの概要」は、今や MSIE、Opera と WebTV ブラウザーを前よりは
良く判別するようになりました。このため前のバージョンと出力が異なります。
- RAWBYTES OFF を使うことで、今ではバイトの一覧では、例えば、
48,832 kbytes ではなく、47.68 Mbytes と表示します。これが混乱を少なく
するはずです。
- DNS ファイル では、時間に関する新しいプログラミング
を行いました。その影響は数時間のみなので、私は特別な準備をしませんでした。
その影響で、DNSGOODHOURS と
DNSBADHOURS が、DNS ファイル中のエントリ
(新しいエントリは除く)に対して数時間動作しないかもしれません。
- 大部分の言語は、このベータ版では動きませんが、バージョン4では、
再び新版が付け加えられるでしょう。(言語ファイルは、配布版に含まれますが、
多くの英語の文字列を含みます。)
- images ディレクトリ中には、新しい画像ファイルがあり、それらを
あなたの web ディレクトリに移動させなくてはならないでしょう。
- Mac 版では、もし analog のアイコン上に環境設定ファイルをドラッグする
なら、同時にではなく、初期環境設定ファイルの代わりにそれを使います。
- コンピュータが読み込み可能な出力書式 中の
L7 の行、これ以降最近の7日間を勘定し始める時間、を
E7、最近の7日間の終わる時間、によって置き換えます。
これは他の出力方式と整合性を持たせるためです。
- またコンピュータが読み込み可能な出力中で、層とそのレポート用の
SORTBY を報告する新しい行があります。バージョン 3.11 と
それ以前では存在せず、3.2 では層だけが報告されたが、
SORTBYがありません。
- %R (Mac 流のファイル名)は LOGFORMAT では廃止
され、その代わりに簡素な %r だけが使われています。
- 以前のキャッシュファイルと同じように、CACHEOUTFILE を
セットすることはもはや許されません。
- common log format とそれに関連した書式の定義を、3.11 と 3.2 の間で、
そして再度 3.2 と3.3 の間で変えました。このため出力に違いが起きる
かもしれませんが、違いは最小に抑えられています。
- 特別な項目を含まない行は、INCLUDE と EXCLUDE
コマンドで適切に動きます。例えば、ある行だけを見つけるために
INCLUDE を使うと、その種の項目を含まない行は勘定されないが、
以前は勘定されていた。このため、以前のバージョンに比較して結果の行は
少なくなっている。
- 私はやむを得ず、NetPresenz のログのサポートを止めました。これはしばらく
の間うまく働かず、NetPresenz のユーザ達には、間違った結果を与える恐れ
があるため analog の新しいバージョンを使用しないように助言してきました。
残念ながら、修正をするためには文章全体の解析コードを完全に新しく書き直す
必要があり、それは直ぐにはできないことです。従って、私の助言は以前と同じ
です。バージョン 2.11 を使い続けるか、または (もっと良い方法)
ログファイルを analog が安全に扱える書式に事前処理をしておいてください。
- 英語のドメインファイルは、domains.tab から
ukdom.tab に名称変更しました。
- Windows 上でフォームインタフェースを使うなら、analog の実行ファイルを
\Program Files\analog\analog.exe ではなく、
\analog\analog.exe に格納する必要があります。
- LOGFORMAT MICROSOFT は、
LOGFORMAT MICROSOFT-NA と LOGFORMAT MICROSOFT-INT
で置き換えられた。それに LOGFORMAT NETPRESENZ に対しても
同様な置き換えがなされた。
- 以前のバージョンとこのバージョンの結果の間では細かい矛盾は起こり得ます。
というのも、文法の解析コードが変わったからですが、しかしそのような相違は
非常に小さいはずです。しかしながら、...
- もし REFEXCLUDE または BROWEXCLUDE を使っていたなら、
恐らくそれらの代わりに、今は
REFREPEXCLUDE または
BROWREPEXCLUDE を
必要とするでしょう。即ち、以前に含まれていた多くの行を除外するでしょう。
- 以前のバージョンが解析できたログファイルを、今度のバージョンでは自動的に
解析できないことがあり得ます。というのも、ログファイルが宣言された通りの
書式であるかどうかをもっと注意深く調べるからです。もしもそういった場合には、
LOGFORMAT コマンドを使う必要が
あります。
- 過大な要望がない限り、近似的なホスト数の勘定は止めました。
- 最近7日間の新ホスト数の勘定は廃止しました。これはどのくらい古い
ログファイルをあなたが解析しているかに依存するため、非常に紛らわしい。
- エラーレポートは (ERROR、ERRLOG
それに ERRMINOCCS も一緒に) 廃止されました。
このバージョンの特徴 を参照の事。
- BROWLOG と REFLOG のコマンドも廃止されました。
その代わりに、単に LOGFILE
を使ってください。
- HASHSIZE コマンドも廃止されました。analog は、現在
ハッシュテーブルの大きさそのものを使います。
- MINREQS とそれに似たオプションは、
FLOOR で置き換えられました。
- あいまいさをなくす為に、エイリアスの左辺に一つだけ * を
書くことが許されるようになりました。
- ログの型の自動判断は、行単位からファイル単位に変更しました。
- ISPAGE は、今や
PAGEINCLUDE
と呼ばれています。
- WITHARGS と REFWITHARGS は、今や
ARGSINCLUDE と
REFARGSINCLUDE
と呼ばれています。
- MONTHLYBACK は、今や MONTHBACK と呼ばれています。
- FULLHOSTS は、今や単に HOST と呼ばれています。
- LOGOURL は、今や LOGO と呼ばれています。
- UNIT コマンドは廃止されました。これらはあまり有用では
ありませんでしたし、時刻レポートの棒グラフの異なる表示の際にも、
意味がありませんでした。単位は今や常に、自動的に選択されます。
- DIRLEVEL は廃止されました。その理由は、
SUBDIR
コマンドがより一般的であるからです。その代わりに、SUBDIR */*
かそれに相当するものを使ってください。
- ドメインファイル には、コメントは許されません。
これが問題となるとは私は思いません。
- GRAPHICAL は廃止されました。代わりに、GRAPH
コマンドと共に小文字を使ってください。
- NUMLOOKUP は、DNS に、
それに DNSFRESHHOURS は、
DNSGOODHOURS と DNSBADHOURS
に置き換えられました。
- 以前のバージョンの DNS キャッシュファイルは、このバージョンと互換性は
ありません。
- 「リクエストレポート」中で、列に PAGES をあるいは、
SORTBY とか FLOOR を使うことはできません。
REQINCLUDE pages を代わりに使ってください。
- - を none と同義に使うことは、例えば、
HOSTURL とかで、廃止されました。
- 以前のバージョンからの以下のコマンド行の引数は、廃止され、
それらの多くは、今や別の意味を持っています: 7、
l、n、p、s、u、
v、w。 ( -v は、
-settings に置き換えられました。) 他の文字も
バージョン 1.2 から変更されました。
- ログファイル等のファイル名は、スラッシュを用いた Unix 形式ではなく、
バックスラッシュ(¥)を用いた DOS 形式で与えるべきである。
- *ONLY と *IGNORE の代わりに、
*INCLUDE と
*EXCLUDE を使ってください。
- *FLOOR コマンドの文法が変わりました。
- *SORTBY BYREQUESTS あるいは BYBYTES の代わりに、
*SORTBY REQUESTS または BYTES
を使ってください。
バージョン3の特徴
この章では、analog のバージョン3で新規に導入された特徴を述べる。
- バージョン4の特徴
- 3.32 (99年9月2日)
- 以下のバグの修正:
- ドラッグとドロップがマック上で今や動く。
- ハイパーリンク中の安全でない文字をエスケープ文字にする。
- 深い階層のディレクトリレポートを出力するときクラッシュするバグを
修正。
新しい VMS ビルドスクリプトの導入。コンパイル時の問題をお知らせください。
コンピュータが読み込み可能な出力が使用されている analog の版も報告する。
幾つかの診断メッセージの改善。
新言語ファイル セルビア-クロアチア語;新しいドメインファイル
イタリアとロシア;修正されたポーランド言語ファイル。
新文書
Analog のレポート と
簡易参考マニュアル 。
全文書にわたり単語にリンクを張り、適切なページと相互参照が可能になる。
- 3.31 (99年6月19日)
- 新コマンド BARSTYLE;
新しい画像を使用する 必要がある。
ロシア語言語ファイルの修正。
キャッシュファイルの出力という重要なバグを含む、その他のバグの修正。
- 3.3 (99年5月19日)
- 新コマンド ERRFILE,
DNSLOCKFILE,
APACHELOGFORMAT そして
APACHEDEFAULTLOGFORMAT 。
OUTFILE と
CACHEOUTFILE で指定されるファイルに
日付を含むことが可能。
WebSite ログファイルのサポート。
"Unix 時間" (1970年からの秒数) に対する
ログの書式 中に新しいトークン
%U を導入。
古いキャッシュファイルの上書きを禁止。
SunOS 4 上で正常に動作する。
Windows 上での頻発するクラッシュに対する修正。
言語ファイルの長さの確認。
"最近の7日間" のデータがより正確に計算され、より明確に
表示される。
コンピュータが読み込み可能な出力が、floor と共に SORTBY
も出力する。
古い make でも改定された Makefile が動作する。
カタロニア語言語ファイルの修正。
フランス語と日本語のフォームインタフェースの導入。
LOGFORMAT についての文書が、全ての組み込まれた
書式に対する LOGFORMAT
コマンド を含む。
- 3.2 (99年5月4日)
- バグの修正:特に REFLINKINCLUDE pages が今や正常に動作;
そしてキャッシュファイルは、メインレポートで必要ないにも関わらず、
今や全ての項目を含む。
特別な項目の無い行は、INCLUDE と EXCLUDE
コマンドで正常に動作する。これは、以前の版とは
異なる結果 を引き起こす。
新しい版のフォームインタフェースは、マイクロソフトの IIS にまつわる
バグを回避する。
新コマンド NOROBOTS 。
バックスラッシュ(日本語では¥)は、ファイル名とユーザ名中では
強制的に普通のスラッシュになる。技術的には常に正しいわけではないが、
これはしばしば正しいし、このことはプログラムの他の部分では正しく
振舞う。
ユーザ名は今や大小文字に無関係に取り扱われている。もしこれが何かの
システムで問題になるようでしたら、お知らせください。
コンピュータが読み込み可能な出力は floor も出力できる。
Unix 用の Makefile と VMS 用のビルドスクリプトもを書き直した。
何らかのコンパイル時の問題があったときはお知らせください。
新言語:カタロニア語、アイスランド語、日本語、韓国語、ラトビア語、
リトアニア語。スペイン語の修正言語ファイルとフランス語のドメインファイル。
もし存在すれば、LANGUAGE の指定はドメインファイルを自動的に
選択する。
NetPresenz ログのサポートを中止した。理由は
アップグレードの仕方 の章に書かれている。
フォームインタフェースの文書 の書き換え;
FAQ を章立てにした;
ログファイル と ログの
書式 に章を分離し、書き直した;役立つソフト
についての新しい章;多数の文書に関する他の修正。
- 3.11 (98年11月26日)
- バグの修正版。
ログファイル中に、たとえ2番目の #Fields: 行があっても、
W3 拡張形式に対するマイクロソフトの試みを analog は解釈できる。
標準でない共通書式になってしまう、新しいマイクロソフトのバグに対しても
修正が行われた。
Windows での間歇的に発生するクラッシュを修正。
メーリングリストを発表。
- 3.1 (98年10月17日)
- W3 拡張形式に対するマイクロソフトの試みを解釈。
幾つかのバグの修正。時折起こるクラッシュと出力が増大して止まらない
といった種類のバグを含む。
Windows 上でフォームインタフェースが動作。
もし右辺で * が無ければ、左辺の2個以上の * を持ったエイリアスを許す。
CASE INSENSITIVE が定義されてもエイリアスは動作する。
数値の SUBDOMAIN の修正。
多くの WebSTAR と Netscape のトークンを解釈する。
ドメインファイル中のアクセントを許可。
保守上の危険性から LOGFORMAT をフォームインタフェースから
取り除いた。
幾つかの警告分の改良。
設定(settings) 出力中で、エイリアスと包含と除外を
出力する。
出力の先頭で文字コードセットを宣言。
スペイン語、オランダ語、ノルウェー語 (Bokmål and Nynorsk)、
フィンランド語、トルコ語、ギリシャ語、ポーランド語、ロシア語と中国語
の言語ファイルが含まれた。
- 3.0 (98年6月15日)
- W3 拡張形式を修正。
SunOS 5 中の壊れた strcmp() 関数を修正。
ポルトガル語、ブラジル系ポルトガル語、デンマーク語とハンガリー語の
言語ファイルが含まれた。
OS/2 用のコンパイルされた実行ファイルが用意された。
- 2.91beta1 (98年6月4日)
- フォームインタフェースを作成。
レポートの編集時に使用するメモリを少なくする。
新 OS、 BS2000/OSD、と EBCDIC 文字セットのコードに対応。
新コマンド
DEFAULTLOGFORMAT 。
LASTSEVEN と
BASEURL を復活。
PRINTVARS の出力に多くの情報を追加。
マック版に、Unix スタイルのコマンドに対するアップルスクリプトの
サポート。
SunOS 4 上で動作し、他の小さなバグを修正。
フランス語、ドイツ語、スウェーデン語、チェコ語、スロバキア語、
スロベニア語、ルーマニア語の言語ファイルが含まれた。
文書に、Readme を1ページにしたマニュアルの追加。
- 2.90beta4 (98年4月9日)
- 昨日公開した DNS キャッシュファイルの読み込みのバグを修正。
- 2.90beta3 (98年4月8日)
- 以下のバグを修正:SunOS 上で警告を発しながらクラッシュを引き起こしたバグ;
他の環境設定ファイルを読み込む環境設定ファイルが完了しないバグ;
そして他の小さなバグ。
イタリア語の言語ファイルが含まれた。
- 2.90beta2 (98年4月3日)
- マイクロソフトあるいは Netpresenz のログを使用するとき、北米と国際
標準時形式に対する LOGFORMAT を分離する。
WebSTAR 書式に対するアップルシェアの IP サーバの試みを解釈。
LOGFILE コマンドに
2個目の引数を使っても、ディレクトリレポートが正常に動作する。
マック上で、ファイル名にワイルドカードを使用しても正常に動作する。
他の小さなバグの修正。
1個の動作速度の向上(3% の向上を得た)。
文書に対する幾つかの修正と明確化。
- 2.90beta1 (98年3月27日)
- この版は完全に書き直された。コードの全ての行は新しいものである。
機能が格段に改善されたにも関わらず、全体のコードは短縮された。
何名かは、新しい版は格段に早くなったと報告している。最も重要な新しい
特徴は以下の通りである。
- 11個の新しいレポート(15分間隔、5分間隔、リダイレクト、不成功、
ファイルサイズ、参照サイト、リダイレクトされた参照URL、
不成功参照URL、バーチャルホスト、ユーザ、不成功ユーザ)。
- ユーザがカスタマイズした書式のログの読み込み可。
- ユーザとバーチャルホストデータ、それに不成功リクエストの解析。
- 階層的なレポートはディレクトリの下のサブディレクトリを表示し、
ブラウザーのバージョン番号の解析も行う。
- 長いレポートのより早いソート。
- Floor と ソート法が独立した。
- レポート中の "最近の日" の列を含み、日付による floor と
ソートが可能。
- 時間レポートの最後に、最も混雑した時刻の表示。
- 他のレポートの最後に、"残り" の表示。
- HTTP/1.1 状態コードも含む。
- 全体の概要は、レポート中のどこにも置ける。
- 全体の概要と "Go To" は独立にオンとオフができる。
- 状態コードレポートは異なるソートが可能。
- 標準時からのずれ コマンド。
- 環境設定ファイルのオプションとログファイルの各行のエラーをより
厳密に確認。
- 必要なログファイルのみを読み込む。
- DNS 機能の改良:更なる参照をせずに DNS ファイルを読み込むことが
できる:成功と不成功の参照に対する再確認の時間間隔を個別に
設定可能。
- ハッシュサイズは自動的に選択される。
- より柔軟な言語のサポート。
- マック版は gzip で圧縮されたログファイルを読める。
- マック版は、プログラムアイコン上へのドラッグ・アンド・ドロップを
サポート。
- Readme ファイルが完全に書き直された。多数のファイルに分割された。
新しい章 analog
を使うにあたって と 出力
結果の意味 それに 索引 。
以下の特徴 は廃止された。
- エラーレポートの廃止。エラーのログは、常に人間用であって、
コンピュータ用に作成されていない。更に、その書式は、サーバ毎に
異なるし、同じサーバでも異なる OS のバージョンにも依る。エラー
レポートの代わりに、新しいレポート、特に不成功レポートに取って
置き換わられている。
- しばらくの間近似的なホスト数の勘定は中止する。もし多数の要求が
あれば、復活させることにする。
- エイリアスの左辺には、唯1つの * を許す。これは、不明瞭さ
を防ぐためである。
- 環境設定のオプションとコマンド行の引数の名称と文法の変更については、
古いバージョンからの改訂 の章を参照。
以下の特徴はまだ含まれていないが、バージョン3では追加されるであろう。
- バージョン2の特徴
- バージョン1の特徴
バージョン2の特徴
この章では、analog のバージョン2で新規に導入された特徴を述べる。
- バージョン4の特徴
- バージョン3の特徴
- 2.11 (97年3月14日)
- 昨日の公開に対するマイナーなバグの修正。
- 2.1 (97年3月13日)
- 言語サポートの書き直し。これにより、2000行のコードを削除。
新環境設定コマンド LANGFILE 。
新しい Acorn RiscOS 版。
毎日のページリクエストレポート。
バグの修正: CASE INSENSITIVE は、%7E のような
文字列の変換を引き起こさないようにした。
- 2.0.2 (97年3月4日)
- Win32 版で、DNS 参照とワイルドカードが効くようにした。
新環境設定コマンド PRINTVARS 。
DNS 参照後のホスト名の長さが0になる場合の修正。
フランス語とスペイン語の翻訳に対するマイナーな修正。
- 2.0 (97年2月10日)
- 新らしいネイティブな Win32 版。
マック上のファイル名にワイルドカードの使用を可能にする。
Ignores browser "-".
- 1.93beta (97年1月18日)
- 新環境設定コマンド BROWALIAS, CONFIGFILE と
PROGRESSFREQ 。
フォームから環境設定ファイルを呼び出すことが可能。
フォームは、指定が無ければ初期設定環境を使用する。
ドメインレポートは、あらかじめ決められた書式で正しく出力する。
+1 と +V2 を指定してもプログラムはクラッシュしない。
-v は、日付を正しく出力する。
ホスト名の後続の点が除去された。
LOGFILE コマンドの2個目の引数は、/../ を使用
しても除去できない。
- 1.92beta (96年10月8日)
- マック用に DNS 参照が付加された。
マック上で Netpresenz 書式が認識可能になった。
新言語ファイル:スペイン語、イタリア語、デンマーク語。
デバッグがオンになったときの付加情報。
*.htm
は今や全てのコンピュータでページと見なされる。
幾つかの小さなバグの修正。
- 1.91beta4 (96年7月13日)
- キャッシュファイルは今やページリクエスト情報も含む。
DNS のバグの修正。
新環境設定コマンド DNSHASHSIZE 。
ブラウザーレポートのバグの修正。
- 1.91beta3 (96年7月9日)
- BSD/OS コンパイルのバグを修正されたと信じる。
HOSTALIAS のバグを修正。
DNS のバグ (多数の参照を引き起こす) の発見したが未修正。
- 1.91beta2 (96年7月8日)
- 幾つかのバグの修正 (HOSTEXCLUDE と CASE
INSENSITIVE が正常に作動しない;フォームで "リンク無し"
の選択が失敗する;フォームの見栄えを整理;等を含む) 。
マック版が、ソースコードを含まないために、プログラムが短くなる。
- 1.91beta1 (96年7月5日)
- 新しい DNS コードは、1回が失敗したリクエストでも、名前を2度見ない。
- 1.91beta (96年7月5日)
- 幾つかの言語で出力可能になる。
あらかじめ設定した書式での出力を導入。
あららしいファイル形式:レポート。
時間レポートで行数を制限可能。
ページのリクエスト数 (生のリクエストと異なる) が今や全体にわたって
計算可能。
動作中キャッシュしながら、DNS 参照が可能。
ログファイルに対するワイルドカードの使用が可能。
ワイルドカードが複数の * を含むことが可能。
ログファイル名の大小文字に無関係に処理が可能。
OUTPUTALIAS コマンドを導入。
リクエストレポートと参照元レポートで、何が含まれて何にリンク
されているかを正確に指定できる、新しい環境設定子コマンドの導入。
FILEALIAS a a と FILEALIAS a b; FILEALIAS b c
が動作可能。
INCLUDES を無効にする新しい ALLOW オプション
を導入。
REPSEPCHAR と DECPOINT の導入。
DIRSUFFIX の導入。
異常ログ行数のレポートのバグを修正。
実行時にハッシュサイズを割り当て可能。
1個の入力ファイルの代わりに stdin の使用が可能。
警告が無ければ、マック版は自動的に終了する。
フォームインタフェースがより安全になる。
ブラウザーの概要で、"Mozilla (互換)" を分離する。
大規模な内部コードの変更で速度の改善されるはずである。
非Unix 版に対するコードを主なコードに統合した。
"参照元" が正しく表示される。
ライセンスの導入。
最新情報ファイルの導入。
非Unix 版のインストラクションに対する最新情報の Readme を含める。
- (96年4月19日)
- 最初のマック版。
- 1.9beta6
- 2個のバグを修正 (バイト数がある場合に不正確に出力されていた。
-v が OUTFILE より有効であった) 。
文書の改善。
- 1.9beta5
- 多数のバグの修正 ... 。
- 1.9beta4
- 1つの重要なバグの修正 (1.9beta3 で私は GRAPHICAL OFF を壊した )。
新しいフォーム cgi のオプション: ch, gr それに
ou=3 。
コードを短くした。
- (96年3月5日)
- 最初の DOS 版。
- 1.9beta3
- 主にバグの修正と文書の改善。
ブラウザーと参照元URLに不成功リクエストが含まれる。
フォームで WARNINGS オプションが指定可能。
- 1.9beta2
- 小さなバグの修正。
- 1.9beta (96年2月6日)
- 多数の変更。もっとも重要な新しい特徴は以下のとおりである。
- 6個の新レポート (時間別レポート、ブラウザーレポート、
ブラウザーの概要、参照元URLレポート、状態コードレポート、そして
エラーレポート) 。
- NCSA/Apache の参照元ログ、エージェントログ、そして組み合わせログ書式
の解析が可能。
- テキスト表示のブラウザーでも動作する時間レポートの画像表示。
- 時間レポートの列が設定可能。
- 時間レポートを逆向きに表示可能。
- 時間の画像がリクエスト数の代わりにバイト数で描画可能。
- 古いログファイルを保存しないで済むように、古いデータのキャッシュを
可能にする。
- 幾つかのログファイルの処理が可能。
- 幾つかの異なるホストからのログファイルの組み合わせが可能。
- 圧縮されたログファイルの解凍が可能。
- 全ての設定オプションがコマンド行からも指定可能。
- 強制的環境設定ファイルの追加。
- フォームでの処理プログラムに多数のオプションを追加。
- ワイルドカードの使用が全体で大いに改善される。
- アルファベット順のホストレポートが右寄せになる。
- バイト数が長い数値の代わりに M バイト等と表示される。
- HTML2.0 に準拠した出力の生成。
- 新しいソート法 RANDOM の導入
(長いレポートに対する処理時間の短縮) 。
- レポート中の Floor が正常に動作する。
- レポート中で FROM 100 以上前に遡って指定が可能。
- 警告を出力しないオプションの導入。
- 以前の版に比較して大量のコードの短縮。
- バージョン1の特徴
バージョン1の特徴
この章では、analog のバージョン1で新規に導入された特徴を述べる。
- バージョン4の特徴
- バージョン3の特徴
- バージョン2の特徴
- 1.2.6
- マイナーなバグの修正; ログファイルを壊すような事柄のみに影響する。
- 1.2.5
- 週別レポートに関するマイナーなバグの修正。
- 1.2.4
- Spyglass サーバのログファイルの書式に対するパッチ。
- 1.2.3
- 数個のバグの修正 (サブドメインのワイルドキャラクターが時々クラッシュの原因となる)。
-v オプションは今やバージョン番号を与える。
- 1.2.2
- プロキシサーバに対するパッチ: http:// が
http:/ と変換されないようにした。
- 1.2 (95年11月11日)
- レポート中の列を解析して、リクエストの割合 (%) とバイト数を与えることができる。
ワイルドキャラクタをサブドメインで使用できる (例えば、 *.com)。
無名のサブドメインのサポート。
サブドメインはアルファベット順に並んでいる。
HOSTIGNORE, HOSTONLY, SUBDOMAIN
中でのIP表現のホスト名とアルファベット順の並べ替えに対する適切なサポート。
新コマンド BASEURL は他のサーバー上で統計の表示を許可する。
出力にソートの仕方が表示されている。
"最近の 7 日間" は、TO コマンドと一緒に動作する。
/../、/./ と // を含むファイル名は
翻訳される。
ヘッダーとフッターのオプションは(セキュリティの理由から)
フォームから除外された。
- 1.1 (95年10月2日)
- フォームインターフェースが導入された。
ASCII 出力が、HTML と同じく可能になった。
出力ファイル名が、環境設定ファイル中で指定できる。
FROM と TO コマンドが強力になった。
DEBUG と BACKGROUND が導入された。
バグの修正:アルファベット順の並べ替えは、
いくつかのホスト名と順番が入れ替わらない。
プライムの一覧が配布ソフトに含まれた。
- 1.0 (95年9月12日)
- 0.94beta 版からのマイナーな変更。
- 0.94beta (95年8月30日)
- 新環境設定変数 SEPCHAR と
REPORTORDER 。
新環境設定コマンド WITHARGS と
WITHOUTARGS 。
新コマンド行引数 +-A と +-x 。
(環境設定変数: ALL と GENERAL )。
戻り値として - の付いたログの項は、異常項ではなく正常の項目と
見なされる。
エイリアスか数値のホストが存在するときの、ホストレポートのバグを
修正した。
マニュアルの書き直し。
- 0.93beta (95年7月27日)
- 固定メモリ上でのホスト名の勘定が近似的に可能になった。
新環境設定コマンド ISPAGE と
ISNOTPAGE 。
新コマンド行引数 -v 。
新環境設定コマンド WEEKBEGINSON 。
メモリが不足した場合に適切な警告を出力。
プログラムを数個のファイルに分割。
- 0.92beta (95年7月11日)
- 新レポートの導入: ホスト名、日別、と 週別。
FROM と TO コマンドの導入。
文頭と脚注ファイルの導入。
より役に立つ警告の出力。
標準入力からの環境設定の読み込み可。
ドメインファイル中の Subdomain コマンドを環境設定ファイルに移行。
Makefile を提供。
- 0.91beta (95年7月4日)
- 環境設定ファイルの導入し、多数のオプションを可能にする。
幾つかのバグを修正と、実行速度の向上。
"上位 n" のレポートと出力することが可能になる。
("n 以上の全て" の代わり) 。
リクエストレポートがページ数だけを出力することが可能になる。
数値アドレスの名前解決が可能になる。
ドメインファイルの書式をより見やすくした。
ロゴの追加。
Readme が HTML 形式に変換された。
- 0.9beta
- 実行速度の向上と幾つかのバグの修正。
-u オプションの導入。
サブドメインの解析を導入。
"変更なし" は、リダイレクトではなく、成功として含まれた。
最初の公開版 0.9beta3 。 (95年6月29日)
- 0.89beta (21-Jun-95)
- コマンド行引数。
効率性の向上。
ホスト数の勘定と "最近の 7 日" の統計。
- 0.8beta (95年6月14日)
- 初期のプログラム、単にい初期オプションのみ持つ。
簡易参考マニュアル
この章は、analog の全ての設定コマンドの一覧を載せており、それらの文法と幾つかの例に対する簡単な説明もあります。この章はプログラムを良く知っている人たち用であり、プログラムについて何かを知ろうとするには、全然役に立ちません。コマンドを勉強しようとする人は、analog のカスタマイズ の章を代わりに読んでください。あるいは、参考用には
索引 を参照してください。この新しい章についての
フィードバックを歓迎 します。
この章は以下の部分に分かれています。
各コマンドの文法は、以下の表記法を用いて与えられます。
"stuff" 文字列
x y y を伴った x
(x | y) x または y
[x] x はオプション
subset("...") 文字列の一部の文字、順番は問わない
perm("...") 文字列からの全ての文字、順番は問わない
*x x はワイルドカード * と ? を含む(しばしば、コンマで区切られたリストも含む)
x := y x は y と定義される
COMMAND 話題にしているコマンド
更に、異なる型の引数に対して以下の名称を使います。
char 1個の文字
string 文字列
digit 10進数の1桁(0〜9)
number 負で無い整数(各桁を並べたもの)
real 負でない実数
regexp POSIX 拡張した正規表現
file あなたのサーバー内のファイル名
例 /index.html
localfile あなたのシステム内のファイル名
例 /usr/local/analog.html
localfmtfile システム内のファイル名であるが、日付コード を含むことができる。
例 /usr/local/analog%y%M.html
referrer 参照ページの URL
例 http://search.yahoo.com/
URL 絶対的な、または出力ページに相対的な URL
例 images/ or /~fred/images/
または http://www.fred.com/images/
注意:混乱を招かないと判断される場合には、私は時には厳密な定義よりも明瞭さ
を優先した。
一般的なコマンドの文法は、以前 に与えられている。
種々な文字列やスペースを含む引数は、引用符か括弧でくくるのを思い出してください。
- 文法
-
LOGFILE (*localfile | "-" | "none") [prefix_string]
OUTFILE (localfmtfile | "-" | "none")
CACHEFILE (*localfile | "-" | "none")
CACHEOUTFILE (localfmtfile | "-" | "none")
UNCOMPRESS *localfile program
- 例
-
LOGFILE /httpd/logs/*
LOGFILE c:\logs\log1,c:\logs\log2
OUTFILE "Hard Disk:Report%Y%M.html"
UNCOMPRESS *.gz "/usr/bin/gzip -cd"
- 文法
format_string := (マニュアルを見よ)
Apache_format_string := (Apache の資料 を参照)
logformat := ("COMMON" | "COMBINED" | "REFERRER" | "BROWSER" | "EXTENDED" |
"MICROSOFT-NA" | "MICROSOFT-INT" | "WEBSITE-NA" | "WEBSITE-INT" |
"MS-EXTENDED" | "MS-COMMON" | "NETSCAPE" | "WEBSTAR" | "AUTO" |
format_string)
LOGFORMAT logformat
DEFAULTLOGFORMAT logformat
APACHELOGFORMAT Apache_format_string
APACHEDEFAULTLOGFORMAT Apache_format_string
- 注意
- LOGFORMAT と APACHELOGFORMAT は、同じ環境設定ファイル内のこの設定より後で現れる、ログファイルにのみ影響する。
- 例
-
LOGFORMAT (%S - %u [%d/%M/%Y:%h:%n:%j %j] "%j %r %j" %c %b)
DEFAULTLOGFORMAT MS-EXTENDED
APACHELOGFORMAT (%h %l %u %t \"%r\" %s %b)
- 1. コマンド (項目)
-
FILEALIAS,
HOSTALIAS,
BROWALIAS,
REFALIAS,
USERALIAS,
VHOSTALIAS
- 文法
-
COMMAND *olditem newitem
COMMAND ("REGEXP:" | "REGEXPI:")regexp newitem
- 注意
- 全てのレポート中の項目に別名を付ける。結果的に同じ名称になる各項目は
まとめられる。newitem は、$1、$2 等を
含み、olditem あるいは regexp 中の括弧内の
表現を表している。正規表現は、幾つかのプロットフォームでのみ使用できる。
- 例
- FILEALIAS /*/football/* /$1/soccer/$2
- USERALIAS REGEXP:^([^U].*) U$1
- 2. コマンド (レポート)
-
TYPEOUTPUTALIAS,
HOSTOUTPUTALIAS,
REQOUTPUTALIAS,
REDIROUTPUTALIAS,
FAILOUTPUTALIAS,
DIROUTPUTALIAS,
DOMOUTPUTALIAS,
ORGOUTPUTALIAS,
REFOUTPUTALIAS,
REFSITEOUTPUTALIAS,
REDIRREFOUTPUTALIAS,
FAILREFOUTPUTALIAS,
BROWOUTPUTALIAS,
FULLBROWOUTPUTALIAS,
OSOUTPUTALIAS,
VHOSTOUTPUTALIAS,
USEROUTPUTALIAS,
FAILUSEROUTPUTALIAS
- 文法
-
COMMAND *item string
COMMAND ("REGEXP:" | "REGEXPI:")regexp string
- 注意
- 1つのレポート中の1行にある項目にのみ別名を付ける。string
は、$1、$2 等を含み、item 中の
* あるいは regexp 中の括弧内の表現を表している。
正規表現は、幾つかのプロットフォームでのみ使用できる。
- 例
- REQOUTPUTALIAS /football/ "/football/ (Main football page)"
- REFOUTPUTALIAS REGEXP:^(http://([^/]*\.)?(maths|stats)\.uxy\.edu.*) ([$3] $1)
- 3. 他のコマンド: 文法
-
CASE ("SENSITIVE" | "INSENSITIVE")
DIRSUFFIX suffix
LOGTIMEOFFSET ["+" | "-"] number
TIMEOFFSET ["+" | "-"] number
- 例
-
CASE SENSITIVE
DIRSUFFIX index.htm
LOGTIMEOFFSET -300
- 1. コマンド (項目)
-
FILEINCLUDE,
FILEEXCLUDE,
HOSTINCLUDE,
HOSTEXCLUDE,
BROWINCLUDE,
BROWEXCLUDE,
REFINCLUDE,
REFEXCLUDE,
USERINCLUDE,
USEREXCLUDE,
VHOSTINCLUDE,
VHOSTEXCLUDE
- 文法
-
COMMAND (*item | "")
COMMAND ("REGEXP:" | "REGEXPI:")regexp
- 注意
- 全てのレポートから除外された項目を含んでいる全てのログファイルの各項目を
除外する。包含と除外は別名を処理してから行われる。そのため、item は、
適用できる場合には別名である。正規表現は、幾つかのプロットフォームでのみ使用で
きる。
- 例
-
FILEINCLUDE /jim/*
FILEINCLUDE REGEXP:^/~[^/]*/$
HOSTEXCLUDE proxy*.aol.com
USEREXCLUDE ""
- 2. 文法 (日付の包含と除外)
-
partdate := ["+" | "-"] digit digit
date := partdate partdate partdate [":" partdate partdate]
FROM date
TO date
- 例
-
FROM 990719:1200
TO -00-0101
- 3. コマンド (レポート)
-
REQINCLUDE,
REQEXCLUDE,
REDIRINCLUDE,
REDIREXCLUDE,
FAILINCLUDE,
FAILEXCLUDE,
TYPEINCLUDE,
TYPEEXCLUDE,
DIRINCLUDE,
DIREXCLUDE,
HOSTREPINCLUDE,
HOSTREPEXCLUDE,
DOMINCLUDE,
DOMEXCLUDE,
ORGINCLUDE,
ORGEXCLUDE,
REFREPINCLUDE,
REFREPEXCLUDE,
REFSITEINCLUDE,
REFSITEEXCLUDE,
SEARCHQUERYINCLUDE,
SEARCHQUERYEXCLUDE,
SEARCHWORDINCLUDE,
SEARCHWORDEXCLUDE,
REDIRREFINCLUDE,
REDIRREFEXCLUDE,
FAILREFINCLUDE,
FAILREFEXCLUDE,
BROWSUMINCLUDE,
BROWSUMEXCLUDE,
FULLBROWINCLUDE,
FULLBROWEXCLUDE,
OSINCLUDE,
OSEXCLUDE,
VHOSTREPINCLUDE,
VHOSTREPEXCLUDE,
USERREPINCLUDE,
USERREPEXCLUDE,
FAILUSERINCLUDE,
FAILUSEREXCLUDE
- 文法
-
COMMAND *item
COMMAND ("REGEXP:" | "REGEXPI:")regexp
- 注意
- 1つのレポート中からのみ除外項目を除外する。正規表現は、幾つかのプロット
フォームでのみ使用できる。
- 例
- REQINCLUDE pages
- 4. 文法 (種々)
-
PAGEINCLUDE *file
PAGEEXCLUDE *file
ARGSINCLUDE *file
ARGSEXCLUDE *file
REFARGSINCLUDE *referrer
REFARGSEXCLUDE *referrer
- 注意
- これらは、適切なプラットフォーム上では正規表現でもありうる。
- 例
-
PAGEINCLUDE *.asp
- 文法
-
DNSFILE localfile
DNS ("NONE" | "READ" | "LOOKUP" | "WRITE")
DNSLOCKFILE localfile
DNSGOODHOURS number
DNSBADHOURS number
- 例
-
DNSFILE dnscache.txt
DNS WRITE
DNSBADHOURS 48
- 文法
-
SUBDIR *file
SUBDOMAIN *subdomain
SUBORG *subdomain
SUBTYPE *extension
SUBBROW *browser
REFDIR *referrer
- 例
-
SUBDIR /jim/*/*
SUBTYPE *.gz
- 命令
- FILELOWMEM,
HOSTLOWMEM,
BROWLOWMEM,
REFLOWMEM,
USERLOWMEM,
VHOSTLOWMEM
- 文法
-
COMMAND ("0" | "1" | "2" | "3")
- 例
-
HOSTLOWMEM 3
- コマンド
- GENERAL,
ALL,
MONTHLY,
WEEKLY,
FULLDAILY,
DAILY,
FULLHOURLY,
HOURLY,
QUARTER,
FIVE,
HOST,
ORGANISATION,
DOMAIN,
REQUEST,
DIRECTORY,
FILETYPE,
SIZE,
PROCTIME,
REDIR,
FAILURE,
REFERRER,
REFSITE,
SEARCHQUERY,
SEARCHWORD,
REDIRREF,
FAILREF,
FULLBROWSER,
BROWSER,
OSREP,
VHOST,
USER,
FAILUSER,
STATUS
- 文法
-
REPORTCOMMAND ("ON" | "OFF")
- 例
-
ALL OFF
FULLHOURLY ON
- コマンド
- ALLGRAPH,
MONTHGRAPH,
WEEKGRAPH,
DAYGRAPH,
FULLDAYGRAPH,
HOURGRAPH,
FULLHOURGRAPH,
QUARTERGRAPH,
FIVEGRAPH
- 文法
-
COMMAND ("R" | "r" | "P" | "p" | "B" | "b")
- 例
-
ALLGRAPH B
- コマンド
- ALLBACK,
MONTHBACK,
WEEKBACK,
FULLDAYBACK,
FULLHOURBACK,
QUARTERBACK,
FIVEBACK
- 文法
-
COMMAND ("ON" | "OFF")
- 例
-
ALLBACK ON
- コマンド
- MONTHROWS,
WEEKROWS,
FULLDAYROWS,
FULLHOURROWS,
QUARTERROWS,
FIVEROWS
- 文法
-
COMMAND number
- 例
-
QUARTERROWS 192
- 1. コマンド (時間レポート)
-
TIMECOLS,
MONTHCOLS,
WEEKCOLS,
DAYCOLS,
FULLDAYCOLS,
HOURCOLS,
FULLHOURCOLS,
QUARTERCOLS,
FIVECOLS
- 文法
- cols1 := subset("RrPpBb")
COMMAND cols1
- 例
-
MONTHCOLS bRP
- 2. コマンド (大部分の成功レポート)
-
HOSTCOLS,
ORGCOLS,
DOMCOLS,
DIRCOLS,
REFCOLS,
REFSITECOLS,
SEARCHQUERYCOLS,
SEARCHWORDCOLS,
FULLBROWCOLS,
BROWCOLS,
OSCOLS,
VHOSTCOLS,
USERCOLS
- 文法
- cols2 := subset("NDRrPpBb")
COMMAND cols2
- 例
-
USERCOLS BD
- 3. コマンド (リクエストとファイル種類別レポート)
-
REQCOLS,
TYPECOLS
- 文法
- cols3 := subset("NDRrpBb")
COMMAND cols3
- 例
-
TYPECOLS NRb
- 4. コマンド (不成功、リダイレクションそれにステータスコードレポート)
-
REDIRCOLS,
FAILCOLS,
REDIRREFCOLS,
FAILREFCOLS,
FAILUSERCOLS,
STATUSCOLS
- 文法
- cols4 := subset("NDRr")
COMMAND cols4
- 例
-
FAILCOLS D
- 5. コマンド (サイズと処理時間レポート)
-
SIZECOLS,
PROCTIMECOLS
- 文法
- cols5 := subset("DRrPpBb")
COMMAND cols5
- 例
-
SIZECOLS RB
- 1. コマンド (大部分の成功レポート)
-
HOSTSORTBY,
ORGSORTBY,
DOMSORTBY,
DIRSORTBY,
REFSORTBY,
REFSITESORTBY,
SEARCHQUERYSORTBY,
SEARCHWORDSORTBY,
FULLBROWSORTBY,
BROWSORTBY,
OSSORTBY,
VHOSTSORTBY,
USERSORTBY,
SUBDIRSORTBY,
SUBDOMSORTBY,
SUBORGSORTBY,
SUBBROWSORTBY,
SUBOSSORTBY,
REFDIRSORTBY,
REFARGSSORTBY
- 文法
- sortby1 := ("REQUESTS" | "PAGES" | "BYTES" | "DATE" | "ALPHABETICAL" | "RANDOM")
COMMAND sortby1
- 例
-
DOMSORTBY ALPHABETICAL
- 2. コマンド (リクエストとファイル種類別レポート)
-
REQSORTBY,
TYPESORTBY,
REQARGSSORTBY,
SUBTYPESORTBY
- 文法
- sortby2 := ("REQUESTS" | "BYTES" | "DATE" | "ALPHABETICAL" | "RANDOM")
COMMAND sortby2
- 例
-
REQSORTBY REQUESTS
- 3. コマンド (不成功、リダイレクションそれにステータスコードレポート)
-
REDIRSORTBY,
FAILSORTBY,
REDIRREFSORTBY,
FAILREFSORTBY,
FAILUSERSORTBY,
STATUSSORTBY,
REDIRARGSSORTBY,
FAILARGSSORTBY,
REDIRREFARGSSORTBY,
FAILREFARGSSORTBY
- 文法
- sortby3 := ("REQUESTS" | "DATE" | "ALPHABETICAL" | "RANDOM")
COMMAND sortby3
- 例
-
FAILSORTBY DATE
- コマンド (上層レベル)
-
HOSTFLOOR,
ORGFLOOR,
DOMFLOOR,
REQFLOOR,
DIRFLOOR,
TYPEFLOOR,
REDIRFLOOR,
FAILFLOOR,
REFFLOOR,
REFSITEFLOOR,
SEARCHQUERYFLOOR,
SEARCHWORDFLOOR,
REDIRREFFLOOR,
FAILREFFLOOR,
FULLBROWFLOOR,
BROWFLOOR,
OSFLOOR,
VHOSTFLOOR,
USERFLOOR,
FAILUSERFLOOR,
STATUSFLOOR
- コマンド (下層レベル)
-
REQARGSFLOOR,
REDIRARGSFLOOR,
FAILARGSFLOOR,
REFARGSFLOOR,
REDIRREFARGSFLOOR,
FAILREFARGSFLOOR,
SUBDIRFLOOR,
SUBDOMFLOOR,
SUBORGFLOOR,
SUBTYPEFLOOR,
SUBBROWFLOOR,
SUBOSFLOOR,
REFDIRFLOOR
- 文法
-
partdate := ["+" | "-"] digit digit
date := partdate partdate partdate [":" partdate partdate]
COMMAND number ("r" | "p")
COMMAND number ["k" | "M" | "G" | "T"] "b"
COMMAND real ("%" | ":") ("r" | "p" | "b")
COMMAND date "d"
COMMAND "-" number ("r" | "p" | "b" | "d")
- 注意
- 実際には、この文法は完全には正しくない。REQFLOOR,
TYPEFLOOR, REQARGSFLOOR と SUBTYPEFLOOR
は、"p" の型は許されないし、また REDIRFLOOR,
FAILFLOOR, REDIRREFFLOOR, FAILREFFLOOR,
FAILUSERFLOOR, STATUSFLOOR, REDIRARGSFLOOR,
FAILARGSFLOOR, REDIRREFARGSFLOOR それに
FAILREFARGSFLOOR は、"p" あるいは "b"
の型は許されない。
- 例
-
TYPEFLOOR -20r
REQARGSFLOOR 0.1%b
- 文法
-
LINKINCLUDE *file
LINKEXCLUDE *file
REFLINKINCLUDE *referrer
REFLINKEXCLUDE *referrer
BASEURL prefix_string
- 例
-
LINKINCLUDE pages
REFLINKINCLUDE *.cgi
BASEURL http://www.mycompany.com
- 文法
LANGUAGE ("CATALAN" | "CHINESE" | "CZECH" | "DANISH" | "DUTCH" | "ENGLISH" |
"US-ENGLISH" | "FINNISH" | "FRENCH" | "GERMAN" | "GREEK" |
"HUNGARIAN" | "ICELANDIC" | "ITALIAN" | "JAPANESE" | "KOREAN" |
"LATVIAN" | "LITHUANIAN" | "NORWEGIAN" | "NYNORSK" | "POLISH" |
"PORTUGUESE" | "BR-PORTUGUESE" | "ROMANIAN" | "RUSSIAN" |
"SERBOCROATIAN" | "SLOVAK" | "SLOVENE" | "SPANISH" | "SWEDISH" |
"TURKISH")
LANGFILE localfile
DOMAINSFILE localfile
- 注意
- 上記の全ての言語が、ベータテストの analog で使用可能であるわけではない。
- 例
-
LANGUAGE ITALIAN
LANGFILE lang/hindi.lng
- 文法
-
OUTPUT ("HTML" | "ASCII" | "COMPUTER" | "NONE")
GOTOS ("ON" | "OFF")
LASTSEVEN ("ON" | "OFF")
REPORTORDER perm("xcmdDhH45WriSoEItzsfKkuJvbB")
IMAGEDIR URL
NOROBOTS ("ON" | "OFF")
LOGO (URL | "none")
HOSTNAME string
HOSTURL (URL | "none")
HEADERFILE (localfile | "none")
FOOTERFILE (localfile | "none")
STYLESHEET (URL | "none")
SEPCHAR (char | "none")
REPSEPCHAR (char | "none")
DECPOINT char
COMPSEP string
RAWBYTES ("ON" | "OFF")
HTMLPAGEWIDTH number
ASCIIPAGEWIDTH number
BARSTYLE ("a" | "b" | "c" | "d" | "e" | "f" | "g" | "h")
MARKCHAR char
MINGRAPHWIDTH number
WEEKBEGINSON ("SUNDAY" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY")
SEARCHENGINE *referrer comma-separated-strings
- 例
- 一覧にするにはあまりに多すぎる。各個別のコマンドの資料を見よ。
- 文法
-
SETTINGS ("ON" | "OFF")
DEBUG ("ON" | "OFF" | ["+" | "-"] subset("CDFSU"))
WARNINGS ("ON" | "OFF" | ["+" | "-"] subset("CDEFLMR"))
PROGRESSFREQ number
ERRFILE localfile
ERRLINELENGTH number
- 例
-
DEBUG ON
DEBUG CF
WARNINGS -DL
PROGRESSFREQ 50000
索引
[ A | B | C |
D | E | F |
G | H | I | J | K |
L | M | N |
O | P | Q |
R | S | T |
U | V | W | X |
Y | Z ]
[ あ | か | さ |
た | な | は |
ま | や | ら |
わ ]
これはこのマニュアル( Readme )の索引です。各名称の後の番号を辿って,その
コマンド或いは概念の参考資料を見出してください。一つの仲間のコマンド群は、
2番目の部分の名称に基づいて索引が作られています。例えば、
HOSTEXCLUDE は、 HOST ではなく、*EXCLUDE
で引きます。
この索引は、analog の全ての環境設定コマンドを含みます。もし以前のバージョンで
使用していたコマンドがここに無い場合には、
以前のバージョンからのアップグレード
の章を見てください。全てのコマンドは、簡易
参考マニュアル にも文法と例が載っていますが、その章はこの索引とは
相互参照していません。
訳注:英語表記の索引はそのままにして、日本語に訳せる
単語 (主にコマンド以外) は日本語表記の索引を作成しました。
英語索引
Acknowledgements [1]
Addresses, numerical [1]
*ALIAS [1]
Aliases [1]
ALLBACK [1]
ALLGRAPH [1]
analog.cfg [1][2][3][4][5]
anlgform.html [1]
anlgform.pl [1]
anlghead.h [1][2]
Announcements [1]
APACHEDEFAULTLOGFORMAT [1]
APACHELOGFORMAT [1]
ARGSEXCLUDE [1]
*ARGSFLOOR [1]
ARGSINCLUDE [1]
*ARGSSORTBY [1]
Arguments in URLs [1][2]
ASCII output [1]
ASCIIPAGEWIDTH [1]
*BACK [1]
Bar charts [1]
BARSTYLE [1]
BASEURL [1]
Basic commands [1]
Broken pipe [1][2]
BROW* commands - see under second part of name
BROWSER [1]
Browser Report [1][2][3][4]
Browser Summary [1][2][3]
BROWSUM* commands - see under second part of name
Bugs, reporting [1]
Bytes, how displayed [1]
Cache files [1]
CACHEOUTFILE [1]
CACHEFILE [1]
CASE [1]
CGI program [1]
"Click-thru"s [1]
Colours [1]
*COLS [1][2]
Command line arguments [1][2][3][4]
- logfile name (LOGFILE) [1]
- - (LOGFILE stdin) [1]
- 4 (Quarter-Hour Report) [1]
- 5 (Five-Minute Report) [1]
- A (All reports) [1]
- a (HTML/ASCII output) [1]
- B (Browser Report) [1][2]
- b (Browser Summary) [1][2]
- c (Status Code Report) [1][2]
- C (Arbitrary configuration command) [1]
- D (Daily Report) [1]
- d (Daily Summary) [1]
- E (Redirection Report) [1][2]
- F (FROM date) [1]
- f (Referrer Report) [1][2]
- G (Default configuration file) [1]
- g (Other configuration files) [1]
- H (Hourly Report) [1]
- h (Hourly Summary) [1]
- I (Failure Report) [1][2]
- i (Directory Report) [1][2]
- J (Failed User Report) [1][2]
- K (Failed Referrer Report) [1][2]
- k (Redirected Referrer Report) [1][2]
- m (Monthly Report) [1]
- N (Search Query Report) [1][2]
- n (Search Word Report) [1][2]
- O (Output file) [1]
- o (Domain Report) [1][2]
- P (Processing Time Report) [1]
- p (Operating System Report) [1][2]
- q (Warnings) [1]
- r (Request Report) [1][2]
- S (Host Report) [1][2]
- s (Referring Site Report) [1][2]
- settings (Settings of all variables) [1][2]
- T (TO date) [1]
- t (File Type Report) [1][2]
- U (Cache file) [1]
- u (User Report) [1][2]
- V (Debugging) [1]
- v (Virtual Host Report) [1][2]
- W (Weekly Report) [1]
- X (Goto's) [1]
- x (General Summary) [1]
- Z (Organisation Report) [1][2]
- z (File Size Report) [1]
Compilation problems [1]
Compiling [1]
Compressed logfiles [1]
COMPSEP [1]
Computer-readable output style [1]
CONFIGFILE [1]
Configuration files [1][2][3][4][5]
Configuration file, default [1]
Configuration file, mandatory [1]
Contents [1]
Contributors [1]
Cookies [1]
Corrupt logfile lines, definition [1]
Countries [1]
Crashes [1]
Customising analog [1]
DAILY [1]
Daily Report [1][2][3]
Daily Summary [1][2][3]
Date reports [1][2]
Dates, restricting [1]
DAY* commands - see under second part of name
Debugging [1]
DECPOINT [1]
Default configuration file [1]
Default logfile format [1]
DEFAULTLOGFORMAT [1]
Definitions [1]
DIR* commands - see under second part of name
DIRECTORY [1]
Directory Report [1][2][3][4]
DIRSUFFIX [1]
DNS [1]
DNS lookups [1]
DNSBADHOURS [1]
DNSFILE [1]
DNSGOODHOURS [1]
DNSLOCKFILE [1]
DOM* commands - see under second part of name
DOMAIN [1]
Domain Report [1][2][3][4][5]
Domains file [1]
DOMAINSFILE [1]
ERRFILE [1]
ERRLINELENGTH [1]
error_log [1][2]
Error Report [1]
Errors [1]
Example reports [1]
Examples of each command [1]
*EXCLUDE [1]
Exclusions [1]
FAIL* commands - see under second part of name
Failed Referrer Report [1][2][3][4]
Failed requests, definition [1]
Failed User Report [1][2][3]
FAILREF [1]
FAILREF* commands - see under second part of name
FAILURE [1]
Failure Report [1][2][3][4]
FAILUSER [1]
FAILUSER* commands - see under second part of name
FAQ [1]
Fatal errors [1]
FILE* commands - see under second part of name
File, definition [1]
File Size Report [1][2][3]
File Type Report [1][2][3][4]
FILETYPE [1]
Filters [1]
First day of week [1]
FIVE [1]
FIVE* commands - see under second part of name
Five-Minute Report [1][2][3]
*FLOOR [1][2][3]
FOOTERFILE [1]
Form interface [1]
Frequently Asked Questions [1]
FROM [1]
FULLBROW* commands - see under second part of name
FULLBROWSER [1]
FULLDAILY [1]
FULLDAY* commands - see under second part of name
FULLHOUR* commands - see under second part of name
FULLHOURLY [1]
GENERAL [1]
General Summary [1][2]
GOTOS [1]
*GRAPH [1]
Graphs [1]
HEADERFILE [1]
Helper applications [1]
Hierarchical reports [1]
Hits [1]
Home page [1]
HOST [1]
HOST* commands - see under second part of name
Host, definition [1]
Host Report [1][2][3]
HOSTNAME [1]
Hostnames, numerical [1]
HOSTREP* commands - see under second part of name
HOSTURL [1]
HOUR* commands - see under second part of name
HOURLY [1]
Hourly Report [1][2][3]
Hourly Summary [1][2][3]
HTML output [1]
HTMLPAGEWIDTH [1]
IMAGEDIR [1]
*INCLUDE [1]
Inclusions and exclusions [1]
Introduction [1]
IP addresses [1]
LANGFILE [1]
LANGUAGE [1]
Languages [1][2]
LASTSEVEN [1]
Licence [1][2]
LINKEXCLUDE [1]
LINKINCLUDE [1]
LOGFILE [1]
Logfile formats [1][2]
Logfile prefix [1]
Logfiles [1]
Logfiles, choosing [1]
Logfiles, compressed [1]
Logfiles, finding [1]
LOGFORMAT [1]
LOGO [1]
LOGTIMEOFFSET [1]
Low memory [1]
*LOWMEM [1][2]
Mailing lists [1]
Makefile [1]
Mandatory configuration file [1]
Map [1]
MARKCHAR [1]
Meaning of reports [1]
Memory, using less [1]
MINGRAPHWIDTH [1]
MONTH* commands - see under second part of name
MONTHLY [1]
Monthly Report [1][2][3]
Non-time reports [1][2]
NOROBOTS [1]
Numerical addresses [1]
Numerical hostnames [1]
Operating System Report [1][2][3][4]
ORG* commands - see under second part of name
ORGANISATION [1]
Organisations, definition [1]
Organisation Report [1][2][3][4]
OS Report [1][2][3][4]
OS* commands - see under second part of name
OSREP [1]
OUTFILE [1]
OUTPUT [1]
Output aliases [1]
OUTPUT COMPUTER [1][2]
Output, configuring [1]
Output style, computer readable [1]
Output styles [1]
*OUTPUTALIAS [1]
Page, definition [1]
PAGEEXCLUDE [1]
PAGEINCLUDE [1]
Pages, defining [1]
*PAGEWIDTH [1]
Path through site [1]
Processing Time Report [1][2][3]
PROCTIME [1]
PROCTIME* commands - see under second part of name
PROGRESSFREQ [1]
QUARTER [1]
QUARTER* commands - see under second part of name
Quarter-Hour Report [1][2][3]
Quick reference [1]
RAWBYTES [1]
REDIR [1]
REDIR* commands - see under second part of name
Redirected Referrer Report [1][2][3][4]
Redirected requests, definition [1]
Redirection Report [1][2][3][4]
REDIRREF [1]
REDIRREF* commands - see under second part of name
REF* commands - see under second part of name
REFARGSEXCLUDE [1]
REFARGSINCLUDE [1]
REFDIR [1]
Reference, quick [1]
REFERRER [1]
Referrer, definition [1]
Referrer Report [1][2][3][4]
Referring Site Report [1][2][3][4]
REFLINKEXCLUDE [1]
REFLINKINCLUDE [1]
REFREP* commands - see under second part of name
REFSITE [1]
REFSITE* commands - see under second part of name
Regular expressions [1][2]
Report.html [1][2][3]
Reporting bugs [1]
REPORTORDER [1]
Reports, list of [1][2]
REPSEPCHAR [1]
REQ* commands - see under second part of name
REQUEST [1]
Request Report [1][2][3][4]
Requests, definition [1]
Requests for pages, defining [1]
Requests for pages, definition [1]
Requests, types of [1]
Robots, discouraging [1]
*ROWS [1]
Sample reports [1]
Search arguments [1][2] -- see also Search Query Report and Search Word Report below
Search Query Report [1][2][3][4]
Search Word Report [1][2][3][4]
SEARCHQUERY [1]
SEARCHQUERY* commands - see under second part of name
SEARCHWORD [1]
SEARCHWORD* commands - see under second part of name
Search engines, discouraging [1]
SEPCHAR [1]
SETTINGS [1][2]
SIZE [1]
SIZE* commands - see under second part of name
*SORTBY [1][2][3]
Source code [1]
Spiders, discouraging [1]
Starting to use analog [1]
Starting to use analog on a Mac [1]
Starting to use analog on OS/2 [1]
Starting to use analog on Windows [1]
Starting to use analog on other platforms [1]
STATUS [1]
Status Code Report [1][2][3]
STATUS* commands - see under second part of name
STYLESHEET [1]
SUBBROW [1]
SUBDIR [1]
Subdirectories [1]
SUBDOMAIN [1]
Subdomains [1]
SUB*FLOOR [1]
SUBORG [1]
SUB*SORTBY [1]
SUBTYPE [1]
Successful requests, definition [1]
Syntax [1][2]
Time reports [1][2]
TIMECOLS [1]
TIMEOFFSET [1]
Times, restricting [1]
Title line [1][2]
TO [1]
Total requests, definition [1]
Translators [1]
Tree reports [1]
TYPE* commands - see under second part of name
UNCOMPRESS [1]
Unresolved numerical addresses [1]
Unwanted logfile entries, definition [1]
Upgrading from earlier versions [1]
USER [1]
USER* commands - see under second part of name
User Report [1][2][3]
USERREP* commands - see under second part of name
VHOST [1]
VHOST* commands - see under second part of name
VHOSTREP* commands - see under second part of name
Virtual domains/virtual hosts [1][2]
Virtual Host Report [1][2][3]
Visitors [1]
Visits [1]
WARNINGS [1]
Warnings [1][2]
WEEK* commands - see under second part of name
WEEKBEGINSON [1]
WEEKLY [1]
Weekly Report [1][2][3]
What was new? [1][2]
What's new? [1][2]
Year 2000 compatibility [1]
日本語索引
IP アドレス [1]
アスキー出力 [1]
圧縮されたログファイル [1]
(数値の)アドレス [1]
analog のカスタマイズ [1]
analog を使うにあたって [1]
analog を使うにあたって (Mac) [1]
analog を使うにあたって (OS/2) [1]
analog を使うにあたって (Windows) [1]
analog を使うにあたって (他のプラットフォーム) [1]
新しい特徴 [1][2]
以前の特徴 [1][2]
色 [1]
HTML 出力 [1]
エイリアス [1]
エラー [1]
エラーレポート [1]
OS レポート [1][2][3][4]
階層的レポート [1]
簡易参考マニュアル [1]
環境設定ファイル [1][2][3][4][5]
(初期)環境設定ファイル [1]
(必須)環境設定ファイル [1]
基本コマンド [1]
キャッシュファイル [1]
クッキー [1]
国 [1]
クラッシュ [1]
言語 [1][2]
(拒否する)検索エンジン [1]
検索結果レポート [1][2][3][4]
検索語レポート [1][2][3][4]
検索引数 [1][2] -- 検索結果レポートと検索語レポートも見よ。
貢献者 [1]
告知 [1]
(各)コマンドの例 [1]
5分間隔レポート [1][2][3]
コマンドラインの引数 [1][2][3][4]
- ログファイル名 (LOGFILE) [1]
- - (LOGFILE stdin) [1]
- 4 (15分間隔レポート) [1]
- 5 (5分間隔レポート) [1]
- A (全てのレポート) [1]
- a (HTML/ASCII 出力) [1]
- B (ブラウザーレポート) [1][2]
- b (ブラウザーの概要) [1][2]
- c (ステータスコードレポート) [1][2]
- C (任意の環境設定コマンド) [1]
- D (日別レポート) [1]
- d (曜日別レポート) [1]
- E (リダイレクション) [1][2]
- F (FROM date) [1]
- f (レファラーレポート) [1][2]
- G (初期設定環境設定ファイル) [1]
- g (他の環境設定ファイル) [1]
- H (時間別レポート) [1]
- h (時間別概要) [1]
- I (不成功レポート) [1][2]
- i (ディレクトリレポート) [1][2]
- J (不成功ユーザレポート) [1][2]
- K (不成功レファラーレポート) [1][2]
- k (リダイレクションされたレファラーレポート) [1][2]
- m (月別レポート) [1]
- N (検索結果レポート) [1][2]
- n (検索語レポート) [1][2]
- O (出力ファイル) [1]
- o (ドメインレポート) [1][2]
- P (処理時間レポート) [1]
- p (OS レポート) [1][2]
- q (注意) [1]
- r (リクエストレポート) [1][2]
- S (ホストレポート) [1][2]
- s (参照サイトレポート) [1][2]
- settings (全ての変数の設定) [1][2]
- T (TO date) [1]
- t (ファイル種類別レポート) [1][2]
- U (キャッシュファイル) [1]
- u (ユーザレポート) [1][2]
- V (デバッグ) [1]
- v (バーチャルホストレポート) [1][2]
- W (週別レポート) [1]
- X (Goto) [1]
- x (全体の概要) [1]
- Z (組織別レポート) [1][2]
- z (ファイルサイズレポート) [1]
壊れたパイプ [1][2]
(定義)壊れたログファイル行 [1]
コンパイル時の問題 [1]
コンパイル [1]
コンピュータが読める出力スタイル [1]
サイト通過のパス [1]
サブディレクトリ [1]
サブドメイン [1]
時間別概要 [1][2][3]
時刻レポート [1][2]
(限定した)時刻 [1]
時刻に依存しないレポート [1][2]
CGI プログラム [1]
謝辞 [1]
15分間隔レポート [1][2][3]
週の最初の日 [1]
週別レポート [1][2][3]
(環境設定)出力 [1]
出力スタイル [1]
(コンピュータの読める)出力スタイル [1]
出力の別名 [1]
小メモリ [1]
除外 [1]
初期設定環境設定ファイル [1]
初期設定ログファイル書式 [1]
処理時間レポート [1][2][3]
数値のアドレス [1]
数値のホスト名 [1]
ステータスコードレポート [1][2][3]
(拒否する)スパイダー [1]
正規表現 [1][2]
(定義)成功したリクエスト [1]
全体の概要 [1][2]
(定義)全リクエスト [1]
前バージョンからのアップグレード [1]
(定義)組織 [1]
ソースコード [1]
組織別レポート [1][2][3][4]
題名行 [1][2]
致命的エラー [1]
注意 [1][2]
月別レポート [1][2][3]
ツリーレポート [1]
定義 [1]
ディレクトリレポート [1][2][3][4]
DNS 参照 [1]
デバッグ [1]
ドメインレポート [1][2][3][4][5]
ドメインファイル [1]
内容 [1]
2000年対応 [1]
バーチャート [1]
バーチャルドメイン・ホスト [1][2]
バーチャルホストレポート [1][2][3]
バイト (Bytes) の表示法 [1]
(報告された)バグ [1]
バグの報告 [1]
始めに [1]
(URL 中の)引数 [1][2]
(制限された)日付 [1]
日付レポート [1][2]
必須の環境設定ファイル [1]
ヒット [1]
(定義)ファイル [1]
ファイルサイズレポート [1][2][3]
ファイル種類別レポート [1][2][3][4]
フィルター [1]
フォームインタフェース [1]
不成功ユーザレポート [1][2][3]
(定義)不成功リクエスト [1]
不成功レファラーレポート [1][2][3][4]
(定義)不必要なログファイル項目 [1]
ブラウザーの概要 [1][2][3]
ブラウザーレポート [1][2][3][4]
文法 [1][2]
(定義)ページ [1]
(定義)ページのリクエスト [1]
ページを定義する [1]
(定義)ページのリクエスト [1]
包含と除外 [1]
(定義)ホスト [1]
ホストレポート [1][2][3]
ホームページ [1]
訪問者 [1]
訪問 [1]
翻訳者 [1]
未解決数値アドレス [1]
メーリングリスト [1]
(少なく使う)メモリ [1]
目次 [1]
役立つソフト [1]
ユーザレポート [1][2][3]
曜日別レポート [1][2][3]
曜日別概要 [1][2][3]
よく聞かれる質問 (FAQ) [1]
ライセンス [1][2]
リクエストレポート [1][2][3][4]
(定義)リクエスト [1]
リクエストの種類 [1]
リダイレクトされたレファラーレポート [1][2][3][4]
(定義)リダイレクトされたリクエスト [1]
リダイレクションレポート [1][2][3][4]
レファラーレポート [1][2][3][4]
リファーリングサイトレポート [1][2][3][4]
レポートの意味 [1]
レポートの例 [1]
ログファイル [1]
ログファイルの圧縮 [1]
ログファイルの書式 [1][2]
ログファイルの選択 [1]
ログファイルの場所 [1]
ログファイルの接頭辞 [1]
(拒否する)ロボット [1]
[ あ | か | さ |
た | な | は |
ま | や | ら |
わ ]
[ A | B | C |
D | E | F |
G | H | I | J | K |
L | M | N |
O | P | Q |
R | S | T |
U | V | W | X |
Y | Z ]
[ A | B | C |
D | E | F |
G | H | I | J | K |
L | M | N |
O | P | Q |
R | S | T |
U | V | W | X |
Y | Z ]
[ あ | か | さ |
た | な | は |
ま | や | ら |
わ ]
これはこのマニュアル( Readme )の索引です。各名称の後の番号を辿って,その
コマンド或いは概念の参考資料を見出してください。一つの仲間のコマンド群は、
2番目の部分の名称に基づいて索引が作られています。例えば、
HOSTEXCLUDE は、 HOST ではなく、*EXCLUDE
で引きます。
この索引は、analog の全ての環境設定コマンドを含みます。もし以前のバージョンで
使用していたコマンドがここに無い場合には、
以前のバージョンからのアップグレード
の章を見てください。全てのコマンドは、簡易
参考マニュアル にも文法と例が載っていますが、その章はこの索引とは
相互参照していません。
訳注:英語表記の索引はそのままにして、日本語に訳せる
単語 (主にコマンド以外) は日本語表記の索引を作成しました。
英語索引
Acknowledgements [1]
Addresses, numerical [1]
*ALIAS [1]
Aliases [1]
ALLBACK [1]
ALLGRAPH [1]
analog.cfg [1][2][3][4][5]
anlgform.html [1]
anlgform.pl [1]
anlghead.h [1][2]
Announcements [1]
APACHEDEFAULTLOGFORMAT [1]
APACHELOGFORMAT [1]
ARGSEXCLUDE [1]
*ARGSFLOOR [1]
ARGSINCLUDE [1]
*ARGSSORTBY [1]
Arguments in URLs [1][2]
ASCII output [1]
ASCIIPAGEWIDTH [1]
*BACK [1]
Bar charts [1]
BARSTYLE [1]
BASEURL [1]
Basic commands [1]
Broken pipe [1][2]
BROW* commands - see under second part of name
BROWSER [1]
Browser Report [1][2][3][4]
Browser Summary [1][2][3]
BROWSUM* commands - see under second part of name
Bugs, reporting [1]
Bytes, how displayed [1]
Cache files [1]
CACHEOUTFILE [1]
CACHEFILE [1]
CASE [1]
CGI program [1]
"Click-thru"s [1]
Colours [1]
*COLS [1][2]
Command line arguments [1][2][3][4]
- logfile name (LOGFILE) [1]
- - (LOGFILE stdin) [1]
- 4 (Quarter-Hour Report) [1]
- 5 (Five-Minute Report) [1]
- A (All reports) [1]
- a (HTML/ASCII output) [1]
- B (Browser Report) [1][2]
- b (Browser Summary) [1][2]
- c (Status Code Report) [1][2]
- C (Arbitrary configuration command) [1]
- D (Daily Report) [1]
- d (Daily Summary) [1]
- E (Redirection Report) [1][2]
- F (FROM date) [1]
- f (Referrer Report) [1][2]
- G (Default configuration file) [1]
- g (Other configuration files) [1]
- H (Hourly Report) [1]
- h (Hourly Summary) [1]
- I (Failure Report) [1][2]
- i (Directory Report) [1][2]
- J (Failed User Report) [1][2]
- K (Failed Referrer Report) [1][2]
- k (Redirected Referrer Report) [1][2]
- m (Monthly Report) [1]
- N (Search Query Report) [1][2]
- n (Search Word Report) [1][2]
- O (Output file) [1]
- o (Domain Report) [1][2]
- P (Processing Time Report) [1]
- p (Operating System Report) [1][2]
- q (Warnings) [1]
- r (Request Report) [1][2]
- S (Host Report) [1][2]
- s (Referring Site Report) [1][2]
- settings (Settings of all variables) [1][2]
- T (TO date) [1]
- t (File Type Report) [1][2]
- U (Cache file) [1]
- u (User Report) [1][2]
- V (Debugging) [1]
- v (Virtual Host Report) [1][2]
- W (Weekly Report) [1]
- X (Goto's) [1]
- x (General Summary) [1]
- Z (Organisation Report) [1][2]
- z (File Size Report) [1]
Compilation problems [1]
Compiling [1]
Compressed logfiles [1]
COMPSEP [1]
Computer-readable output style [1]
CONFIGFILE [1]
Configuration files [1][2][3][4][5]
Configuration file, default [1]
Configuration file, mandatory [1]
Contents [1]
Contributors [1]
Cookies [1]
Corrupt logfile lines, definition [1]
Countries [1]
Crashes [1]
Customising analog [1]
DAILY [1]
Daily Report [1][2][3]
Daily Summary [1][2][3]
Date reports [1][2]
Dates, restricting [1]
DAY* commands - see under second part of name
Debugging [1]
DECPOINT [1]
Default configuration file [1]
Default logfile format [1]
DEFAULTLOGFORMAT [1]
Definitions [1]
DIR* commands - see under second part of name
DIRECTORY [1]
Directory Report [1][2][3][4]
DIRSUFFIX [1]
DNS [1]
DNS lookups [1]
DNSBADHOURS [1]
DNSFILE [1]
DNSGOODHOURS [1]
DNSLOCKFILE [1]
DOM* commands - see under second part of name
DOMAIN [1]
Domain Report [1][2][3][4][5]
Domains file [1]
DOMAINSFILE [1]
ERRFILE [1]
ERRLINELENGTH [1]
error_log [1][2]
Error Report [1]
Errors [1]
Example reports [1]
Examples of each command [1]
*EXCLUDE [1]
Exclusions [1]
FAIL* commands - see under second part of name
Failed Referrer Report [1][2][3][4]
Failed requests, definition [1]
Failed User Report [1][2][3]
FAILREF [1]
FAILREF* commands - see under second part of name
FAILURE [1]
Failure Report [1][2][3][4]
FAILUSER [1]
FAILUSER* commands - see under second part of name
FAQ [1]
Fatal errors [1]
FILE* commands - see under second part of name
File, definition [1]
File Size Report [1][2][3]
File Type Report [1][2][3][4]
FILETYPE [1]
Filters [1]
First day of week [1]
FIVE [1]
FIVE* commands - see under second part of name
Five-Minute Report [1][2][3]
*FLOOR [1][2][3]
FOOTERFILE [1]
Form interface [1]
Frequently Asked Questions [1]
FROM [1]
FULLBROW* commands - see under second part of name
FULLBROWSER [1]
FULLDAILY [1]
FULLDAY* commands - see under second part of name
FULLHOUR* commands - see under second part of name
FULLHOURLY [1]
GENERAL [1]
General Summary [1][2]
GOTOS [1]
*GRAPH [1]
Graphs [1]
HEADERFILE [1]
Helper applications [1]
Hierarchical reports [1]
Hits [1]
Home page [1]
HOST [1]
HOST* commands - see under second part of name
Host, definition [1]
Host Report [1][2][3]
HOSTNAME [1]
Hostnames, numerical [1]
HOSTREP* commands - see under second part of name
HOSTURL [1]
HOUR* commands - see under second part of name
HOURLY [1]
Hourly Report [1][2][3]
Hourly Summary [1][2][3]
HTML output [1]
HTMLPAGEWIDTH [1]
IMAGEDIR [1]
*INCLUDE [1]
Inclusions and exclusions [1]
Introduction [1]
IP addresses [1]
LANGFILE [1]
LANGUAGE [1]
Languages [1][2]
LASTSEVEN [1]
Licence [1][2]
LINKEXCLUDE [1]
LINKINCLUDE [1]
LOGFILE [1]
Logfile formats [1][2]
Logfile prefix [1]
Logfiles [1]
Logfiles, choosing [1]
Logfiles, compressed [1]
Logfiles, finding [1]
LOGFORMAT [1]
LOGO [1]
LOGTIMEOFFSET [1]
Low memory [1]
*LOWMEM [1][2]
Mailing lists [1]
Makefile [1]
Mandatory configuration file [1]
Map [1]
MARKCHAR [1]
Meaning of reports [1]
Memory, using less [1]
MINGRAPHWIDTH [1]
MONTH* commands - see under second part of name
MONTHLY [1]
Monthly Report [1][2][3]
Non-time reports [1][2]
NOROBOTS [1]
Numerical addresses [1]
Numerical hostnames [1]
Operating System Report [1][2][3][4]
ORG* commands - see under second part of name
ORGANISATION [1]
Organisations, definition [1]
Organisation Report [1][2][3][4]
OS Report [1][2][3][4]
OS* commands - see under second part of name
OSREP [1]
OUTFILE [1]
OUTPUT [1]
Output aliases [1]
OUTPUT COMPUTER [1][2]
Output, configuring [1]
Output style, computer readable [1]
Output styles [1]
*OUTPUTALIAS [1]
Page, definition [1]
PAGEEXCLUDE [1]
PAGEINCLUDE [1]
Pages, defining [1]
*PAGEWIDTH [1]
Path through site [1]
Processing Time Report [1][2][3]
PROCTIME [1]
PROCTIME* commands - see under second part of name
PROGRESSFREQ [1]
QUARTER [1]
QUARTER* commands - see under second part of name
Quarter-Hour Report [1][2][3]
Quick reference [1]
RAWBYTES [1]
REDIR [1]
REDIR* commands - see under second part of name
Redirected Referrer Report [1][2][3][4]
Redirected requests, definition [1]
Redirection Report [1][2][3][4]
REDIRREF [1]
REDIRREF* commands - see under second part of name
REF* commands - see under second part of name
REFARGSEXCLUDE [1]
REFARGSINCLUDE [1]
REFDIR [1]
Reference, quick [1]
REFERRER [1]
Referrer, definition [1]
Referrer Report [1][2][3][4]
Referring Site Report [1][2][3][4]
REFLINKEXCLUDE [1]
REFLINKINCLUDE [1]
REFREP* commands - see under second part of name
REFSITE [1]
REFSITE* commands - see under second part of name
Regular expressions [1][2]
Report.html [1][2][3]
Reporting bugs [1]
REPORTORDER [1]
Reports, list of [1][2]
REPSEPCHAR [1]
REQ* commands - see under second part of name
REQUEST [1]
Request Report [1][2][3][4]
Requests, definition [1]
Requests for pages, defining [1]
Requests for pages, definition [1]
Requests, types of [1]
Robots, discouraging [1]
*ROWS [1]
Sample reports [1]
Search arguments [1][2] -- see also Search Query Report and Search Word Report below
Search Query Report [1][2][3][4]
Search Word Report [1][2][3][4]
SEARCHQUERY [1]
SEARCHQUERY* commands - see under second part of name
SEARCHWORD [1]
SEARCHWORD* commands - see under second part of name
Search engines, discouraging [1]
SEPCHAR [1]
SETTINGS [1][2]
SIZE [1]
SIZE* commands - see under second part of name
*SORTBY [1][2][3]
Source code [1]
Spiders, discouraging [1]
Starting to use analog [1]
Starting to use analog on a Mac [1]
Starting to use analog on OS/2 [1]
Starting to use analog on Windows [1]
Starting to use analog on other platforms [1]
STATUS [1]
Status Code Report [1][2][3]
STATUS* commands - see under second part of name
STYLESHEET [1]
SUBBROW [1]
SUBDIR [1]
Subdirectories [1]
SUBDOMAIN [1]
Subdomains [1]
SUB*FLOOR [1]
SUBORG [1]
SUB*SORTBY [1]
SUBTYPE [1]
Successful requests, definition [1]
Syntax [1][2]
Time reports [1][2]
TIMECOLS [1]
TIMEOFFSET [1]
Times, restricting [1]
Title line [1][2]
TO [1]
Total requests, definition [1]
Translators [1]
Tree reports [1]
TYPE* commands - see under second part of name
UNCOMPRESS [1]
Unresolved numerical addresses [1]
Unwanted logfile entries, definition [1]
Upgrading from earlier versions [1]
USER [1]
USER* commands - see under second part of name
User Report [1][2][3]
USERREP* commands - see under second part of name
VHOST [1]
VHOST* commands - see under second part of name
VHOSTREP* commands - see under second part of name
Virtual domains/virtual hosts [1][2]
Virtual Host Report [1][2][3]
Visitors [1]
Visits [1]
WARNINGS [1]
Warnings [1][2]
WEEK* commands - see under second part of name
WEEKBEGINSON [1]
WEEKLY [1]
Weekly Report [1][2][3]
What was new? [1][2]
What's new? [1][2]
Year 2000 compatibility [1]
日本語索引
IP アドレス [1]
アスキー出力 [1]
圧縮されたログファイル [1]
(数値の)アドレス [1]
analog のカスタマイズ [1]
analog を使うにあたって [1]
analog を使うにあたって (Mac) [1]
analog を使うにあたって (OS/2) [1]
analog を使うにあたって (Windows) [1]
analog を使うにあたって (他のプラットフォーム) [1]
新しい特徴 [1][2]
以前の特徴 [1][2]
色 [1]
HTML 出力 [1]
エイリアス [1]
エラー [1]
エラーレポート [1]
OS レポート [1][2][3][4]
階層的レポート [1]
簡易参考マニュアル [1]
環境設定ファイル [1][2][3][4][5]
(初期)環境設定ファイル [1]
(必須)環境設定ファイル [1]
基本コマンド [1]
キャッシュファイル [1]
クッキー [1]
国 [1]
クラッシュ [1]
言語 [1][2]
(拒否する)検索エンジン [1]
検索結果レポート [1][2][3][4]
検索語レポート [1][2][3][4]
検索引数 [1][2] -- 検索結果レポートと検索語レポートも見よ。
貢献者 [1]
告知 [1]
(各)コマンドの例 [1]
5分間隔レポート [1][2][3]
コマンドラインの引数 [1][2][3][4]
- ログファイル名 (LOGFILE) [1]
- - (LOGFILE stdin) [1]
- 4 (15分間隔レポート) [1]
- 5 (5分間隔レポート) [1]
- A (全てのレポート) [1]
- a (HTML/ASCII 出力) [1]
- B (ブラウザーレポート) [1][2]
- b (ブラウザーの概要) [1][2]
- c (ステータスコードレポート) [1][2]
- C (任意の環境設定コマンド) [1]
- D (日別レポート) [1]
- d (曜日別レポート) [1]
- E (リダイレクション) [1][2]
- F (FROM date) [1]
- f (レファラーレポート) [1][2]
- G (初期設定環境設定ファイル) [1]
- g (他の環境設定ファイル) [1]
- H (時間別レポート) [1]
- h (時間別概要) [1]
- I (不成功レポート) [1][2]
- i (ディレクトリレポート) [1][2]
- J (不成功ユーザレポート) [1][2]
- K (不成功レファラーレポート) [1][2]
- k (リダイレクションされたレファラーレポート) [1][2]
- m (月別レポート) [1]
- N (検索結果レポート) [1][2]
- n (検索語レポート) [1][2]
- O (出力ファイル) [1]
- o (ドメインレポート) [1][2]
- P (処理時間レポート) [1]
- p (OS レポート) [1][2]
- q (注意) [1]
- r (リクエストレポート) [1][2]
- S (ホストレポート) [1][2]
- s (参照サイトレポート) [1][2]
- settings (全ての変数の設定) [1][2]
- T (TO date) [1]
- t (ファイル種類別レポート) [1][2]
- U (キャッシュファイル) [1]
- u (ユーザレポート) [1][2]
- V (デバッグ) [1]
- v (バーチャルホストレポート) [1][2]
- W (週別レポート) [1]
- X (Goto) [1]
- x (全体の概要) [1]
- Z (組織別レポート) [1][2]
- z (ファイルサイズレポート) [1]
壊れたパイプ [1][2]
(定義)壊れたログファイル行 [1]
コンパイル時の問題 [1]
コンパイル [1]
コンピュータが読める出力スタイル [1]
サイト通過のパス [1]
サブディレクトリ [1]
サブドメイン [1]
時間別概要 [1][2][3]
時刻レポート [1][2]
(限定した)時刻 [1]
時刻に依存しないレポート [1][2]
CGI プログラム [1]
謝辞 [1]
15分間隔レポート [1][2][3]
週の最初の日 [1]
週別レポート [1][2][3]
(環境設定)出力 [1]
出力スタイル [1]
(コンピュータの読める)出力スタイル [1]
出力の別名 [1]
小メモリ [1]
除外 [1]
初期設定環境設定ファイル [1]
初期設定ログファイル書式 [1]
処理時間レポート [1][2][3]
数値のアドレス [1]
数値のホスト名 [1]
ステータスコードレポート [1][2][3]
(拒否する)スパイダー [1]
正規表現 [1][2]
(定義)成功したリクエスト [1]
全体の概要 [1][2]
(定義)全リクエスト [1]
前バージョンからのアップグレード [1]
(定義)組織 [1]
ソースコード [1]
組織別レポート [1][2][3][4]
題名行 [1][2]
致命的エラー [1]
注意 [1][2]
月別レポート [1][2][3]
ツリーレポート [1]
定義 [1]
ディレクトリレポート [1][2][3][4]
DNS 参照 [1]
デバッグ [1]
ドメインレポート [1][2][3][4][5]
ドメインファイル [1]
内容 [1]
2000年対応 [1]
バーチャート [1]
バーチャルドメイン・ホスト [1][2]
バーチャルホストレポート [1][2][3]
バイト (Bytes) の表示法 [1]
(報告された)バグ [1]
バグの報告 [1]
始めに [1]
(URL 中の)引数 [1][2]
(制限された)日付 [1]
日付レポート [1][2]
必須の環境設定ファイル [1]
ヒット [1]
(定義)ファイル [1]
ファイルサイズレポート [1][2][3]
ファイル種類別レポート [1][2][3][4]
フィルター [1]
フォームインタフェース [1]
不成功ユーザレポート [1][2][3]
(定義)不成功リクエスト [1]
不成功レファラーレポート [1][2][3][4]
(定義)不必要なログファイル項目 [1]
ブラウザーの概要 [1][2][3]
ブラウザーレポート [1][2][3][4]
文法 [1][2]
(定義)ページ [1]
(定義)ページのリクエスト [1]
ページを定義する [1]
(定義)ページのリクエスト [1]
包含と除外 [1]
(定義)ホスト [1]
ホストレポート [1][2][3]
ホームページ [1]
訪問者 [1]
訪問 [1]
翻訳者 [1]
未解決数値アドレス [1]
メーリングリスト [1]
(少なく使う)メモリ [1]
目次 [1]
役立つソフト [1]
ユーザレポート [1][2][3]
曜日別レポート [1][2][3]
曜日別概要 [1][2][3]
よく聞かれる質問 (FAQ) [1]
ライセンス [1][2]
リクエストレポート [1][2][3][4]
(定義)リクエスト [1]
リクエストの種類 [1]
リダイレクトされたレファラーレポート [1][2][3][4]
(定義)リダイレクトされたリクエスト [1]
リダイレクションレポート [1][2][3][4]
レファラーレポート [1][2][3][4]
リファーリングサイトレポート [1][2][3][4]
レポートの意味 [1]
レポートの例 [1]
ログファイル [1]
ログファイルの圧縮 [1]
ログファイルの書式 [1][2]
ログファイルの選択 [1]
ログファイルの場所 [1]
ログファイルの接頭辞 [1]
(拒否する)ロボット [1]
[ あ | か | さ |
た | な | は |
ま | や | ら |
わ ]
[ A | B | C |
D | E | F |
G | H | I | J | K |
L | M | N |
O | P | Q |
R | S | T |
U | V | W | X |
Y | Z ]
Stephen Turner
analog についての質問は analog-help の
メーリングリスト を読んでください。