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

Analog 5.91beta1: よく聞かれる質問(FAQ)


FAQ の一覧を以下の 6 つのセクションに分けて説明します:
  1. はじめに
  2. 基本的な設定
  3. 出力の理解
  4. 進んだ使い方
  5. フォームインタフェース
  6. プログラム設計の考え方

質問の一覧

  1. はじめに
    Analog をはじめるにあたっても参照してください。
    1. Analog に setup.exe がありません。
    2. Analog が DOS のウインドウを一瞬だけ開いてから終了してしまいます。
    3. Windows 上で analog.cfg を編集しようとすると、which program I want to use to open that file と聞かれます。
    4. Analog をコンパイルしようとすると、エラーになります (特に SunOS 5.x)。
    5. Analog を実行した際にログファイルへの書き込みが行なわれません。
    6. Analog が IIS で生成した W3C 拡張形式のログファイルを読み込んでくれません。
      「time without date」とはどういう意味でしょうか。
    7. 「Logfile with ambiguous dates」とはどういう意味でしょうか。
    8. Analog でログファイルを解析しようとすると、「Large number of corrupt lines」というメッセージが出力されます。
    9. Analog が 2GB を超えるログファイルを読み込めません。
    10. このエラーメッセージはどういう意味ですか。
    11. Analog をブラウザ上から実行しているのですが、うまく動作しません。

  2. 基本的な設定
    1. 幾つかのログファイルを一度に解析したいのですが。
    2. 何通りかの統計ページを作成したいのですが、Analog もその数だけインストールしなければならないのでしょうか。
    3. analog.cfg ファイルに、多数の CONFIGFILE コマンドを記述していますが、1 ページしか出力されません。
    4. 日別レポートに、最近 6 週間分しか表示されないのはなぜですか。
    5. 時間レポートがすべて 0 リクエストになってしまうのはなぜですか。
      もしくは なぜ時間レポートにはバーチャートが無いのですか。
    6. リクエストレポートで、20 リクエスト以下のファイルの一覧を表示させるにはどのようにすればよいでしょうか。
    7. 自分のサイトからのアクセスを除外するにはどうすればよいでしょうか。
    8. 参照元レポートで、サイト内部からの参照元 URL を除外するにはどうすればよいでしょうか。
    9. わたしのページに関する情報だけを取得したい場合は、どうすればよいですか。
    10. ディレクトリレポートで、トップレベルのディレクトリだけではなく、サブディレクトリも表示するには、どうすればよいですか。
    11. ブラウザレポートで、ブラウザのマイナーバージョンを表示させるには、どうすればよいですか。
    12. 組織別レポートで、完全なホスト名を表示させるには、どうすればよいですか。
    13. DIREXCLUDE /mydir/」コマンドを記述しましたが、ディレクトリ内のファイルが依然として表示されます。
    14. FILEEXCLUDE /cgi-bin/script.pl」コマンドを記述しましたが、ファイルが依然として Request Report 中に表示されます。
    15. IMAGEDIR C:\analog\images\」コマンドを記述しましたが、画像が表示されませんでした。
    16. 幾つかの出力ページを同じディレクトリに出力したいと考えていますが、円グラフが互いに上書きされてしまいます。
    17. 設定可能なすべてのコマンドが記述された設定ファイルが欲しいのですが。
    18. 設定ファイルを見せてください。
    19. 設定ファイル中のコマンドの順番は何か影響するのでしょうか。
    20. ブラウザと参照元レポートが空欄になってしまうのですが。
    21. 参照元レポートが適切にソートされないのはなぜでしょうか。
    22. 参照元レポート中で、 検索引数を参照元 URL と一緒に表示したい(もしくは表示したくない)のですが。
    23. click-thru's (もしくは CGI スクリプト)がリクエストレポートに表示されないのはなぜでしょうか。
    24. リクエストレポート中に、/script.pl?q=1といった表示が見当たりません。
    25. どうして、REQCOLSREQSORTBYREQFLOORPを使えないのでしょうか。
    26. 参照元 URL がどのファイルにリンクしているか分かりますか。
      もしくは 各ホストがどのファイルを読んだか分かりますか。
      もしくは 各ファイルをどのホストが読んだか分かりますか。
      もしくは 各日の訪問ホスト数は分かりますか。
      もしくは 他の似たような質問。
    27. SETTINGS ON で、英語での設定一覧の表示の代わりに、設定ファイルを出力するようにできませんか。
    28. 複数のログファイルが全く別のものであるにも関わらず、「logfiles overlap」というメッセージが出力されます。
    29. サイトに対する訪問者数や訪問数を算出できませんか。
      もしくは 訪問者がサイトにどの程度の時間留まっていたかを出力できませんか。
    30. 出力における時刻の表示形式を変更できませんか。
      もしくは 出力中の文書の一部を変更できませんか。
    31. どうしたら出力の背景色を変更できますか。
      もしくは 出力をもっと見栄え良くするには、どうすればよいでしょうか。

  3. 出力の理解
    結果の読み方の章も参照してください。
    1. データからヒット数を出すにはどうすればよいのでしょうか。
    2. 自分のサイトからの referrer がたくさんあるのは、どうしてでしょうか。
    3. 解析期間がちょうど 1 週間以上あるのに、最近 7 日間の数値が、全体の数値と合わないのはどうしてですか。
    4. 全部で 240 リクエストしかないのに、Analog が 1 週間で 840 リクエストあると出力するのはどうしてですか。
    5. 円グラフの数値が表の数値と合致しないのはなぜですか。
    6. Analog が Web ページにあるカウンタの数と一致しない結果を出すのはどうしてですか。
    7. Analog がログファイルを grep したものと一致しない結果を出すのはどうしてですか。
    8. Analog の解析結果が他のログ解析プログラムと一致しないのはどうしてですか。
    9. ドメインレポートで、「unresolved numerical addresses」しか出力されないのはなぜですか。
    10. リクエストレポートでディレクトリが表示されるのはなぜですか。
    11. PDF ファイルが読み込まれると、何度もアクセスがあったように見えます。
    12. キロバイトは 1000 バイトであり、1024 バイトではないはずです。
    13. 組織レポートで組織が正しく認識されません。
    14. 「組織(Organization)」のスペルが正しくありません。

  4. 進んだ使い方
    1. コマンドラインオプションでどのようなことができますか。
    2. すべてのコマンドライン引数を確認したいのですが。
    3. ドメインレポートで 2 階層目までの数値のサブドメインを表示させたいのですが。
    4. ステータスコード 301 と 302 も成功したリクエストとして計算して、リクエストレポートに表示させたいのですが。
    5. Analog が認識していないフィールドについてのレポートを作成したいのですが。
    6. Analog は Squid プロキシのログファイルを解析できますか。
    7. Analog は FTP のログファイルを解析できますか。
      もしくは Analog は streaming media のログファイルを解析できますか。
    8. Analog はメールサーバのログや syslog などのログファイルを解析できますか。
    9. Analog を毎日自動的に実行させるようにできますか。
    10. Analog の出力を自動的にわたしや他の人にメールさせるようにするにはどうすればよいのでしょうか。
    11. IIS を設定していますが、どのログファイルの形式を使えば良いのでしょうか。
    12. 多くの仮想ドメインがありますが、Analog でこれらをどのように扱ったらよいでしょうか。
    13. Analog を 1 回だけ実行させて幾つかのレポートを出力させることはできませんか。
    14. Analog を実行しようとすると、メモリ不足といわれます。どうすればよいでしょうか。
    15. Analog は 10 分で 20,000,000 リクエストを処理するといわれているが、なぜわたしのところでは遅いのでしょうか。
      Analog は停止してしまったかのようです。
    16. Analog のページにリンクをはることはできるのでしょうか。
    17. 古いログファイルをすべて保存しておく必要があるのでしょうか。
      もしくは Analog はログファイルをすべての読み込まなくても、古いレポートから情報を生成することができるのでしょうか。
    18. Analog はデータベースや表計算ソフトウェアに対して書き込むことはできますか。

  5. フォームインタフェース
    フォームに関するトラブルシューティングも参照してください。
    1. フォームを実行できません。
    2. フォームインタフェースでログファイルを指定することができません。
    3. anlgform.pl が実行されず、ブラウザに anlgform.pl の内容が表示されてしまいます。
    4. フォームインタフェースが「Document Returned no Data(ドキュメントはデータを含んでいません)」と表示するのはなぜですか。
    5. フォームインタフェースから Analog を実行すると、画像ファイルがうまく表示されません。
    6. フォームインタフェースからは指定していないレポートが表示されるのはなぜですか。
    7. anlgform.html を使わずに、anlgform.pl にリンクをはる方法を教えてください。
    8. Perl を使わない (ASP や .exe など)フォームインタフェースはありませんか。

  6. プログラム設計の考え方
    1. HEADERFILE が出力ファイルの「先頭部分」を完全に置き換えないのはどうしてですか。
    2. HTML のテーブルタグを使わないのはなぜですか。
    3. 画像ファイルを 1 つだけ使って、その幅や長さを width や height タグで指定するようにしないのはどうしてですか。
    4. XHTML 出力形式で、各セルの代わりになぜ各 <COL> 中で class= を指定しないのですか。
    5. OUTFILE コマンドは、なぜ出力ファイル用にディレクトリを自動的に作成しないのですか。
    6. /robots.txtを要求したリクエストを自動的にロボットによるものとして扱わないのはどうしてですか。
    7. ホストレポートにおいて、DNS によるホストの名前解決を行なわないのはどうしてですか。
    8. スレッドを使えば、DNS 検索が早くなりませんか。
    9. Analog が error_log を解析しないのはなぜですか。
    10. サーバがログファイルにローカルな名前で出力を行なっています。これに自動的に共通のサフィックスを付加する方法はありませんか。
    11. 今月のデータの部分的な伸び率を元にして、1月分のデータの伸びを予測できませんか。
    12. 訪問者がどの(アメリカの)州から訪れたかを集計するために、ドメインレポートを拡張することはできませんか。
    13. OS レポートで各 BSD 系 OS を区別することはできませんか。
    14. 各言語ファイルの名称に、国別コードの代わりに、言語コードを使わないのはどうしてですか。
    15. Analog が「訪問(visit)」に関する解析を行なわないのはどうしてですか。
    16. Analog を販売しないのはなぜですか。

A. Getting Started

このカテゴリの質問のほとんどは、Analog をはじめるにあたっての章に回答があります。Analog がうまく実行できない時は、この章を参照してください。
  1. Analogsetup.exe がありません
    Analog は setup.exe を必要としません。 そのままで実行することが可能になっています。Analog を使うにあたって(Windows) も参照してください。
  2. Analog が DOS のウインドウを一瞬だけ開いてから終了してしまいます
    これは正しい動作です。Analog は Report.html という名前の出力ページを作成している筈です。Analog をはじめるにあたって(Windows)も参照してください。
  3. Windows 上で analog.cfg を編集しようとすると、which program I want to use to open that file と聞かれます。
    メモ帳など普通のテキストエディタを使ってください。
  4. Analog をコンパイルしようとすると、エラーになります (特に SunOS 5.x)。
    おそらく Makefile の編集が必要です。Starting to use analog on other platformsの章や、Makefile の中に、プラットフォーム依存の注意点が記述されています。
  5. Analog を実行した際にログファイルへの書き込みが行なわれません。
    Analog はログファイルへの書き込みを行ないません。Analog は Web サーバが書き込んだログファイルを読み込むだけです。Starting to use analog の章も参照してください。
  6. Analog が IIS で生成した W3C 拡張形式のログファイルを読み込んでくれません。
    「time without date」とはどういう意味でしょうか
    IIS のデフォルトでは、日付はログファイルの先頭部分にのみ日付情報が挿入され、各行には入りません。しかし、ログファイルの途中で日付が変更になっても、その情報は書き込まれませんので、Analog はログファイルの後ろの方のエントリがいつ発生したのかを識別することができません。詳細な情報と対処策については、Choosing a logfileの章を参照してください。
  7. 「Logfile with ambiguous dates」とはどういう意味でしょうか
    Errors and warningsの章を参照してください。
  8. Analog でログファイルを解析しようとすると、「Large number of corrupt lines」というメッセージが出力されます。
    これにはいくつもの理由が考えられます。詳細は、Choosing a logfileの章で説明されています。
  9. Analog が 2GB を超えるログファイルを読み込めません。
    Analog 自身には制限はありませんが、OS あるいはコンパイラーに制限があるかもしれません。コンパイルする前に、CFLAGS=-D_FILE_OFFSET_BITS=64 を Makefile に付け加えて試して下さい。
  10. このエラーメッセージはどういう意味ですか。
    これについても、Errors and warningsの章を参照してください。
  11. Analog をブラウザ上から実行しているのですが、うまく動作しません。
    Analog を CGI プログラムとして実行してはいけませんし、セキュリティ上 CGI プログラムのあるフォルダに置いてもいけません。代わりに専用の CGI プログラム を使ってください。 /ol>

    B. 基本的な設定

    Analog には多数の設定コマンドがあります。Customising analog の章で、すべての設定コマンドに関して説明を行なっています。頻繁に行なわれる質問について、以下に示します。あなたの質問がここになければ、索引 の方を参照してください。
    1. 幾つかのログファイルを一度に解析したいのですが。
      LOGFILE コマンドを幾つか記載するか、ログファイル名をワイルドカードで指定してください。
    2. 何通りかの統計ページを作成したいのですが、Analog もその数だけインストールしなければならないのでしょうか。
      Analog 自体は 1 回だけインストールした上で、統計ページごとに異なる 設定ファイル を指定して Analog を実行してください。(Analog は出力する統計ページごとに実行する必要があります。)
    3. analog.cfg ファイルに、多数の CONFIGFILE コマンドを記述していますが、1 ページしか出力されません。
      Analog は 1 回実行されるごとに 1 つのページを生成します。幾つかのレポートを生成したい場合は、Analog をその回数だけ実行してください。
    4. 日別レポートに、最近 6 週間分しか表示されないのはなぜですか。
      これについては、DAYREPROWS コマンドで制御できます。
    5. 時間レポート がすべて 0 リクエストになってしまうのはなぜですか
      もしくは なぜ時間レポートにはバーチャートが無いのですか。
      おそらく、ページに対するリクエストがなかったのでしょう。PAGEINCLUDE コマンドを使って、ページに含まれるファイルを増やしてみると良いかも知れません。
    6. リクエストレポートで、20 リクエスト以下のファイルの一覧を表示させるにはどのようにすればよいでしょうか。
      REQFLOOR コマンドを使ってください。REQFLOOR 10r のようにすることで、10 リクエスト以上の一覧を表示できます。また、ページだけではなく、すべてのファイルの一覧を表示したい場合は、REQINCLUDE * コマンドを記述してください。
    7. 自分のサイトからのアクセスを除外するにはどうすればよいでしょうか
      HOSTEXCLUDE コマンドを使ってください。
    8. Referrer Report で、サイト内部からの referrer を除外するにはどうすればよいでしょうか
      REFREPEXCLUDE コマンドを使ってください。
    9. わたしのページ に関する情報だけを取得したい場合は、どうすればよいですか
      FILEINCLUDE コマンドを使ってください。
    10. ディレクトリレポートで、トップレベルのディレクトリだけではなく、サブディレクトリも表示するには、どうすればよいですか
      SUBDIR */*
    11. ブラウザレポートで、ブラウザのマイナーバージョンを表示させるには、どうすればよいですか
      SUBBROW */*.*を使ってください (結果はブラウザーレポートではなくブラウザーの概要に現れることに注意して下さい) 。
    12. 組織別レポート で、完全なホスト名を表示させるには、どうすればよいですか。
      完全なホスト名はホストレポートに表示されます。
    13. DIREXCLUDE /mydir/」コマンドを記述しましたが、ディレクトリ内のファイルが依然として表示されます。
      DIREXCLUDE の設定が影響するのはディレクトリレポートだけで、他のレポートには影響しません。「FILEEXCLUDE /mydir/*」を代わりに使ってください。
    14. FILEEXCLUDE /cgi-bin/script.pl」コマンドを記述しましたが、ファイルが依然として Request Report 中に表示されます。
      ファイルに search argument がある場合、FILEEXCLUDE コマンドを使うにはちょっとした注意が必要です。これについては、search argumentsの章で説明しています。
    15. IMAGEDIR C:\analog\images\」コマンドを記述しましたが、画像が表示されませんでした。
      IMAGEDIR コマンドに指定するのは、ディスク上のディレクトリではなく、URL です。(このコマンドの設定は、そのまま出力の 「img」 タグに埋め込まれます。出力のファイルをみれば確認できます。) そのため、画像ファイルは Web 経由で参照可能な場所に置く必要があります。
    16. 幾つかの出力ページを同じディレクトリに出力したいと考えていますが、円グラフが互いに上書きされてしまいます。
      各出力ページ毎に、CHARTDIRLOCALCHARTDIR の設定を別にする必要があります。(CHARTDIRLOCALCHARTDIR の最後をスラッシュにしない限り、すべてのグラフを同じディレクトリに出力できます。)
    17. 設定可能なすべてのコマンドが記述された設定ファイルが欲しいのですが。
      プログラムと一緒に配布されています。examples フォルダにあります。
    18. 設定ファイルを見せてください。
      これも配布物のexamples フォルダ中にあります。
    19. 設定ファイル中のコマンドの順番は何か影響するのでしょうか。
      影響する場合もあります。まず、同じコマンドを複数回記述した場合、通常は後に記述したものが前に記述したものを上書きします。以下の例外を除き、コマンドはどの順番で記述しても構いません。LOGFORMAT および LOGTIMEOFFSET コマンドについては、コマンドの設定を適用したい LOGFILE コマンドよりも前に記述する必要があります。
    20. ブラウザと referrer レポートが空欄になってしまうのですが。
      おそらくログファイルにブラウザや referrer の情報が含まれていないでしょう。
    21. referrer レポートが適切にソートされないのはなぜでしょうか。
      おそらくソートは行なわれています。ただし、search argumentsが関連するファイルの下に列挙されていて、これが順番をおかしくしているのだと思います。REFARGSFLOORの値を高めに設定すれば、search argument を隠すことができます。またN カラム を含めることで、順番を明示的に表示することもできます。
    22. referrer レポート中で、 search argument を referrer と一緒に表示したい(もしくは表示したくない)のですが。
      search argument を表示させるには、REFARGSFLOOR の値を低めにしてください。表示させたくない場合は、 REFARGSFLOOR を高めにすることもできますが、REFARGSEXCLUDE コマンドを使って、すべてのファイル、もしくは一部のファイルについて引数を無視するようにすることもできます。
    23. click-thru (もしくは CGI スクリプト)がリクエストレポートに表示されないのはなぜでしょうか。
      これらが別のページへのリダイレクトを引き起こすものであれば、結果はリクエストレポートではなく、リダイレクトレポート中に表示されます。
    24. リクエストレポート中に、/script.pl?q=1といった表示が見当たりません。
      スクリプトがリダイレクトを引き起こすのであれば、それはリクエストレポートではなく、リダイレクトレポート中に現われます。なお実際に確認する際には、 REQARGSFLOORREDIRARGSFLOOR を充分低めに設定する必要があります。
    25. どうして、REQCOLSREQSORTBYREQFLOORPを使えないのでしょうか。
      リクエストレポート中では、リクエストされたページ数は意味を持ちません。なぜなら、リクエスト数と同じか(ファイルがページとして認識される場合)、もしくは 0 (それ以外の場合) になってしまうためです。このレポート中でページだけを表示したいという場合は、REQINCLUDE pages コマンドを代わりに使ってください。
    26. 参照元 URL がどのファイルにリンクしているか分かりますか。
      もしくは 各ホストがどのファイルを読んだか分かりますか。
      もしくは 各ファイルをどのホストが読んだか分かりますか。
      もしくは 各日の訪問ホスト数は分かりますか。
      もしくは 他の似たような質問。
      これらと同様に、2種類の項目 (上の最初の例では、ファイルと参照元 URL 、最後の例ではホストと日付) のクロスリファレンスをさせたいという質問は数多くあります。
      解決法としては、*INCLUDE コマンドを使用することが考えられます。例えば、ある特定の参照元 URL が参照しているファイルを見つけるには、REFINCLUDE コマンドを使用して参照元 URL を制限すればよいでしょう。すると、リクエストレポートが参照元 URL が参照しているファイルの一覧を表示してくれます。同様に、ある特定の期間だけの統計に興味があるときには、FROMTO コマンドを使用して、その期間に注目すればよいでしょう。各レポートを生成するには、そのたびに Analog を起動しなければなりません。したがって、例えば参照元 URL では、注目している各参照元 URL 毎に動かさなければなりません。もちろん、一度ですべてのファイルと参照元 URL のクロスリファレンスが取れれば有益でしょう。 しかし、Analog は解析速度と使用メモリの最小化という要求を最優先しているため、各項目ごとの統計情報のみを記録しており、それらのクロスリファレンスを作成するのに必要な情報は記録していません。
    27. SETTINGS ON で、英語での設定一覧の表示の代わりに、設定ファイルを出力するようにできませんか。
      設定ファイルを出力させることはできませんが、どの設定ファイルから設定を読み込んだかが表示されますので、それらのファイルを参照することで該当するコマンドを確認することはできます。またすべてのコマンドの一覧が取得したいという場合は、examples ディレクトリにある設定ファイルを参照してください。
    28. 複数のログファイルが全く別のものであるにも関わらず、「logfiles overlap」というメッセージが出力されます。
      このメッセージはファイルの内容とは無関係に、ファイルの時刻のみに基づいて出力されています。問題がないと思われる場合は、WARNINGS -Lコマンドによって、このメッセージの出力を抑止できます。
    29. サイトに対する訪問者数や訪問数を算出できませんか。
      もしくは 訪問者がサイトにどの程度の時間留まっていたかを出力できませんか。
      できません。これは技術的に不可能ですので、そうしたことができるというプログラムを信じてはいけません。詳細は、How the web works の章を参照してください。
    30. 出力における時刻の表示形式を変更できませんか。
      もしくは 出力中の文書の一部を変更できませんか。
      できます。言語ファイルを修正してください。
    31. どうしたら出力の背景色を変更できますか。
      もしくは 出力をもっと見栄え良くするには、どうすればよいでしょうか。
      スタイルシート を使えばほとんどどんなデザインでも実現可能です。Analog のデータから完全に異なる出力形式を作成してくれるプログラムが helper applications page に幾つかあります。

    C. 出力の理解

    このカテゴリの質問のほとんどは、What the results meanの章に回答がありますので、Analog の出力を理解したいのであれば、この章を読むことを強くお勧めします。
    1. データからヒット数を出すにはどうすればよいのでしょうか。
      ヒット数という言葉は、様々な意味で使われていて、誤解されがちなため、あまり使いたくありません。代わりに、各種のファイル(テキスト、画像、...)の転送数を示す用語としてリクエストを、HTML ページの転送数を示す用語として、ページリクエストを使っています。詳細な情報については、Analog 独自の定義の章を参照してください。
    2. 自分のサイトからの referrer がたくさんあるのは、どうしてでしょうか。
      それは、サイト内部のリンクからのものや、ページ内の画像に対するものです。詳細については、How the web works の章を参照してください。サイト内からの referrer を除外したい場合は、REFREPEXCLUDE を設定してください。
    3. 解析期間がちょうど 1 週間以上あるのに、最近 7 日間の数値が、全体の数値と合わないのはどうしてですか。
      括弧内の数値は、TOコマンドがない限り、プログラムの実行時点から 7 日前までの数値です。決してログファイルの最後から 7 日前までのものではありません。(ログファイルに含まれている期間がわかっている場合は、TOコマンドでその日付を指定することで、最近 7 日間の数値を適切なものにすることができます。)
    4. 全部で 240 リクエストしかないのに、Analog が 1 週間で 840 リクエストあると出力するのはどうしてですか。
      もし 2 日間で 240 リクエストあれば、1 週間で 840 リクエストになります。これは、20 分で 28 マイル走る時、 1 時間では 84 マイル走れるというのと同じことです。
    5. 円グラフの数値が表の数値と合致しないのはなぜですか。
      おそらく、画像ファイルが古いままになっています。テキスト部分と同様に、画像ファイルも再読み込みしてください。Analog を何度か実行している場合は、 CHARTDIRLOCALCHARTDIR を使って、実行されるたびに画像ファイルが上書きされないようになっていることを確認してください。
    6. Analog がWeb ページにあるカウンタの数と一致しない結果を出すのはどうしてですか。
      これには様々な理由が考えられます。両方とも同じ日にカウントを始めたのかどうか。Analog はすべてのページや画像ファイルではなく、ある特定のページに対するリクエストのみを対象としていたのかどうか。Analog がそのページに対するすべてのリクエストを記録しているのかどうか、もし画像ファイルの場合、画像表示が可能で、ページ中のカウンタにいきつけるブラウザからのリクエストのみを記録しているのではないか。
    7. Analog がログファイルを grep したものと一致しない結果を出すのはどうしてですか。
      Analog の 解析対象 について理解されていますか。 ほとんどのレポートは、「成功したリクエスト (HTTP のステータスコードが 200-209 と 304)」のみを対象としています。grep は、失敗したリクエストについても計算してしまいます。
    8. Analog の解析結果が他のログ解析プログラムと一致しないのはどうしてですか。
      多少の違いは、解析ロジックの違いによるものでしょう。大きく違うという場合は、Analog および別のプログラムが何をどう計算しているかを確認する必要があります。例えば、プログラムによっては、HTTP ステータスコードの 301 や 302 は成功とみなします。もっとも、これは 非常に誤解を与える結果だと思いますが。
    9. ドメインレポートで、「unresolved numerical addresses」しか出力されないのはなぜですか。
      サーバでは、アクセスしてきたホストの名前ではなく、IPアドレスしか記録していません。 DNS lookupsの章を読んで、サーバ上で DNS の名前解決を有効にしてください。
    10. リクエストレポートでディレクトリが表示されるのはなぜですか。
      それはディレクトリではなく、ディレクトリと同じ名前のページです。 例えば、/analog/ というディレクトリと /analog/ というページ (これは /analog/index.html と同じ) とが存在します。
    11. PDF ファイルが読み込まれると、何度もアクセスがあったように見えます。
      PDF ファイルがダウンロードされる時は、一度に 1 ページずつ読み込まれることがよくあります。この場合、各ページのダウンロードが各々別のリクエストとしてみなされます。 これが理想的でないのはわかっていますが、うまい対処方法がありません。 Analog からは、読み手からみて 1 回のダウンロードが何ページのリクエストからなっているかを知ることができません。 ユーザがそのファイルをどのようにしたかについての推測を交えない、サーバに対して何回のリクエストがあったかという情報のみが唯一確実なものです。
    12. キロバイトは 1000 バイトであり、1024 バイトではないはずです。
      個人的には、元々 1024 バイトがキロバイトと呼ばれていたはずだと思っていますので、すでに半世紀もの間に確立した呼び方をいまさら変更しようとする方が変だと思います。 もっとも、この話題を今ここで議論する必要もないでしょう。Analog のキロバイトは 1024 バイトを意味します。これを kibibyte と呼びたい場合は、 言語ファイルを編集してください。
    13. 組織レポートで組織が正しく認識されません。
      この規則については、ドメインファイルの章で説明しています。 この規則が完璧なものでないことは認識していますが、これはドメインの階層構造の中で組織を示すドメインが同一の階層にないことが原因ですので、長大なリストを作成しない限り、これを完璧に認識する方法はありません。
    14. 「組織(Organization)」のスペルが正しくありません。
      そうかも知れません。アメリカ式のスペルをお望みなら、設定ファイルで、
      LANGUAGE US-ENGLISH
      と指定してください。

    D. 進んだ使い方

    1. コマンドラインオプションでどのようなことができますか。
      +C オプションを使うことで、コマンドライン上で任意の設定コマンドを指定することができます。
    2. すべてのコマンドライン引数を確認したいのですが。
      索引に一覧があります。
    3. ドメインレポートで 2 階層目までの数値のサブドメインを表示させたいのですが。
      SUBDOMAIN *.* とすると、出力が見にくくならないように、トップレベルの数値のサブドメインのみが表示されます。 SUBDOMAIN *.*.* とすると、今度は 3 階層目のドメインまでが表示されてしまいます。最善の策は、
      SUBDOMAIN 1*.*,2*.*,3*.*,...
      のように指定することです。
    4. ステータスコード 301 と 302 も成功したリクエストとして計算して、リクエストレポートに表示させたいのですが。
      それはできません。これを行なってしまうと、/dir へのリクエスト (コード 301) が /dir/ にリダイレクトされた際 (コード 200) に二重にカウントしてしまうことになるからです。 CGI スクリプトなどについては、リクエストレポートではなく、リダイレクトレポートを参照するようにしてください。
    5. Analog が認識していないフィールドについてのレポートを作成したいのですが。
      以下のようにしてください。まず LOGFORMAT コマンドで解析したいフィールドを仮想ホストかユーザ(いずれか使っていない方)として定義します。その上で言語ファイルを編集して、適切な説明が出力されるようにしてください。
    6. Analog は Squid プロキシのログファイルを解析できますか。
      Squid の出力するコモンログ形式の出力を解析することはできますが、Squid が幾つか使っている独自の HTTP ステータスコードについては、異常なものとして除外されてしまいます。 プロキシのログから、キャッシュから取得されたリクエストの割合などの独自の統計情報を取得したいと考えている場合は、Squid のネイティブフォーマットを使って、Calamaris のように Squid のログ解析のために設計されたツールを使って解析を行なった方がよいでしょう。
    7. Analog は FTP のログファイルを解析できますか。
      もしくは Analog は streaming media のログファイルを解析できますか。
      解析することはできます。examples ディレクトリに参考となる LOGFORMAT コマンドを含んだ設定ファイルがあります。もし参考例にないサーバで実行しようとするなら、自分自身で LOGFORMAT を書かなければならないでしょう。
    8. Analog はメールサーバのログや syslog などのログファイルを解析できますか。
      できるともできないともいえます。Analog は HTTP のログファイル解析ツールとして設計されています。メールログについては、 helper applications page に参考となるツールが掲載されています。それ以外のログについても、LOGFORMATコマンドを記述することで、ある程度の解析を行なうことはできるでしょう。 もっとも、Analog はログファイルの各行から取得される情報について、ある程度仮定して処理を行なっていますので、その仮定と合致しなければ、解析を行なうのは難しくなるでしょう。
    9. Analog を毎日自動的に実行させるようにできますか。
      これは、コンピュータによって異なります。UNIX の場合、Analog を cron のジョブとして実行させてください (「man cron」を参照してください)。 以下は毎日 1:50am に実行するように設定している、わたしの cron コマンドです。
      50 1 * * * $HOME/bin/analog
      Windows NT の場合、at コマンドで同様の設定をすることができます。(これはバッチジョブを設定するための、おそらくもっとも簡単な方法ですが、Administrator のみがこの設定を行なうことができます)。 Windows 98 の場合、タスクスケジューラで同様のことが可能ですが、わたしは試したことがありません。わたしが知る限り、Windows 95 で同様のことを行なう方法はありません。
      Mac の場合、これを行なうためのコマンドとして、 CronCronoTask といったものがあります。
    10. Analog の出力を自動的にわたしや他の人にメールさせるようにするにはどうすればよいのでしょうか。
      これも、OS に依存した質問です。UNIX の場合、簡単です。
      analog +a +O- | mailx -s"Subject" someuser@somewhere.com
      わたしは、それ以外の OS について知りませんが、最悪でも一時ファイルに出力を行なって、それをメールすることができるでしょう。
    11. IIS を設定していますが、どのログファイルの形式を使えば良いのでしょうか。
      W3C フォーマットが多分最善でしょう。このフォーマットでは、各フィールドの有効化、無効化が可能です。またこのフォーマットには、他のフォーマットとは異なり、記録可能なすべてのフィールドが含まれています。この場合、日付がログの先頭部分に書かれるだけにならないよう、必ず日付の項目を有効にするようにしてください。(デフォルトでは無効になっています)。この理由については、problems with logfile formats の章を参照してください。
    12. 多くの仮想ドメインがありますが、Analog でこれらをどのように扱ったらよいでしょうか。
      この件については、How-To 中に説明があります。またexamples ディレクトリ中にも参考になるファイルがあります。 a
    13. Analog を 1 回だけ実行させて幾つかのレポートを出力させることはできませんか。
      現時点ではできません。将来のバージョンでは可能にしたいと思っていますが、とても大変な仕事になりそうです。変更したいオプションにもよりますが、キャッシュファイルを活用することで、ログファイルを何度も読み込むことは避けることもできます。 (これにより高速化が図れますが、更に複雑になります。)
    14. Analog を実行しようとすると、メモリ不足といわれます。どうすればよいでしょうか。
      Coping with low memoryの章を参照してください。
    15. Analog は 10 分で 20,000,000 リクエストを処理するといわれているが、なぜわたしのところでは遅いのでしょうか。
      Analog は停止してしまったかのようです。
      DNS 検索 を有効にしている場合は、動作が非常に遅くなります。それ以外の場合は、コンピュータやディスクの処理速度や同時に実行されている他のプログラムに依存します。処理が停止してしまっているのか、単に遅いだけなのかを確認するには、 PROGRESSFREQ コマンドを使ってください。メモリが足りないという場合は、Analog の LOWMEM コマンドが役に立つでしょう。
    16. Analog のページにリンクをはることはできるのでしょうか。
      anlgform プログラムに対して、渡したいオプションをつけたリンクを作成してください。ただし、サーバの負荷に気をつけてください。
    17. 古いログファイルをすべて保存しておく必要があるのでしょうか。
      もしくは Analog はログファイルをすべての読み込まなくても、古いレポートから情報を生成することができるのでしょうか。
      この質問については、キャッシュファイルの章に回答があります。
    18. Analog はデータベースや表計算ソフトウェアに対して書き込むことはできますか。
      コンピュータ用の出力形式を使ってください。これは CSV 形式で出力させることができます。これを行なう際に、ログファイルを再度読み込まずに Analog を実行させたいという場合は、キャッシュファイルの章を読んでください。

    E. フォームインタフェース

    フォームインタフェースのドキュメントにある troubleshooting の章も参照してください。
    1. フォームを実行できません。
      フォームを使わない状態で Analog がきちんと実行できますか。 トラブルシューティングの章で説明しているように、コマンドラインから anlgform.pl を実行してみてください。
    2. フォームインタフェースでログファイルを指定することができません。
      フォームにname=LOGFILEというフィールドを追加してください。
    3. anlgform.pl をが実行されず、ブラウザに anlgform.pl の内容が表示されてしまいます。
      サーバ上で、CGI プログラムについて、通常のファイルのように内容を表示するのではなく、実行するようにする設定を行なう必要があります。 多くの場合、/cgi-bin/ ディレクトリに置くことで実行可能になります。
    4. フォームインタフェースが「Document Returned no Data(ドキュメントはデータを含んでいません)」と表示するのはなぜですか。
      しばらくしてからこの状態になる場合は、おそらく Analog の処理が完了する前に、サーバがタイムアウトしてしまうのでしょう。サーバ側のタイムアウトの数値を増やしてください。
    5. フォームインタフェースから Analog を実行すると、画像ファイルがうまく表示されません。
      棒グラフについては、IMAGEDIR コマンドを適切に設定する必要があります。画像が /cgi-bin/ ディレクトリにある場合、通常サーバはそれらを表示するのではなく実行しようとしてしまいます。 円グラフは適切な設定を行なわない限り表示されません。
    6. フォームインタフェースからは指定していないレポートが表示されるのはなぜですか。
      そのレポートがフォーム上で包含も除外もされていないのであれば、おそらくシステムのデフォルト設定が使われたのでしょう。これは設定ファイルの内容とコンパイル時の設定とに依存します。
    7. anlgform.html を使わずに、anlgform.pl にリンクをはる方法を教えてください。
      anlgform.plGETPOST いずれのメソッドも受け付けます。そのため、GET メソッドを使って、「?」の後に引数をつけたリンクを作成することができます。
    8. Perl を使わない (ASP や .exe など)フォームインタフェースはありませんか。
      analog helpers pageには、Windows 版の Perl スクリプトの実行ファイル版があります。 このドキュメントを記述している時点では、ASP 版の anlgform プログラムはありませんが、誰かが作成してくれるのであれば、それも analog helpers page に掲載しようと思います。 警告: 作成する場合は、一般的な CGI のセキュリティ問題について理解するとともに、Analog のフォームインタフェースで許可してはいけない事項に関しての Analog 固有の問題 についての理解が必須です。さもなくば、おそらく プログラムがシステムのセキュリティホールになってしまうでしょう。

    F. プログラム設計の考え方

    もしくは "どうしてそうしなかったのか。"
    1. HEADERFILE出力ファイルの「先頭部分」を完全に置き換えないのはどうしてですか。
      多くの場合、これは正しい HTML もしくは XHTML を生成しないことになるからです。代わりに スタイルシート を使ってください。
    2. 画像ファイルを 1 つだけ使って、その幅や長さを width や height タグで指定するようにしないのはどうしてですか。
      このタグも HTML 2.0 にはありません。また BARSTYLE コマンドがうまく動作しません。
    3. XHTML 出力形式で、各セルの代わりになぜ各 <COL> 中で class= を指定しないのですか。
      列に対してほとんどの性質が設定できないからです。例えば、全体の列に対してテキストの色を設定できません。 CSS の仕様 を参照して下さい。
    4. OUTFILE コマンドは、なぜ出力ファイル用にディレクトリを自動的に作成しないのですか。
      実際ほとんどのプログラムはこんな事をしません。もし誤って記述したとき、ファイルシステム中の無関係の部分に簡単にディレクトリが作成されてしまいます。
    5. /robots.txt要求したリクエストを自動的にロボットによるものとして扱わないのはどうしてですか。
      確実性がないからです。すべてのロボットが /robots.txt をリクエストするわけではありませんし、/robots.txt をリクエストするのがロボットだけとは限りません。 (例えば、自分のサイトの /robots.txt をチェックしている Web 管理者を考えてみてください。)
    6. ホストレポートにおいて、DNS によるホストの名前解決を行なわないのはどうしてですか。
      理論上の問題と現実的な問題とが1つずつあります。理論上、DNS 検索が行なわれると、ホストレポートにおいて同じホストに対するホスト名が変わってしまう可能性があります。 また現実的に、この出力によって、もっともアクセスのあった国や組織が特定されるわけでもありませんので、知りたい情報は取得できません。もっとも、helper applications page のページには、この作業を行なう Perl スクリプトが掲載されています。
    7. スレッドを使えば、DNS 検索が早くなりませんか。
      問題となるのは、多くのプラットフォームにおいて、DNS 検索を行なう標準的なコマンドはスレッド対応しておらず、大量のプラットフォームに依存したコードが必要となってしまうことです。また、ログファイルの読みとりスレッドと DNS 検索スレッドを調和させるのは技術的に難しいのです。helper applications page のページに、特定のプラットフォームに依存したプログラムが幾つか掲載されています。
    8. Analog が error_log を解析しないのはなぜですか。
      エラーログはコンピュータの解析用ではなく、人間が読むためのものです。そのため、一定の形式にしたがって出力されているわけではなく、バージョンによっても出力が異なります。また、Analog の 不成功レポートがあれば、ほとんどの目的には充分だと思いますので、エラーログを解析する必要性もあまりありません。
    9. サーバがログファイルにローカルな名前で出力を行なっています。これに自動的に共通のサフィックスを付加する方法はありませんか。
      これをデフォルトで行なってしまうのは、「不明な」ものについてもサフィックスが付加されてしまいますので、好ましいとはいえないでしょう。 You can always add them using HOSTALIAS コマンドを使うことで、自動的にサフィックスを付加することは可能です。 (正規表現を用いた方法について、section about aliasesの章に設定例があります。)
    10. 今月のデータの部分的な伸び率を元にして、1月分のデータの伸びを予測できませんか。
      むりです。月始めは特にそうですが、予測がつかない点が多過ぎます。曜日の違いや時間の違いによっても多くの問題が発生します。わたしは疑わしい予測値よりも、間違いようのない実際の情報を出力する方が好ましいと考えています。
    11. 訪問者がどの(アメリカの)州から訪れたかを集計するために、ドメインレポートを拡張することはできませんか。
      できません。プログラムによっては、これができるかのように説明されているものもありますが、実際のところは使われているコンピュータがどの州にあるかという以上の情報を知ることはできません。またコンピュータの所在についても、ISP やその他の大組織から接続している場合はあてになりません。
    12. OS レポートで各 BSD 系 OS を区別することはできませんか。
      これらが異なる OS であることは承知していますが、これ以上細かな分類を導入したくありません。少なくともメインの配布ではそうしたくありません。 -- BSD パッケージにはこの詳細な分類を付加しても良いと思いますし、良いことだと思います。
    13. 各言語ファイルの名称に、国別コードの代わりに、言語コードを使わないのはどうしてですか。
      国別コードの方がなじみ深いですし、すべての言語に言語コードがあるわけでもありません。またユーザにファイル名が見えることは通常ありません。
    14. Analog が「訪問(visit)」に関する解析を行なわないのはどうしてですか。
      How the Web Worksを参照してください。
    15. Analog を販売しないのはなぜですか。
      わたしはお金のために Analog を作ったわけではありません。皆さんが Analog を使っているのを見ているだけで幸せです。またオープンソースにすることで、多くの人々が将来のバージョンのためのアイディアやコードを送ってきてくれます。 どうやってあの言語ファイルを揃えることができたとお考えですか。(もちろん、お金や、贈物のようなものや、単にはがきを送りたいのであれば、...)

    Analog ホームページ

    Stephen Turner
    23 August 2003

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

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