[ トップ | | 一つ前 | | マップ | 索引

Analog 5.01: 出力の設定

これまでは、アナログがログファイルを読む時の制御用コマンドについて、主に話してきました。今度は、出力を設定するためのコマンドに移りましょう。
最初に、OUTPUT コマンドを使えば、出力形式を変えられる。HTMLPLAINASCIILATEXCOMPUTER の5つの出力可能な形式がある。HTML は、Web ページを出力し、PLAINは単純なテキストファイルを出力し、ASCIIPLAIN と同じだが、可能な限りアスキー文字のみ(アクセント等を含まない)を用いた出力である(理由は、ある種のアプリケーションはアクセント文字を理解できないからである。例えば、それらの文字は電子メールでは通常表示できない)。 LATEX は、LaTeX コードを出力し、もし LaTeX と dvips がインストールされていれば、美しいポストスクリプト出力も得られる。(しかしコードは、しばしば overfull hboxes という警告を出す。) COMPUTER は、コンピューターで読むのに適切な、特別な書式です(スプレッドシートに読み込むために、また例えば、グラフィックパッケージで後処理を行うのに便利です)。この形式については後に、別な章 で述べます。

以下の

OUTPUT PLAIN
のようなコマンドはもちろん、コマンドラインの引数として +a を付ければ PLAIN 形式を、-a を付ければ HTML 出力形式を選ぶこともできる。もし キャッシュファイル を出力しているなら、OUTPUT NONE で出力を抑えることもできる。
次に、出力の言語を変えることができる。それには2つの方法がある。例えば、以下のコマンド
LANGUAGE FRENCH
はフランス語で出力する。現在使用可能な言語は、 ARMENIAN, BULGARIAN, CATALAN, CZECH, DANISH, DUTCH, ENGLISH, US-ENGLISH, FRENCH, GERMAN, HUNGARIAN, ITALIAN, JAPANESE, KOREAN, LATVIAN, NORWEGIAN (Bokmål), NYNORSK, POLISH, PORTUGUESE, SERBIAN, SLOVENE, SWEDISH, TURKISH それに UKRAINIAN である。

以下の言語は、analog の前のバージョンで使用できたが、バージョン5用には、まだ翻訳されていない。 BOSNIAN, SIMP-CHINESE (GB2312 encoding), TRAD-CHINESE (Big5 encoding), CROATIAN, FINNISH, GREEK, ICELANDIC, LITHUANIAN, BR-PORTUGUESE, ROMANIAN, RUSSIAN, SLOVAK それに SPANISH である。 これらの言語が直に翻訳されることを願うし、翻訳され次第、 analog のホームページ に追加するつもりである。

もう一つの言語を指定する方法は、LANGFILE コマンドを使うことである。これはもしあなたが新しい言語を analog のホームページ からダウンロードしようとしたり、自分で翻訳しようとしたり、いくつかの言葉や熟語、または日付や時間の出力形式を変更しようとするときに便利である。 LANGFILE コマンドは、新しい言語に対してさまざまな言葉や熟語が含まれているファイルがどれであるか示している。例えば、

LANGFILE lang/guarani.lng   # 又は
LANGFILE /usr/etc/httpd/analog/lang/guarani.lng
これらのコマンドは、指定されたファイルから読み込むことを表しています。(もしファイルが analog が動作しているディレクトリかフォルダー内に無いときには、ディレクトリ名も含めなければならないことに注意してください。特に、他の言語と同じファイルにあるとは限りません。)

またいくつかの言語では ドメインファイル が使用できます。これらは通常 LANGUAGE コマンドによって自動的に選ばれます。しかし DOMAINSFILE コマンドを使って、異なるドメインファイルを使うこともできます。 またいくつかの言語では フォームインターフェース または環境設定ファイルの翻訳もあります。

もしあなたが他の言語に翻訳して頂けるなら、わたしは非常に感謝します。しかし、他の誰も同じ言語に翻訳していないことを確かめるために、最初に私に連絡することをお勧めします。言語ディレクトリ中の README.txt と英語の言語ファイルには、新しい言語に翻訳する際の簡単な指示が含まれています。


以下のコマンド、
OUTFILE 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 名がディレクトリを含んでいないときには、出力ファイルは、analog が予期するディレクトリに出力するでしょう。(この場所は、コンパイル時に決められます。)例えば、Windows では、実行ファイル analog がある同じフォルダーになります。

時には、OUTFILE のファイル名に日付を含むことは都合が良いことがある。ファイル名の中に以下のコードを含むことで、これを実現することができます。

%D  日付
%m  月の名称
%M  数値の月
%y  2桁の年
%Y  4桁の年
%H  時
%n  分
%w  曜日
例えば
OUTFILE stats%y%M.html
stats9905.html のようなファイル名を生成します。使用される日付は、TO で使用される日付です。そこで指定されていなければ、プログラムが起動した時刻になります。この名前は英語名になります。
これまでは、アナログがログファイルを読む時の制御用コマンドについて、主に話してきました。今度は、出力を設定するためのコマンドに移りましょう。

もしログファイルが 必要な情報を含んでいるときには、analog が表現できる32の異なるレポートがあります。それぞれのレポートは、以下のような短い名前と、コード文字または数字を持っています。

x  GENERAL         全体の概要
1  YEARLY          年別レポート
Q  QUARTERLY       4半期別レポート
m  MONTHLY         月別レポート
W  WEEKLY          週別レポート
D  DAILYREP        日別レポート
d  DAILYSUM        曜日別集計
H  HOURLYREP       時間別レポート
h  HOURLYSUM       時間別集計
w  WEEKHOUR        曜日別時間集計
4  QUARTERREP      15分間隔レポート
6  QUARTERSUM      15分間隔集計
5  FIVEREP         5分間隔レポート
7  FIVESUM         5分間隔集計
S  HOST            ホストレポート
l  REDIRHOST       ホストリダイレクションレポート
L  FAILHOST        ホスト不成功レポート
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      検索語レポート
Y  INTSEARCHQUERY  内部検索語句レポート
y  INTSEARCHWORD   内部検索単語レポート
k  REDIRREF        リダイレクトされたリンク元URLレポート
K  FAILREF         不成功リンク元レポート
B  FULLBROWSER     ブラウザーレポート
b  BROWSER         ブラウザーの概要
p  OSREP           OSレポート
v  VHOST           仮想ホストレポート
R  REDIRVHOST      仮想ホストリダイレクションレポート
M  FAILVHOST       仮想ホスト不成功レポート
u  USER            ユーザレポート
j  REDIRUSER       ユーザリダイレクションレポート
J  FAILUSER        不成功ユーザレポート
c  STATUS          状態コードレポート
個々のレポートの詳細な意味とそれらを制御するコマンドの概要は、 Analog のレポート を見て下さい。

各レポートの出力を制御するのに

FIVE OFF
REFSITE ON
のような環境設定コマンドや、-5 または +s のようなコマンドラインの引数が使われます。 また「全体の概要」を除くすべてのレポートを ALL ONALL OFF のコマンド、またはコマンドラインの引数である +A-A を用いて出力を制御することができます。
各レポートの説明文をオフにするのに
DESCRIPTIONS OFF
と書けばよい。たとえ、DESCRIPTIONSON であっても、もし analog が言語ディレクトリ中に説明文ファイルを見つけられれば、あるいはもし DESCFILE コマンドを使用してファイルを以下の例のように指定すれば、説明文は現れる。
DESCFILE descriptions.txt
もし説明文ファイルがディレクトリ名を含まないならば、analog が通常言語ファイルがあると予想するディレクトリ内を探すであろう。

レポートの中の "Go To" の行を

GOTOS OFF
コマンドで非表示にすることができ、GOTOS ON で再び表示することができます。また GOTOS FEW で、"Go To" 行を、ページの先頭と最後に置くことができます。コマンドラインの引数としては、GOTOS OFF-X と簡単に書け、GOTOS ON+X と書けます。

先頭の "統計開始日時" の行と、 最後の "解析時間" の行を非表示にするには、以下のコマンド

RUNTIME OFF
を使い、RUNTIME ON とすれば再び表示される。

「全体の概要」中の括弧内の数字は、直近の7日間の値を示しています。即ち、TO 時刻以前の7日間、または TO の時刻が与えられていないときには、プログラムが起動された時刻以前の7日間を表しています。直近の7日間の値は、全てはではないが、幾つかのリクエストがその7日間にあった場合に、通常レポートに表示されます。しかし、次のコマンドによって非表示にすることもできます。

LASTSEVEN OFF
もちろん LASTSEVEN ON でそれらを再び表示することができます。


REPORTORDER コマンドでレポートの順番を変えることができる。全てのレポートの コード文字 を望む順序で並べればよい。アルファベットと数字以外は無視されるので、それらの文字はセパレータとして使うことができる。例えば、以下のようになる。
REPORTORDER x-1QmdDhHw4567W-cPz-ritEIYy-SlLZo-sNnfKk-ujJ-vMR-bBp

「全体の概要」中の各行を独立に GENSUMLINES コマンドで表示/非表示にすることができる。初期設定は、
GENSUMLINES ALL
であり、これは全ての行の表示を意味する。行を非表示にするには、
GENSUMLINES -KL
というコマンドを使えばよい。(KL の行を非表示にする)そして、それらを再度表示するためには
GENSUMLINES +K
といったコマンドを用いればよい。どの行を含めるかは以下のようなコマンドで指定することができる。
GENSUMLINES CDFGHM
後は、どの行がどの文字コードに対応しているかを知れば良いだけである。それらは、以下の表で与えられる。
 
リクエスト成功件数 (常に表示される)
B
リクエスト成功件数の日別平均
C
状態コード不在ログ行数
D
ページリクエスト成功件数
E
ページリクエスト成功件数の日別平均
F
リクエスト不成功件数
G
リダイレクトされたリクエスト件数
H
状態コード付きリクエスト件数
I
異なるリクエストファイル数
J
異なるサービスホスト数
K
異常ログ行数
L
不必要ログ項目数
M
データ転送量
N
データ転送量の日別平均

レポートを生き生きとさせるための種々の画像ファイルの位置を決める、IMAGEDIR というコマンドがある。位置は URL であり、ハードディスク上の実際のディレクトリではなく、最終文字としてスラッシュが必要である。例えば、以下のように与えられる。
IMAGEDIR img/   # 相対URL:出力と同じディレクトリ内にある場合
IMAGEDIR /img/  # Web サーバのルートディレクトリからの位置
IMAGEDIR http://www.myother.server.com/img/  # 他のサーバ上にある場合
ある人々は IMAGEDIR について混乱している。これは単に出力の際、<img> タグ中に置かれるだけである。HTML出力のソースを見ればその効果が理解できるであろう。

gif 画像の代わりに png 画像を使うこともできる。その場合には、以下のように指定する。

PNGIMAGES ON
初期設定では、これはオフにしてある。なぜなら、png 画像に対するブラウザーのサポートが貧弱だからであり、多くのブラウザーで見にくい出力結果が得られる。しかしこの決定は、将来は変更されるかもしれない。
出力の最上部の行に影響を与える3このコマンドがある。初めに、LOGO コマンドは、analog のロゴマークを他の画像に(例えば、あなたの組織のロゴ)に置き換えることができる。そのためには、以下の様にすれば良い。
LOGO picture.gif  # このファイルに対して
LOGO /images/picture2.gif  # 異なるファイル
LOGO none         # ロゴマーク無し
ロゴマークは、スラッシュ記号で始まらない限り、あるいは :// を含まない限り、IMAGEDIR 内にあると仮定されている。

次にHOSTNAMEHOSTURL コマンドがある。これらは、題名の行の終わりの「名称」と「リンク」に影響を与える。例えば、以下の様に指定すると、

HOSTNAME "Stephen Turner"
HOSTURL  http://www.statslab.cam.ac.uk/~sret1/
"ウェブサーバの統計 Stephen Turner" という結果が得られる。 HOSTURL に対して、none と指定して、リンクを張らないこともできる。analog は、必要ならば、ホスト名中の文字を HTML の文法に則って通常翻訳する。HTML のアクセントつきの文字のような特殊文字を含めるためには、それらの文字の前に、以下のようにバックスラッシュをつける必要がある。
HOSTNAME "M\&uuml;ller & S\&ouml;hne"

また HEADERFILEFOOTERFILE と呼ばれるコマンドがある。これらによって、出力ファイルの最上部と最下部に挿入するファイルを指定することができる。以下の様に指定すると、
HEADERFILE none
以前に指定されたヘッダーファイルを取り消すことができる。 繰り返すと、もし HEADERFILE あるいは FOOTERFILE の名前が、ディレクトリを含んでいなければ、プログラムのコンパイル時に指定された、正常の位置に置かれたとみなされる。
出力にスタイルシートを指定する、STYLESHEET というコマンドがある。このコマンドは、色等を指定することができる(スタイルシートの書き方は、http://www.w3.org/Style/css/ を参照せよ)。例えば、
STYLESHEET /housestyle.css
STYLESHEET none   # 上記の取り消し
ヒント:スタイルシートを書く上でよくある間違いは、body に対する font-family の宣言がある。しかし、<pre> の節では等幅フォントに戻らないことに注意すべきである。こうすると、列が適切に整列しなくなる。スタイルシートは以下のような行を含むべきである。
PRE, TT, CODE, KBD, SAMP { font-family: monospace }

3このお互いに関連したSEPCHARREPSEPCHAR、それに DECPOINT と呼ばれるコマンドがある。これらは、それぞれ、数値の3桁区切り文字、レポート中の列に現れる数値の3桁区切り文字、それに小数点文字を指定する。例えば、フラン人のユーザは、以下の様に指定するであろう。
SEPCHAR " "
REPSEPCHAR none
DECPOINT ,
こうすると、"3000と4分の1" は、文章中では "3 000,25" のようになり、レポート中では "3000,25" のようになる。

RAWBYTES と呼ばれるコマンドがある。もしレポート中で正確なバイト数を知りたかったら、RAWBYTES ON と指定すればよいし、 あるいはその代わりに、もしキロバイトやメガバイトのように適切な単位の数値が欲しいときには、RAWBYTES OFF とすればよい。


ページの幅を決める HTMLPAGEWIDTHPLAINPAGEWIDTH それに LATEXPLAINWIDTH と呼ばれるコマンドがある。どのコマンドが使用されるかは、出力形式が HTML、PLAIN (ASCII を含む)または LATEX のどれかに依存する。出力はこのコマンドで指定される幅に収まるとは保証されないが、時間の画像の幅を選択するとき、アルファベット順にホストレポートを並べようとするとき、水平線を書くとき、それに文章を書くときに、analog は注意を払っている。
NOROBOTS と呼ばれているコマンドがあり、それは、ロボットのMETA タグ に従っているロボット検索エンジンが、あなたのサーバの出力を索引付けしたり、リンクを辿ったりするのを止めてくれる。通常はこのコマンドは ON になっているが、ロボットがそういう風にあなたの他のページを探し出すのを気にしないなら、NOROBOTS OFF と指定することもできる。ロボットを徹底的に排除するなら、統計ページを robots.txt ファイルに登録しておけばよいことに注意してください。しかしながら、このファイルはサーバ管理者によって常に最新の状態にしておかなければならない。
時々 あなたのサーバが、あなたと同じ時間帯に設定されていないか、または少なくともログファイルに異なった時間帯(例えば GMT)の時刻を記録しているかもしれません。現在地での時刻における統計を取るために、時刻を分単位で変えられる LOGTIMEOFFSET と呼ばれるコマンドがあります。LOGFORMAT コマンドと同じように、同じ 環境設定ファイル内の 後に 現れるログファイルにだけ影響を与えます。

このコマンドを使うときには、注意しなければなりません。 異なる時間帯の異なる世界で使われている夏時間のため、analog は、異なる時間帯 を変換してくれません。1年の異なる時間に対して、正しい時間差を設定するのはあなたの責任です。例えば、あなたはシカゴに居るが、サーバは GMT (世界標準時)で記録しているとすると、2種類の異なる時間差を設定する必要があるでしょう。一つは夏に−5時間であり、冬には−6時間になります。あなたは、ログファイルを適切な場所で2つに分け、以下のようなコマンドを発行する必要があるでしょう。

LOGTIMEOFFSET -300
LOGFILE summer*.log
LOGTIMEOFFSET -360
LOGFILE winter*.log

これに関連して、TIMEOFFSET と呼ばれるコマンドがある。これは、現地時間を取り入れるために、(Web サーバが動作しているコンピュータではなく)analog が動作しているコンピュータの時間をどれくらいずらせばよいのかを決定する。


以下の章では、以下の題名のついた特別なレポートの出力の設定に対するコマンドが、書かれている。時間レポート他のレポート それに 階層的レポート である。
analog のホームページ

Stephen Turner
2001年5月19日

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

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