[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]

Analog 5.01: 他のレポート


この章では、時間に関連しないレポートについて述べます。既にいくつかのコマンドを見てきたのですが、これらのレポートを制御するコマンドはまだ沢山あります。

初めに、これらのレポートは、まさに時間に関連したレポートで使用した COLS コマンドを持っています。(これらのコマンドの使いかたは 時間レポート の章をみてください。) しかし時間に関連しないレポートでは、幾つかの追加項目があります。以下に時間に関係しないレポートで使用される全部の項目の一覧を与えます。

R
リクエスト数
r
リクエストの割合
S
最近7日間のリクエスト数
s
最近7日間のリクエストの割合
P
ページリクエスト数
p
ページリクエストの割合
Q
最近7日間のページリクエスト数
q
最近7日間のページリクエストの割合
B
転送バイト数
b
バイト数の割合
C
最近7日間の転送バイト数
c
最近7日間のバイト数の割合
d
最後のアクセス日
D
最後のアクセス日時
e
最初のアクセス日
E
最初のアクセス日時
N
一覧内の項目数
例えば、
REQCOLS NRSD
はリクエストレポートの中のファイルを勘定し、それぞれのリクエスト数と、最近7日間のリクエスト数、それにそれぞれが最後にリクエストされた時の時間を記述します。時間に関連しないレポートにおける全ての COLS コマンドの一覧は、HOSTCOLS, REDIRHOSTCOLS, FAILHOSTCOLS, ORGCOLS, DOMCOLS, REQCOLS, DIRCOLS, TYPECOLS, SIZECOLS, PROCTIMECOLS, REDIRCOLS, FAILCOLS, REFCOLS, REFSITECOLS, SEARCHQUERYCOLS, SEARCHWORDCOLS, INTSEARCHQUERYCOLS, INTSEARCHWORDCOLS, REDIRREFCOLS, FAILREFCOLS, BROWREPCOLS, BROWSUMCOLS, OSCOLS, VHOSTCOLS, REDIRVHOSTCOLS, FAILVHOSTCOLS, USERCOLS, REDIRUSERCOLS, FAILUSERCOLS and STATUSCOLS です。 全てのレポートの中で、これら全ての列が認められるわけではないのですが、間違った使い方をすれば、analog は警告を発するでしょう。
次に、どのようにしてレポート結果を並べるかを指定するために、 SORTBY コマンドの使い方を知ることが必要です。 レポートの並べ方に10個の方法があります。
REQUESTS
リクエスト総数
REQUESTS7
最近7日間のリクエスト数
PAGES
ページリクエスト総数
PAGES7
最近7日間のページリクエスト数
BYTES
転送バイト総数
BYTES7
最近7日間の転送バイト数
FIRSTDATE
最初のリクエスト日時
DATE
直近のリクエスト日時
ALPHABETICAL
アルファベット順
RANDOM
非常に長いレポートの場合には、速さを重視すると 並べ替えをしないのはしばしば役に立つ
例えば、
HOSTSORTBY ALPHABETICAL
というコマンドはホストレポートをアルファベット順に並べます。そのほかの SORTBY コマンドには、 HOSTSORTBY, REDIRHOSTSORTBY, FAILHOSTSORTBY, ORGSORTBY, DOMSORTBY, REQSORTBY, DIRSORTBY, TYPESORTBY, REDIRSORTBY, FAILSORTBY, REFSORTBY, REFSITESORTBY, SEARCHQUERYSORTBY, SEARCHWORDSORTBY, INTSEARCHQUERYSORTBY, INTSEARCHWORDSORTBY, REDIRREFSORTBY, FAILREFSORTBY, BROWREPSORTBY, BROWSUMSORTBY, OSSORTBY, VHOSTSORTBY, REDIRVHOSTSORTBY, FAILVHOSTSORTBY, USERSORTBY, REDIRUSERSORTBY, FAILUSERSORTBYSTATUSSORTBY があります。再度注意しますが、全てのレポートの中で全てのソートの仕方が可能というわけではないのですが、違法な使い方をしたら、analog に警告されるでしょう。

SORTBY ALPHABETICAL に関係のある有名なバクがあります。レポートは、出力のエイリアス が適用される前に、ソートされてしまいます。これは、もし出力のエイリアスがそのレポート中で指定されているなら、レポートは正しくはソートされない、ということを意味します。


たいていのレポートで FLOOR を指定することもできます。このコマンドは、レポートに記入される前に、その項目がどれくらい大きさを持っているかということを指定します。層(フロア)を指定する方法は数多くあり、ここでは DOMFLOOR (ドメインレポート FLOOR )コマンドを使用して、箇条書きにしてみます。本来これらは、層のレベルを示す数値と層の意味を表す1文字が後に続きます。
DOMFLOOR 1000r       # 少なくとも1,000件のリクエストがあった全てのドメイン
DOMFLOOR 100s        # 最近7日間で少なくとも100件のリクエスト
DOMFLOOR 1000p       # 少なくとも1,000件のページリクエスト
DOMFLOOR 100q        # 最近7日間で少なくとも100件のページリクエスト
DOMFLOOR 1000000b    # 少なくとも1,000,000バイトのデータ転送量
DOMFLOOR 1Mb         # 少なくとも1メガバイト
DOMFLOOR 10.5kc      # 最近7日間以内の少なくとも 10.5kb
DOMFLOOR 0.5%r       # ドメインレポート中の 0.5% の総リクエスト
                     # ( %s, %p 等に対しても同様 )
DOMFLOOR 0.5:r       # どのドメインに対しても 0.5% の最大リクエスト数
                     # ( :s, :p 等に対しても同様 )
DOMFLOOR 970701d     # 1997年7月1日 から現在までのアクセス
DOMFLOOR 970701e     # 1997年7月1日以来初めてのアクセス
DOMFLOOR -00-01-00d  # 最近の月からの最終アクセス日
                     # ( FROM と TO
                     # コマンドのマニュアルを見よ )
DOMFLOOR -100r       # 最上位100位以内のリクエスト数のあったドメイン
                     # ( -100s, p, q, b, c, d, 又は e に対しても同様 )
FLOOR コマンドの全ての一覧は以下で与えられる。HOSTFLOOR, REDIRHOSTFLOOR, FAILHOSTFLOOR, DOMFLOOR, ORGFLOOR, REQFLOOR, DIRFLOOR, TYPEFLOOR, REDIRFLOOR, FAILFLOOR, REFFLOOR, REFSITEFLOOR, SEARCHQUERYFLOOR, SEARCHWORDFLOOR, INTSEARCHQUERYFLOOR, INTSEARCHWORDFLOOR, REDIRREFFLOOR, FAILREFFLOOR, BROWREPFLOOR, BROWSUMFLOOR, OSFLOOR, VHOSTFLOOR, REDIRVHOSTFLOOR, FAILVHOSTFLOOR, USERFLOOR, REDIRUSERFLOOR, FAILUSERFLOOR それに STATUSFLOOR があります。 すべての FLOOR が全てのレポートで認められるわけではないのですが、間違った使い方をすれば、analog は警告するでしょう。
コマンドラインから各レポートのオン・オフする方法については、コード文字 を使うやり方を述べました。実際、同じコマンド中で SORTBYFLOOR を指定することができます。リンク元サイトレポートの例を見てみましょう。もし(レポートを取るために) +f に一文字を付けて使うなら、以下のコードに従って並べ方が表されます。
r
REQUESTS
s
REQUESTS7
p
PAGES
q
PAGES7
b
BYTES
c
BYTES7
d
DATE
e
FIRSTDATE
a
ALPHABETICAL
x
RANDOM
次にあるいは別の方法として、層を指定するために、上記の FLOOR 書式の一つを使うことができます。もし SORTBY を指定するなら、層の指定の最後の一文字を省くこともでき、analog はデータの並べ方によってそれを推測します。もしソートが ALPHABETICAL または RANDOM であるなら、層はソートと同じ分類であるし、そうでなければリクエスト数による分類でしょう。以下に4つの例があります。
+fp
は参照元サイトレポートを出したり、ページリクエストによってそのデータを並べ替えることを意味しますが、その層については何も指定しません。
+f100s
は、最近7日間の少なくとも100のリクエストを持つ全ての参照元URLを一覧にすることを意味しますが、データを並べる方法については何も述べません。
+fb10000
は少なくとも10,000バイトを持つ全ての参照元サイトを示すことを意味し、バイトによってデータを並べます。
+fa-000101d
は今年アクセスした全ての参照元サイトを示すことを意味し、アルファベット順にデータを並べます。

これらのレポートは、各レポートの最初にパイチャートを表示することができます。チャートは、CHART コマンドを使えば、表示したり、しなかったり、又は異なる基準で描くことができます。例えば、以下のコマンド
REQCHART OFF
は、リクエストレポート中でパイチャートの表示を止めますが、
REQCHART ON
は、チャートの表示をし、かつ REQSORTBY の環境変数(または、もし REQSORTBYFIRSTDATE, DATE, ALPHABETICAL 又は RANDOM の場合には、 REQUESTS )により図示される。また以下の引数を使用して異なるパイチャートを描くことができる。
REQUESTS
リクエスト総数
REQUESTS7
最近7日間のリクエスト数
PAGES
ページリクエスト総数
PAGES7
最近7日間のページリクエスト数
BYTES
転送バイト総数
BYTES7
最近7日間の転送バイト数
しかしもしできるなら、SORTBY だけを使いたいであろう。そのために、もし SORTBY がこれらのオプションと異なるものであったときには、analog は警告を発するであろう。

CHART コマンドのそう一覧は以下で与えられる。 HOSTCHART, REDIRHOSTCHART, FAILHOSTCHART, ORGCHART, DOMCHART, REQCHART, DIRCHART, TYPECHART, REDIRCHART, FAILCHART, REFCHART, REFSITECHART, SEARCHQUERYCHART, SEARCHWORDCHART, INTSEARCHQUERYCHART, INTSEARCHWORDCHART, REDIRREFCHART, FAILREFCHART, BROWREPCHART, BROWSUMCHART, OSCHART, VHOSTCHART, REDIRVHOSTCHART, FAILVHOSTCHART, USERCHART, REDIRUSERCHART, FAILUSERCHART, STATUSCHART, SIZECHART それに PROCTIMECHART である。再度注意するが、全てのレポートに対してパイチャートによる表示があるわけではない。以下のコマンド

ALLCHART ON
ALLCHART OFF
は、全てのパイチャートを同時にオンあるいはオフにする。

パイチャートは、通常 OUTFILE と同じディレクトリに書き込まれる。しかし、CHARTDIRLOCALCHARTDIR コマンドを使えば、異なるディレクトリを指定することができる。もし、OUTFILE が標準出力ならば、これらのコマンドを使用しなければならない。さもなければ、はどのパイチャートも得られないであろう。更に、もし2個の出力ファイルを同じディレクトリに出力しているなら、これらのコマンドを使用しなければならない。さもなければ、一方の画像ファイルが他方の画像ファイルを上書きしてしまうであろう。また、もしフォームインタフェースを使用しているなら、これらのコマンドを使用する必要がある。しかしその場合には、他の問題 が発生する。

効果を見るためには、これら両方のコマンドを使わなければならない。CHARTDIR は、ウェブサーバ上のパイチャートのディレクトリの位置である。これは、IMAGEDIR と似ており、この場合、画像ファイルを <img> タグ中に挿入するために用いられている。LOCALCHARTDIR は、ローカルなハードディスク上の位置を表している。そこが、画像の書きこまれるディレクトリである。例えば、以下のように

CHARTDIR /images/
LOCALCHARTDIR /usr/local/apache/htdocs/images/
書くと、パイチャートは /usr/local/apache/htdocs/images/dom.png のように当該ディレクトリに格納され、<img src="/images/dom.png"> のようにリンクを張る。Windows OS では、LOCALCHARTDIR を2重引用符で括る必要がある。こうすると、行末のバックスラッシュ(\)が、次行にコマンドが続くと解釈されるのを避けることができる。例えば、以下のように書く。
LOCALCHARTDIR "\webimages\analog\"
実際には、CHARTDIRLOCALCHARTDIR は、ファイル名の前につく名称なので、以下のような指定も可能である。
CHARTDIR rep1
LOCALCHARTDIR /usr/local/htdocs/stats/rep1
こうすると、パイチャートは、場所 /usr/local/htdocs/stats/rep1dom.png に格納され、<img src="/images/rep1dom.png"> のようにリンクを張る。また名称は、OUTFILE の時のように、日付コード を含めることができる。

もしあなたが自分自身で、私が提供した libgd の代わりに自分自身のバージョンを使用(どうやるかは Makefile を参照のこと)して、analogをコンパイルしたなら、あなたは以下のコマンドを使うことができる。

JPEGCHARTS ON
これは、PNG の代わりに JPEG 形式のチャートを作成する。

以下にパイチャート中の扇型を描画する規則をあげる。10個の扇型と "その他" が描かれるが、十分に大きければ、扇型は描かれる。また、もしレポートの表に該当の項目があれば、扇型は描かれる。もし1つの扇型しかないときには、パイチャートは描かれない。


各レポートがカバーしている期間/時間を表示することもできる。 初期設定ではこれはオフにしてある。なぜなら、計算するのにメモリを多く使用するからである。しかし、もし異なるレポートは異なる期間でカバーされているなら(これは、もしログの書式がある時期に変更されたときに起こりうる)、以下のコマンドでオンにすることは有用である。
REPORTSPAN ON
REPORTSPANTHRESHOLD (これは、RSTHRESH と省略できる)と呼ばれるコマンドもある。これは、各レポートの報告期間が全体のレポートの報告期間(ページの先頭に表示されている)と異なるときに、(少なくとも指定された時間よりも、初めか終わりが少ないときに)表示されるようにするものである。例えば、
REPORTSPANTHRESHOLD 60
は、もし該当のレポートがログファイルの初めから少なくとも1時間後に始まったか、あるいはログファイルの終わりの少なくとも1時間前に終了してしまった場合に、レポートの報告期間を表示する。 以下のように設定すると、
REPORTSPANTHRESHOLD 0
全てのレポートに「レポート報告期間」が表示される。
私達は既に、時間に関連しないレポートに記載されてい項目に影響を与えるコマンドを見てきました。出力用の INCLUDEEXCLUDE コマンドは、それぞれのレポートから省略される行を指定しており、出力用エイリアス コマンドは、名称が一覧に出る前にそれらに別名をつけて、出力用に使われる。 またレポート中で、リンク先を制御するコマンドに LINKINCLUDELINKEXCLUDE もあります。これらについての説明も見ておく必要があるかもしれません。

リクエストレポート、リダイレクションレポートそれに不成功レポート中のリンクに影響を与える、もう1つのコマンドがあります。 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引数を利用すればできます。

次の章では、この章のコマンドに密接に関係した 階層構造をもったレポート を生成するコマンドについて説明します。


analog のホームページ

Stephen Turner
2001年5月19日

analog についての質問は analog-help メーリングリスト をお使いください。

[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]