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

Analog 4.16: 出力の設定

これまでは、アナログがログファイルを読む時の制御用コマンドについて、主に話してきました。今度は、出力を設定するためのコマンドに移りましょう。

もしログファイルが 必要な情報を含んでいるときには、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 ONALL OFF のコマンド、またはコマンドラインの引数である +A-A を用いて出力を制御することができます。

レポートの中の "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-mdDhH45W-cPz-ritEI-SZo-sNnfKk-uJ-v-bBp

以下のコマンド、
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 のファイル名に日付を含むことは都合が良いことがあります。ファイル名の中に以下のコードを含むことで、これを実現することができます。

%D  日付
%m  月の名称
%M  数値の月
%y  2桁の年
%Y  4桁の年
%H  時
%n  分
%w  曜日
例えば
OUTFILE stats%y%M.html
stats9905.html のようなファイル名を生成します。使用される日付は、TO で使用される日付です。そこで指定されていなければ、プログラムが起動した時刻になります。
さて、いくつかのとても重要なコマンドについて述べます。最初は出力形式を変えられる OUTPUT コマンドです。HTMLPLAINASCIICOMPUTER の4つの出力可能な形式があります。HTML は、Web ページを出力し、PLAINは単純なテキストファイルを出力し、ASCIIPLAIN と同じだが、可能な限りアクセントを含まないアスキー文字のみを用いた出力である。(これは、幾つかのソフトではアクセント付きの文字を解釈してくれないからである。例えば、電子メールではそれらの文字は表示できない。)COMPUTER は、コンピューターで読むのに適切な特別な書式です(スプレッドシートに読み込むために、また例えば、グラフィックパッケージで後処理を行うのに便利です)。この形式については後に、別な章 があります。

以下の

OUTPUT PLAIN
のようなコマンドはもちろん、コマンドラインの引数として +a を付ければ PLAIN 形式を、-a を付ければ HTML 出力形式を選ぶこともできます。もし キャッシュファイル を出力しているなら、OUTPUT NONE で出力を抑えることもできます。
次に、出力の言語を変えることができます。それには2つの方法があります。一般的な方法は LANGUAGE コマンドを使います。例えば
LANGUAGE FRENCH
はフランス語で出力します。現在、有効な言語は ARMENIAN, BOSNIAN, BULGARIAN, CATALAN, SIMP-CHINESE (GB2312 符号化), TRAD-CHINESE (Big5 符号化), CROATIAN, CZECH, DANISH, DUTCH, ENGLISH, US-ENGLISH, FINNISH, FRENCH, GERMAN, GREEK, HUNGARIAN ICELANDIC, ITALIAN, JAPANESE, KOREAN, NORWEGIAN (Bokmål), NYNORSK, POLISH, PORTUGUESE, BR-PORTUGUESE, ROMANIAN, RUSSIAN, SERBIAN, SLOVAK, SLOVENE, SPANISH, SWEDISH, TURKISHUKRAINIAN です。 新しい言語ファイルが翻訳されれば、それらは analog のホームページ に加えられていきます。

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

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

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

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


時々 あなたのサーバが、あなたと同じ時間帯にないときがあるか、または少なくともログファイルに異なった時間帯(例えば 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 であり、ハードディスク上のディレクトリではない。それは相対的か絶対的な URL で指定される。例えば、以下のように与えられる。
IMAGEDIR img/   # 出力と同じディレクトリ内にある場合
IMAGEDIR /img/  # Web サーバのルートディレクトリからの位置

出力の最上部の行に影響を与える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\üller & S\öhne"

また HEADERFILEFOOTERFILE と呼ばれるコマンドがある。これらによって、出力ファイルの最上部と最下部に挿入するファイルを指定することができる。以下の様に指定すると、
HEADERFILE none
以前に指定されたヘッダーファイルを取り消すことができる。
出力にスタイルシートを指定する STYLESHEET というコマンドがある。このコマンドは、色等を指定することができる(スタイルシートの書き方は、http://www.w3.org/Style/css/ を参照せよ)。例えば、
STYLESHEET /housestyle.css
STYLESHEET none   # 上記の取り消し
ヒント:スタイルシートを書く上でよくある間違いは、body に対する font-family を宣言するのだが、 <pre> の章では当幅フォントに戻らないことである。こうすると、欄が適切に整列しなくなる。スタイルシートは以下のような行を含むべきである。
PRE, TT, CODE, KBD, SAMP { font-family: monospace }

これに関連してSEPCHARREPSEPCHAR、それに DECPOINT と呼ばれる3このコマンドがある。これらは、それぞれ、数値の3桁区切り文字、レポート中の列に現れる数値の3桁区切り文字、それに小数点文字を指定する。例えば、フラン人のユーザは、以下の様に指定するであろう。
SEPCHAR " "
REPSEPCHAR none
DECPOINT ,
こうすると、"3000と4分の1" は、文章中では "3 000,25" のようになり、レポート中では "3000,25" のようになる。
RAWBYTES と呼ばれるコマンドがある。もしレポート中で正確なバイト数を知りたかったら、RAWBYTES ON と指定すればよいし、 あるいはその代わりに、もしキロバイトやメガバイトのように適切な単位の数値が欲しいときには、RAWBYTES OFF とすればよい。

最後に、ページの幅を決める HTMLPAGEWIDTH とか PLAINPAGEWIDTH と呼ばれるコマンドがある。前者は出力形式が HTML のときに使われ、後者は PLAIN または ASCII 出力形式のときに使用される。出力はこのコマンドで指定される幅に収まるとは保証されないが、時間の画像の幅を選択するとき、 アルファベット順にホストレポートを並べようとするとき、水平線を書くとき、それに文章を書くときに、analog は注意を払っている。


以下のような題名のついた特殊なレポートの出力の設定については、何章かが書かれている。時間レポート他のレポート それに 階層的レポート
analog のホームページ

Stephen Turner
2001年2月13日

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

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