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

Analog 5.91beta1: その他のレポート


この章では時間レポート以外のレポートについて説明します。幾つかのコマンドについてはすでに説明していますが、これらのレポートを制御するために非常に多くのコマンドが用意されています。

まず、時間レポートと同様に、これらのレポートにも 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 系コマンドの一覧を以下に示します: HOSTCOLSREDIRHOSTCOLSFAILHOSTCOLSORGCOLSDOMCOLSREQCOLSDIRCOLSTYPECOLSSIZECOLSPROCTIMECOLSREDIRCOLSFAILCOLSREFCOLSREFSITECOLSSEARCHQUERYCOLSSEARCHWORDCOLSINTSEARCHQUERYCOLSINTSEARCHWORDCOLSREDIRREFCOLSFAILREFCOLSBROWREPCOLSBROWSUMCOLSOSCOLSVHOSTCOLSREDIRVHOSTCOLSFAILVHOSTCOLSUSERCOLSREDIRUSERCOLSFAILUSERCOLSSTATUSCOLS すべてのカラムがすべてのレポートで使用できるわけではありません。あるレポートで使用できないカラムを設定すると、Analog は警告を出力します。
次に、 レポート内でのソート順を設定する SORTBY 系コマンドの使い方について説明します。 レポートのソートには、以下の10種類の方法があります:
REQUESTS
リクエスト総数
REQUESTS7
最近7日間のリクエスト数
PAGES
ページリクエスト総数
PAGES7
最近7日間のページリクエスト数
BYTES
転送バイト総数
BYTES7
最近7日間の転送バイト数
FIRSTDATE
最初のリクエスト日時
DATE
直近のリクエスト日時
ALPHABETICAL
アルファベット順
RANDOM
ソートを行なわない: 非常に長大なレポートについて、解析速度を優先する際に役立ちます。
例えば、
HOSTSORTBY ALPHABETICAL
というコマンドにより、「ホストレポート」がアルファベット順にソートされます。SORTBY 系コマンドの一覧を以下に示します: HOSTSORTBYREDIRHOSTSORTBYFAILHOSTSORTBYORGSORTBYDOMSORTBYREQSORTBYDIRSORTBYTYPESORTBYREDIRSORTBYFAILSORTBYREFSORTBYREFSITESORTBYSEARCHQUERYSORTBYSEARCHWORDSORTBYINTSEARCHQUERYSORTBYINTSEARCHWORDSORTBYREDIRREFSORTBYFAILREFSORTBYBROWREPSORTBYBROWSUMSORTBYOSSORTBYVHOSTSORTBYREDIRVHOSTSORTBYFAILVHOSTSORTBYUSERSORTBYREDIRUSERSORTBYFAILUSERSORTBYSTATUSSORTBY もう一度書きますが、すべてのカラムがすべてのレポートで使用できるわけではありません。あるレポートで使用できないカラムを設定すると、警告が出力されます。

なおSORTBY ALPHABETICALに関しては、既知のバグが1つあり、レポートは 出力エイリアス が適用される前にソートされてしまいます。 このため、出力エイリアスがレポートに適用されていると、そのレポートは正しくソートされません。


多くのレポートでは FLOOR 系コマンドを指定することもできます。このコマンドは、レポート中にある項目を表示させるかどうかの閾値を意味します。(表示されなかった項目は、合算されて「not listed」としてレポートの最後に表示されます。) 閾値を指定する方法としては、以下に DOMFLOOR (ドメインレポート FLOOR) コマンドを例にとって示したような様々なものがあります。基本的に、各コマンドには、閾値を示す数値とその単位を示す文字が引数として続きます。
DOMFLOOR 1000r       # 少なくとも1,000件のリクエストがあった全てのドメイン
DOMFLOOR 100s        # 最近7日間で少なくとも100件のリクエスト
DOMFLOOR 1000p       # 少なくとも1,000件のページリクエスト
DOMFLOOR 100q        # 最近7日間で少なくとも100件のページリクエスト
DOMFLOOR 1000000b    # 少なくとも1,000,000バイトのデータ転送量
DOMFLOOR 1kb         # 少なくとも1キロバイト(1,024バイト)
DOMFLOOR 10.5kc      # 最近7日間で少なくとも 10.5Mb
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 系コマンドの一覧を以下に示します: HOSTFLOORREDIRHOSTFLOORFAILHOSTFLOORDOMFLOORORGFLOORREQFLOORDIRFLOORTYPEFLOORREDIRFLOORFAILFLOORREFFLOORREFSITEFLOORSEARCHQUERYFLOORSEARCHWORDFLOORINTSEARCHQUERYFLOORINTSEARCHWORDFLOORREDIRREFFLOORFAILREFFLOORBROWREPFLOORBROWSUMFLOOROSFLOORVHOSTFLOORREDIRVHOSTFLOORFAILVHOSTFLOORUSERFLOORREDIRUSERFLOORFAILUSERFLOORSTATUSFLOOR 繰返しになりますが、すべての閾値がすべてのレポートで有効ではありません。あるレポートで使用できない閾値を設定すると、警告が出力されます。
コード文字を使ってコマンドラインからレポートを表示を制御する方法については、すでに説明しましたが、SORTBYFLOOR についても、同じコマンドライン引数内で指定を行なうことが可能です。以下 Referrer レポートを例にとって説明します。+f(レポートを表示させる) に続いてコード文字を記述することで、以下のようなソート順を指定することができます:
r
REQUESTS
s
REQUESTS7
p
PAGES
q
PAGES7
b
BYTES
c
BYTES7
d
DATE
e
FIRSTDATE
a
ALPHABETICAL
x
RANDOM
また閾値の指定を行なうために、前述した FLOOR コマンドの書式を記述することも可能です。SORTBY 系コマンドを指定した場合、閾値の単位を示す最後のコード文字を省略することができます。この時、Analog は省略されたコード文字をソート方法から推測して、閾値の単位をソート方法と同じにするか、ソート方法が ALPHABETICALRANDOM の場合は、リクエスト単位だとみなします。以下に例を4つ示します:
+fp
は参照元サイトレポートを表示させたうえで、ページリクエスト数によってソートを行なうように指定していますが、閾値については何も指定していません。
+f100s
は最近7日間で少なくとも100以上のリクエストのある参照元URLをすべて表示させるように指定していますが、データを並べる方法については何も指定していません。
+fb10000
は少なくとも10,000バイト以上の参照元URLをすべて表示させ、それらをバイト量でソートするように指定しています。
+fa-000101d
は今年アクセスのあった参照元URLをすべて表示させ、それらをアルファベット順にソートするように指定しています。

これらのレポートについては、各レポートの先頭に円グラフを表示させることもできます。CHART コマンドにより、円グラフの表示を制御したり、様々な基準でグラフを表示させることができます。例えば、
REQCHART OFF
は、リクエストレポートでの円グラフの表示を抑止しますが、
REQCHART ON
は、表示を行なわせます。以下の引数を指定することで、様々な円グラフを表示させることもできます。
REQUESTS
トータルのリクエスト数
REQUESTS7
最近7日間のリクエスト数
PAGES
トータルのページリクエスト数
PAGES7
最近7日間のページリクエスト数
BYTES
トータルの転送バイト数
BYTES7
最近7日間の転送バイト数
デフォルトでは、 By default, the chart will be plotted by the SORTBY if that's one of the above six variables, or else by the FLOOR if that's one of the six, or failing both of those by REQUESTS. 通常はデフォルトのままにしておけばよいでしょう。SORTBYFLOOR を記述した際に、それと矛盾するようなリクエストを行なうと、Analog は警告を出力します。

CHART 系コマンドの一覧を以下に示します: HOSTCHARTREDIRHOSTCHARTFAILHOSTCHARTORGCHARTDOMCHARTREQCHARTDIRCHARTTYPECHARTREDIRCHARTFAILCHARTREFCHARTREFSITECHARTSEARCHQUERYCHARTSEARCHWORDCHARTINTSEARCHQUERYCHARTINTSEARCHWORDCHARTREDIRREFCHARTFAILREFCHARTBROWREPCHARTBROWSUMCHARTOSCHARTVHOSTCHARTREDIRVHOSTCHARTFAILVHOSTCHARTUSERCHARTREDIRUSERCHARTFAILUSERCHARTSTATUSCHARTSIZECHARTPROCTIMECHART 再度繰返しますが、すべてのグラフの方式がすべてのレポートで有効ではありません。あるレポートで使用できない閾値を設定すると、警告が出力されます。また、以下のコマンド

ALLCHART ON
ALLCHART OFF
により、一括して同じ設定を行なうことも可能です。

円グラフは、通常 OUTFILE と同じディレクトリに書き出されますが、CHARTDIR および LOCALCHARTDIR コマンドにより、別の場所を指定することもできるようになっています。OUTFILE が標準出力の場合は、このコマンドで場所を指定しない限り、円グラフはどこにも書き出されません。 また、複数の出力ファイルを同じディレクトリに書き出すようにしている場合も、このコマンドで場所を指定しない限り、すでに存在する画像ファイルが別の出力の画像ファイルによって上書きされてしまいます。フォームインタフェースを使っている場合も、このコマンドで場所を指定することが必要ですが、それ以外にも気をつける点があります。 case.

このコマンドは、設定ファイル内で、コマンドの記述が参照されるより前に記述する必要があります。 CHARTDIR は円グラフが置かれるサーバ上の URL になります。IMAGEDIR コマンドの場合と同様に、これはグラフの画像イメージに対応づけられる「img」タグに反映されます。 LOCALCHARTDIR は、画像ファイルの書き込み先となるサーバのファイルシステム上での場所を指定します。例えば、以下の設定により

CHARTDIR /images/
LOCALCHARTDIR /usr/local/apache/htdocs/images/
円グラフは /usr/local/apache/htdocs/images/dom.png といった場所に書き込まれ、<img src="/images/dom.png">のような形で参照されます。Windows の場合、「\」記号を行末に記述した際に、継続行を示すものとして解釈されるのを避けるために、LOCALCHARTDIR の引数を括弧で囲む必要があります。以下に例を示します。
LOCALCHARTDIR "\webimages\analog\"
実際には CHARTDIRLOCALCHARTDIR はファイル名の先頭に付加される文字列に過ぎないので、以下のような記述を行なうことで、
CHARTDIR /stats/rep1
LOCALCHARTDIR /usr/local/htdocs/stats/rep1
円グラフを /usr/local/htdocs/stats/rep1dom.png のような場所に書き込ませ、そのリンクを <img src="/stats/rep1dom.png"> のように行なわせることも可能です。 LOGFILEOUTFILE と同様に、上記文字列には、日付を含めることも可能です。

Analog のコンパイルを自分で行ない、その際に Analog が提供する libgd の代わりに、外部の libgd を指定した場合(これを行なう方法については、Makefile を参照のこと)、以下のコマンド

JPEGCHARTS ON
を使うことで、グラフの画像を PNG フォーマットではなく JPEG フォーマットで出力することが可能になります (PNGIMAGES コマンドにより、時間レポートの棒グラフを PNG から GIF フォーマットにすることも可能です)。

以下、円グラフの中に各要素をどのように表示するかについて説明します。最大10個の要素と「その他」が表示されます。一定以上の割合に達しない要素は表示されません。また、表示される要素は、レポートのメインの項目に限られます。なお、要素が1つしかない場合、円グラフ自体が表示されません。

より詳細な円グラフを表示したい場合、例えばOSレポートにおいて「Windows」ではなく、Windows 98とWindows NTを個別に表示したい場合などは、次の章を参照してください。


各レポートについて、 対象となっている期間を表示させることもできます。計算に多くのメモリを必要とするため、この機能はデフォルトでは無効になっていますが、レポートごとに対象となっている期間が異なる場合(ログのフォーマットを途中で変更した場合などに発生します)、以下のコマンドでこの機能を有効にするとよいでしょう。
REPORTSPAN ON
REPORTSPANTHRESHOLD というコマンド (これは RSTHRESH と省略できます)もあります。これは、 This says that each report span should only be listed if it differs from the overall span of the whole report -- listed at the top of the page -- by at least this many minutes at one end. 例えば、
REPORTSPANTHRESHOLD 60
は、レポートの期間が、ログファイルの開始時刻より、1時間以上経ってから始まるもの、もしくはログファイルの終了時刻より、1時間以上前に終了するものについてのみ、「レポート報告期間」を表示します。
REPORTSPANTHRESHOLD 0
と記述することにより、すべてのレポートに「レポート報告期間」が表示されます。
ここまで、時間レポート以外のレポートに影響を与えるコマンドについて説明してきました。出力の INCLUDE および EXCLUDE コマンドは各々のレポートから除外する行を指定し、出力エイリアス コマンドは、表示前に変換する文字列を指定します。LINKINCLUDE および LINKEXCLUDE というコマンドは、レポート中でリンクを作成する対象を制御します。これらの説明についても参照しておいた方が良いかも知れません。

もう一つ、リクエストレポート、リダイレクトレポート、失敗レポート に影響を与えるコマンドがあります。BASEURL コマンドは生成されるリンクの URL に付加する文字列を指定します。例えば、以下のコマンドを記述すると

BASEURL http://www.statslab.cam.ac.uk
/~sret1/http://www.statslab.cam.ac.uk/~sret1/ にリンクされます。/~sret1/ ではありません。 This is very useful if you want to display the statistics on a different server from the server they refer to. http://www.statslab.cam.ac.uk/~sret1/ に対するリンクを作成したいのではなく、ファイル自体を http://www.statslab.cam.ac.uk/~sret1/ のように表示させたい場合は、LOGFILE コマンドの第2引数を使用してください。

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


Analog ホームページ

Stephen Turner
23 August 2003

Analog についての質問はanalog-help メーリングリスト をお使いください。 (訳注: 日本では analog-jp メーリングリスト をご利用ください)

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