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

Readme for analog3.90beta1

キャッシュファイル

analogは キャッシュファイル にログファイル中の いくつか のデータを保管する能力があります。従って、そのログファイルは重要なデータを失うことなく破棄することができます。

大部分の人には、キャッシュファイルは必要ないでしょう。gzip の様な標準圧縮ソフトを使用してログファイルを圧縮することで十分でしょう。ログファイルの圧縮は、非常に多くの文字列の繰り返しにとても効果的です。私は、実際に約12倍の圧縮率を得ました。これは、多くの情報を失うことなく、あなたのファイルスぺースの問題を解決するでしょう。

このキャッシュファイルは、データの事後処理や、スプレッドシートに読み込むのに、最適な書式ではありません。この目的のためには、コンピュータが読み込み可能な出力 を使うべきです。

もしこの先、キャッシュファイルを使うなら、何が記録され、何が記録されないかを理解しておくことはとても重要です。キャッシュファイルからログファイル中の全てを復元することは 不可能 です。キャッシュファイルは、各ホストと各ファイルへの総リクエスト数についての情報を含みますが、例えば、どのファイルがどのホストによって読み込まれたかについての情報は含みません。(これを再現するためには、キャッシュファイルの大きさは、圧縮ログファイルと同じディスクスペースが必要になるでしょう。)従って、後に1つのファイルだけを見て、どのホストがそのファイルを読んだかを知ることはできません。同様に、FROMTO コマンドを使って、日にちでファイルやホストを限定することもできません。

要約すると、キャッシュファイルを作るときに、全ての包含と除外を実行しておくべきです。もし、異なる包含と除外の組が欲しいなら、同じログファイルからいくつかのキャッシュファイルを作るべきです。後で、余分の包含と除外を正確に適用することはできません。

その他のあまり重要でない幾つかの事柄:時間に関する失敗したリクエストの型とリダイレクトされたリクエストは、キャッシュファイルに記録されません。そのため、総数が依然として正しいのにもかかわらず、必然的に最後の7日間の総計は低く見積もられてしまいます。そして時間は、5分間隔でのみ記録されます。


キャッシュが保存されるべきファイルを、CACHEOUTFILE で指定することで、キャッシュファイルを作ることができる。以下の設定、
CACHEOUTFILE none
により、キャッシュを保存しなくなります。あなたが、OUTPUTNONE を指定しない限り、キャッシュの出力と同時に通常の出力も得られます。上書きを避けるため、CACHEOUTFILE を既にあるファイル名に設定してはいけません。(以下のことには責任を持てません:ある幾つかのシステムでは、競合条件により、しばしばこの別設定が効かない可能性があります。また他のシステムでは、書き込み可だが読み込み可ではないときは、上書き可になる可能性があります。)OUTFILE について以前述べられたと同じように、日付を CACHEOUTFILE のファイル名に含めることができます。

CACHEFILE を使うかあるいは +U コマンドラインのオプションを使えば、以前に作成されたキャッシュファイルを読み込むことができる。LOGFILE コマンドの時と同様に、コンマとワイルドカードを使い数個のキャッシュファイルを読み込むことができ、UNCOMPRESS コマンドの仕組みを使えば、圧縮されたキャッシュファイルを読むこともできる。キャッシュファイルもログファイルも読み込みたくない時には、あからさまに LOGFILEnone に設定しなければいけないことに注意してください。

analog がキャッシュファイルを読む時、できる限り包含と除外を守るが、項目名に対するエイリアス(別名)はもはや適用しません。(これは2重のエイリアスを避けるためです。)そのため、キャッシュファイルを作成するときに、希望のエイリアスを適用しておかなければなりません。同様に、LOGTIMEOFFSET 変数の値にも従いません。これは2重の時間差の適用を避けるためであり、どんな希望の時間差も、キャッシュが作成されるときに適用しておかなければなりません。

時には、キャッシュファイルに全ての項目を記録したくないことがあると思います。例えば、あなたの Web サイトにどのホストがアクセスしたなど構わないで、各ファイルが何回リクエストされたかのみを記録したいかもしれない。1つの項目を含めないためには、それに対応する LOWMEM コマンドを 3 に設定すれば良い。例えば、以下の様に

HOSTLOWMEM 3
とすれば、キャッシュファイルからホスト名を除外することができます。これは重大な操作なので、この設定をすると analog は注意メッセージを出します。もしどのファイルがリクエストされたかも知る必要も無く、経過時間に対するリクエストの模様のみを記録したい時には、すべての6個の LOWMEM コマンドを 3 に設定することもできます。
この特徴を使い、項目を失ったり2重勘定を避けるために、以下の手続きを取ることをお勧めします。
  1. 古いログファイルを保管し、サーバを再起動して新しいログファイル生成しなさい。 (これをどう行うかは、あなたのサーバのマニュアルを読んでください。)
  2. 古いログファイルからキャッシュファイルと通常のレポートを作成しなさい。
  3. キャッシュファイルからテストレポートを作成し、ログファイルからのレポートと 比較して、正しくキャッシュファイルが作成されているかどうか確認しなさい。 (この手順は実際やる価値があります。)
  4. 全てのキャッシュファイル、古いものと新しいものから主要レポートを作成しな さい。
もしログファイルを削除することで何のデータを失うかがよく分かっていれば、ここで、古いログファイルを削除できます。(しかし何かまずいことが起きても、私は何の責任も負えないことを思い出してください。ライセンス を読んでください。)

以上のうちの一つに何かまずいことが起きることを考えて、各ログファイルに対して一つのキャッシュファイルを作成することを、私は推奨します。幾つかのログファイルから一つのキャッシュファイルを作成したり、あるいは古いキャッシュファイルとログファイルを組み合わせて一つのキャッシュファイルにすることは薦めません。


Stephen Turner
analog についての質問は analog-help の メーリングリスト を読んでください。

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