Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Web Proxy Server 4.0.1 管理ガイド 

第 9 章
ログファイルの使用

複数の方法で、サーバーのアクティビティーを監視することができます。この章では、ログファイルを記録して参照することによって、サーバーを監視する方法について説明します。組み込みのパフォーマンス監視サービス、すなわち SNMP の使用については、「サーバーの監視」を参照してください。

この章では、次の項目について説明します。


ログファイルについて

サーバーのログファイルには、サーバーのアクティビティーが記録されます。このようなログを使用してサーバーを監視すると、障害追跡時に役立ちます。サーバーのルートディレクトリの proxy-server_name/logs/errors にあるエラーログファイルには、サーバーで検出されたすべてのエラーが一覧表示されます。サーバーのルートディレクトリの proxy-server_name/logs/access にあるアクセスログには、サーバーに対する要求とサーバーの応答に関する情報が記録されます。Proxy Server の access ログファイルに記録される情報を設定することができます。サーバーの統計情報を生成するには、ログアナライザを使用します。サーバーのエラーログファイルとアクセスログファイルをアーカイブすることによって、バックアップすることができます。


オペレーションシステムの制限により、Linux 上で稼動している Proxy Server では 2G バイトを超えるログファイルを処理できません。最大サイズに達すると、ロギングが終了します。



UNIX および Windows プラットフォームへのログオン

この節では、ログファイルがどのように作成されるのかについて説明します。さらに、この節では、次の項目についても説明します。

デフォルトのエラーログ

UNIX と Windows のどちらのプラットフォームでも、管理サーバーからのログは、proxy-admserv/logs/ 管理ディレクトリに収集されます。サーバーインスタンスからのログは、proxy-server_name/logs/ ディレクトリに収集されます。

サーバー全体のデフォルトのログレベルを設定することができます。stdoutstderr をサーバーのイベントログにリダイレクトし、ログをオペレーティングシステムのシステムログに出力するようにできます。さらに、stdoutstderr の内容をサーバーのイベントログに出力することもできます。デフォルトでは、ログメッセージは stderr と、指定のサーバーログファイルに送信されます。

syslog を利用したログ

一元的なログ記録が必要となる安定した運用環境では、syslog が適しています。診断とデバッグのためにログ出力が頻繁に必要となる環境では、サーバーインスタンス別のログのほうが管理が容易です。


  • サーバーインスタンスおよび管理サーバーのすべてのログデータが 1 つのファイルに記録される場合、内容を解釈したり、デバッグに利用することが難しくなります。syslog マスターログファイルは、円滑に稼動している配備済みアプリケーションだけで使用することをお勧めします。
  • ログに記録されるメッセージには、Solaris デーモンアプリケーションからのその他のログも含まれています。

syslog ログファイルを syslogd およびシステムログデーモンと組み合わせて使用することで、syslog.conf ファイルを設定して次の処理を行うことができます。

syslog へのログ記録では、Proxy Server およびその他のデーモンアプリケーションからのログが同じファイルに収集されるため、Proxy Server に固有のメッセージと、特定のサーバーインスタンスのメッセージを区別するために、ログメッセージに次の情報が追加されます。

server.xml ファイルでは、管理サーバーとサーバーインスタンスの両方に対して LOG 要素を設定することができます。

UNIX オペレーティング環境で使用される syslog のロギングメカニズムの詳細を参照するには、端末のプロンプトで次の man コマンドを使用します。

man syslog

man syslogd

man syslog.conf

Windows のイベントログを利用したログ

Windows オペレーティング環境で使用されるイベントログメカニズムの詳細を参照するには、Windows のヘルプシステムの索引から「イベントログ」を参照してください。


ログレベル

次の表は、Proxy Server のログレベルとメッセージを重要度の低い順から示しています。

表 9-1 ログレベル

ログレベル

説明

finest

finer

fine

詳細なデバッグメッセージ。finest が最も詳細な情報を示します。

info

通常は、サーバーの設定やサーバーの状態に関する情報を示します。これらのメッセージは、すぐに対応が必要なエラーを示すものではありません。

warning

警告を示します。このメッセージには、例外も含まれます。

failure

アプリケーションの通常の実行の妨げとなる、深刻な障害を示します。

config

特定の設定に関連する問題のデバッグに役立つ設定の各種統計情報に関連しています。

security

セキュリティに関する問題を示します。

catastrophe

致命的なエラーを示します。


ログファイルのアーカイブ

アクセスログファイルとエラーログファイルが自動的にアーカイブされるように設定することができます。指定の時刻、または指定の間隔で、ログがローテーションされます。Proxy Server は、古いログファイルを保存し、そのファイルに保存日時を含む名前を付けます。

たとえば、アクセスログファイルを毎時間ローテーションするように設定すると、Proxy Server は「access.200505160000」という名前を付けてファイルを保存します。ここで、ログファイル名、年、月、日、24 時間形式の時刻は 1 つの文字列で表わされます。ログアーカイブファイルの形式は、設定したログローテーションのタイプによって異なります。

Proxy Server では、内部デーモンログローテーションと Cron ベースのログローテーションの 2 つのタイプのアーカイブファイルのログローテーションを使用できます。

内部デーモンログローテーション

このタイプのローテーションは HTTP デーモン内で行われ、起動時にだけ設定を変更できます。内部デーモンログローテーションでは、サーバーの再起動を必要とせず、サーバーで内部的にログをローテーションできます。この方法でローテーションされるログは、次の形式で保存されます。

access.<YYYY><MM><DD><HHMM>

errors.<YYYY><MM><DD><HHMM>

ログファイルをローテーションし、新しいログファイルでの記録を開始する間隔として使用する時間を指定できます。たとえば、ローテーションの開始時刻が午前 0 時であれば、ローテーション間隔は 1440 分 (1 日) となり、変更を保存して適用すると、現在の時刻に関係なく新しいログファイルが直ちに作成されます。ログファイルは毎日午前 0 時にローテーションされ、アクセスログのタイムスタンプは午前 0 時になり、access.200505172400 という名前で保存されます。同様に、間隔を 240 分 (4 時間) に設定した場合、午前 0 時から 4 時間おきにログがローテーションされます。アクセスログファイルには、午前 0 時から午前 4 時まで、午前 4 時から午前 8 時まで、などというように収集された情報が保存されます。

ログローテーションが有効になっている場合、サーバーの起動時にログファイルのローテーションが開始されます。ローテーションされる最初のログファイルでは、現在時刻から次のローテーション時刻までの間の情報が収集されます。前の例を使用して、開始時刻を午前 0 時に設定し、ローテーションの間隔を 240 分に設定した場合、現在時刻が午前 6 時とすると、ローテーションされる最初のログファイルには午前 6 時から午前 8 時の間に収集された情報、次のログファイルには午前 8 時から午後 12 時 (正午) までの間に収集された情報、などというように保存されます。

スケジューラベースのログローテーション

このタイプのローテーションは、server_root/proxy-server_name/config/ ディレクトリの server.xml ファイルに記録される時刻と日付を基準にします。この方法では、すぐにログファイルをアーカイブすることも、サーバーで特定の日の特定の時間にログファイルをアーカイブするように設定することもできます。サーバーのスケジューラ設定オプションは、server_root/proxy-server_name/config/ ディレクトリの server.xml ファイルに保存されます。スケジューラベースの方法でローテーションされるログは、次の形式で保存されます。

<original_filename>.<YYYY><MM><DD><HHMM>

たとえば、午後 4 時 30 分にローテーションされる accessaccess.200505171630 という名前になります。

ログローテーションは、サーバーの起動時に初期化されます。ローテーションを有効にすると、Proxy Server はタイムスタンプの付いたアクセスログファイルを作成し、ローテーションがサーバーの起動時に開始されます。

ローテーションが開始されると、アクセスログファイルまたはエラーログファイルに記録する必要のある要求やエラーがあり、事前にスケジュールされている「次のローテーション時」の後にその要求やエラーが発生した場合、Proxy Server で新しいタイムスタンプの付いたログファイルが作成されます。


ログアナライザを実行する前に、サーバーログをアーカイブする必要があります。


ログファイルをアーカイブし、内部デーモンの方法とスケジュールベースの方法のどちらを使用するかを指定するには、サーバーマネージャーで「Archive Log」ページを使用します。


アクセスログの詳細設定

インストール中、サーバーに access という名前のアクセスログファイルが作成されます。アクセスをログに記録するかどうか、ログの記録に使用する形式、クライアントがリソースにアクセスした場合にサーバーでそのクライアントのドメイン名を検索する必要があるかどうかを指定することによって、リソースへのアクセスログをカスタマイズできます。

ログの詳細設定を指定するには、サーバーマネージャーの「Set Access Log Preferences」ページを使用するか、または obj.conf ファイルで次の指令を手動で設定します。obj.conf では、サーバーは関数 flex-init を呼び出してフレキシブルロギングシステムを初期化し、関数 flex-log を呼び出して要求された特定のデータをフレキシブルログ形式で記録します。共通ログファイル形式を使用して要求をログに記録するには、サーバーは init-clf を呼び出して obj.conf で使用される共通ログのサブシステムを初期化し、common-log を呼び出して要求された特定のデータを (ほとんどの HTTP サーバーで使用される) 共通ログ形式で記録します。

リソースのアクセスログが作成されると、そのログをアーカイブする場合や、同じリソースに対して新しいアクセスログファイルを作成する場合を除いて、アクセスログの形式を変更することはできません。

既存のログファイルの形式を変更する場合は、最初に既存のログファイルを削除するか、名前を変更します。あるいは、別のファイル名を使用します。

管理サーバーのアクセスログ詳細設定を設定するには
  1. 管理サーバーにアクセスして、「Preferences」タブをクリックします。
  2. 「Set Access Log Preferences」リンクをクリックします。「Set Access Log Preferences」ページが表示されます。
  3. ドロップダウンリストからリソースを選択するか、「Regular Expression」ボタンをクリックして正規表現を入力し、「了解」をクリックします。
  4. クライアントアクセスを記録するかどうかを指定します。この指定では、ドメインネームサービス (DNS) を有効にする必要があります。
  5. アクセスログファイルの絶対パスを指定します。デフォルトで、ログファイルはサーバールートのログディレクトリに保存されます。部分パスを指定した場合、サーバーは、パスがサーバールートのログディレクトリを基準にしているものと見なします。
  6. サーバー全体を編集する場合、このフィールドのデフォルト値は、設定ファイルでサーバーのアクセスログファイルを表す変数、$accesslog です。

  7. サーバーにアクセスするシステムのドメイン名または IP アドレスをアクセスログに記録するかどうかを指定します。
  8. アクセスログで使用するログファイル形式の種類を選択します。次のオプションが利用できます。
    • 「Use Common LogFile Format」: クライアントのホスト名、認証されたユーザー名、要求日時、HTTP ヘッダー、クライアントに返される状態コード、クライアントに送信されるドキュメントのコンテンツ長などが含まれています。
    • 「Only Log」: ログに記録する情報を選択できます。次のフレキシブルログ形式の項目から選択できます。
      • 「Client Hostname」: アクセスを要求するクライアントのホスト名 (DNS が無効の場合は IP アドレス)。
      • 「Authenticate User Name」: 認証が必要だった場合、認証されたユーザー名をアクセスログに記録することができます。
      • 「System Date」: クライアント要求の日時。
      • 「Full Request」: クライアントからの完全な要求。
      • 「状態」: サーバーからクライアントに返された状態コード。
      • 「Content Length」: クライアントに送信されるドキュメントのコンテンツ長 (バイト数)。
      • 「HTTP Header, "referer"」: referer はクライアントが現在のページにアクセスを行ったページを特定します。たとえば、ユーザーがテキスト検索クエリーの結果を調べていた場合、referer にはユーザーがテキスト検索エンジンにアクセスしたページが入ります。Referers により、サーバーは逆走査したリンクのリストを作成できます。
      • 「HTTP Header, "user-agent"」: クライアントが使用しているブラウザの種類とそのバージョン、およびブラウザが実行されているオペレーティングシステムが含まれるユーザーエージェント情報は、クライアントがサーバーに送信する HTTP ヘッダー情報のユーザーエージェントフィールドから取得されます。
      • 「Method」: 使用される HTTP 要求メソッド。GET、PUT、POST など。
      • 「URI」: Universal Resource Identifier の略。サーバー上のリソースの場所。たとえば、http://www.a.com:8080/special/docs の場合、URI は special/docs になります。
      • 「Query String Of The URI」: URL の疑問符に続く文字列。たとえば、http://www.a.com:8080/special/docs?find_this の場合、URI のクエリー文字列は find_this になります。
      • 「Protocol」: 使用される転送プロトコルとバージョン。
    • カスタム形式を選択する場合、「Custom Format」フィールドに入力します。
  9. 「了解」をクリックします。
  10. 「Restart Required」をクリックします。「Apply Changes」ページが表示されます。
  11. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。
サーバーインスタンスのアクセスログ詳細設定を設定するには
  1. サーバーマネージャーにアクセスし、「Server Status」タブをクリックします。
  2. 「Set Access Log Preferences」リンクをクリックします。「Set Access Log Preferences」ページが表示されます。
  3. ドロップダウンリストからリソースを選択するか、「Regular Expression」ボタンをクリックして正規表現を入力し、「了解」をクリックします。
  4. クライアントアクセスを記録するかどうかを指定します。この指定では、ドメインネームサービス (DNS) を有効にする必要があります。
  5. アクセスログファイルの絶対パスを指定します。デフォルトで、ログファイルはサーバールートのログディレクトリに保存されます。部分パスを指定した場合、サーバーは、パスがサーバールートのログディレクトリを基準にしているものと見なします。
  6. サーバー全体を編集する場合、このフィールドのデフォルト値は、設定ファイルでサーバーのアクセスログファイルを表す変数、$accesslog です。

  7. サーバーにアクセスするシステムのドメイン名または IP アドレスをアクセスログに記録するかどうかを指定します。
  8. ログファイルの形式を、共通、拡張、拡張 2、指定した情報のみ (「Only log」ラジオボタン)、またはカスタムから選択します。「Only log」をクリックした場合、次のフレキシブルログ形式の項目から選択できます。
  9. アクセスログで使用するログファイル形式の種類を選択します。サーバーアクセスログは、共通ログファイル形式、拡張ログファイル形式、拡張 2 ログファイル形式、フレキシブルログ形式、または独自のカスタマイズ可能な形式にすることができます。共通ログファイル形式は一般的にサポートされている形式で、サーバーに関する一定量の情報が提供されます。フレキシブルログ形式では、(Proxy Server から) ログに記録するコンテンツを選択できます。カスタマイズ可能な形式では、パラメータブロックを指定してログのコンテンツを制御します。
    • 「Use Common LogFile Format」: クライアントのホスト名、認証されたユーザー名、要求日時、HTTP ヘッダー、クライアントに返される状態コード、クライアントに送信されるドキュメントのコンテンツ長などが含まれています。
    • 「Use Extended LogFile Format」: 共通ログファイル形式のすべてのフィールドだけでなく、リモート状態、プロキシからクライアントまでのコンテンツ長、リモートからプロキシまでのコンテンツ長、プロキシからリモートまでのコンテンツ長、クライアントからプロキシまでのヘッダー長、プロキシからクライアントまでのヘッダー長、プロキシからリモートまでのヘッダー長、リモートからプロキシまでのヘッダー長、転送時間などのいくつかの追加フィールドが含まれています。
    • 「Use Extended2 LogFile Format」: 拡張ログファイル形式のすべてのフィールドだけでなく、クライアント状態、サーバー状態、リモート状態、キャッシュ完了状態、実際の経路などのいくつかの追加フィールドが含まれています。
    • 「Only Log」: ログに記録する情報を選択できます。次のフレキシブルログ形式の項目から選択できます。
      • 「Client Hostname」: アクセスを要求するクライアントのホスト名 (DNS が無効の場合は IP アドレス)。
      • 「Authenticate User Name」: 認証が必要だった場合、認証されたユーザー名をアクセスログに記録することができます。
      • 「System Date」: クライアント要求の日時。
      • 「Full Request」: クライアントからの完全な要求。
      • 「状態」: サーバーからクライアントに返された状態コード。
      • 「Content Length」: クライアントに送信されるドキュメントのコンテンツ長 (バイト数)。
      • 「HTTP Header, "referer"」: referer はクライアントが現在のページにアクセスを行ったページを特定します。たとえば、ユーザーがテキスト検索クエリーの結果を調べていた場合、referer にはユーザーがテキスト検索エンジンにアクセスしたページが入ります。Referers により、サーバーは逆走査したリンクのリストを作成できます。
      • 「HTTP Header, "user-agent"」: クライアントが使用しているブラウザの種類とそのバージョン、およびブラウザが実行されているオペレーティングシステムが含まれるユーザーエージェント情報は、クライアントがサーバーに送信する HTTP ヘッダー情報のユーザーエージェントフィールドから取得されます。
      • 「Method」: 使用される HTTP 要求メソッド。GET、PUT、POST など。
      • 「URI」: Universal Resource Identifier の略。サーバー上のリソースの場所。たとえば、http://www.a.com:8080/special/docs の場合、URI は special/docs になります。
      • 「Query String Of The URI」: URL の疑問符に続く文字列。たとえば、http://www.a.com:8080/special/docs?find_this の場合、URI のクエリー文字列は find_this になります。
      • 「Protocol」: 使用される転送プロトコルとバージョン。
      • 「Cache Finish Status」: このフィールドは、「キャッシュが書き込まれた」、「キャッシュが更新された」、「最新状態チェックを行なった結果キャッシュの内容が返された」のうち、どの状態であるかを示します。
      • 「Remote Server Finish Status」: このフィールドは、リモートサーバーへの要求が正常に完了したか、クライアントが Netscape Navigator で「停止」ボタンをクリックしたことにより中断されたか、またはエラー条件により中止されたかどうかを示します。
      • 「Status Code From Server」: サーバーから返された状態コード。
      • 「Route To Proxy (PROXY, SOCKS, DIRECT)」: リソースの取得に使用される経路。ドキュメントは直接、プロキシ経由、または SOCKS サーバー経由で取得できます。
      • 「Transfer Time」: 転送時間の長さ (秒またはミリ秒)。
      • 「Header-length From Server Response」: サーバー応答のヘッダーの長さ。
      • 「Request Header Size From Proxy To Server」: プロキシからサーバーへの要求ヘッダーのサイズ。
      • 「Response Header Size Sent To Client」: クライアントに送信される応答ヘッダーのサイズ。
      • 「Request Header Size Received From Client」: クライアントから受信する要求ヘッダーのサイズ。
      • 「Content-length From Proxy To Server Request」: プロキシからサーバーに送信されるドキュメントの長さ (バイト)。
      • 「Content-length Received From Client」: クライアントからのドキュメントの長さ (バイト)。
      • 「Content-length From Server Response」: サーバーからのドキュメントの長さ (バイト)。
      • 「Unverified User From Client」: 認証時にリモートサーバーに渡されるユーザー名。
    • カスタム形式を選択する場合、「Custom Format」フィールドに入力します。
  10. 特定のホスト名または IP アドレスからのクライアントアクセスを記録しない場合は、ホスト名と IP アドレスのフィールドにそれぞれ入力します。アクセス記録を残さないサーバーのホストのワイルドカードパターンを入力します。たとえば、*.example.com と入力した場合、ドメイン example.com のユーザーからのアクセスはログに記録されません。ワイルドカードパターンは、ホスト名、IP アドレス、または両方について入力できます。
  11. ログファイルに書式文字列を含めるかどうかを選択します。Proxy Server のログアナライザを使用する場合、書式文字列を含める必要があります。サードパーティ製のアナライザを使用する場合、ログファイルに書式文字列を含める必要はありません。
  12. 「了解」をクリックします。
  13. 「Restart Required」をクリックします。「Apply Changes」ページが表示されます。
  14. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

Cookie を使用した簡易ロギング

Proxy Server には、flexlog 機能を使用して簡単に特定の cookie のログを記録する方法があります。obj.conf 設定ファイル内の flex-log サブシステムを初期化する行に「Req->headers.cookie.cookie_name」を追加します。これによって、要求のヘッダーに cookie 変数がある場合は cookie 変数 cookie_name の値がログに記録され、cookie 変数がない場合は「-」が記録されます。


エラーロギングオプションの設定

Proxy Server では、サーバーのエラーログに記録される情報を設定することができます。

エラーロギングオプションを設定するには
  1. エラーロギングオプションを管理サーバーから設定するには、「Preferences」タブを選択し、「Set Error Log Preferences」リンクをクリックします。
  2. サーバーインスタンスのエラーロギングオプションをサーバーマネージャーから設定するには、「Server Status」タブを選択し、「Set Error Log Preferences」リンクをクリックします。

  3. 「Error Log File Name」フィールドに、サーバーからのメッセージを保存するファイルを指定します。
  4. 「Log Level」ドロップダウンリストから、エラーログに記録する必要のある情報量を指定します。次のオプションが利用できます。
  5. stdout 出力がエラーログにリダイレクトされるようにする場合は、「Log Stdout」チェックボックスを選択します。
  6. stderr 出力がエラーログにリダイレクトされるようにする場合は、「Log Stderr」チェックボックスを選択します。
  7. コンソールにログメッセージをリダイレクトする場合は、「Log To Console」チェックボックスを選択します。
  8. UNIX の syslog サービスまたは Windows のイベントログを使用してログを生成および管理する場合は、「Use System Logging」チェックボックスを選択します。
  9. 「了解」をクリックします。
  10. 「Restart Required」をクリックします。「Apply Changes」ページが表示されます。
  11. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。


LOG 要素の設定

次の表は、server.xml ファイル内で設定できる LOG 要素の属性を示しています。

表 9-2 LOG 属性

属性

デフォルト

説明

file

errors

サーバーからのメッセージを格納するファイルを指定します。

loglevel

info

その他の要素によってエラーログに記録されるメッセージのデフォルトタイプを制御します。指定できる値は、次のとおりです (詳細度が高いものから)。

finestfinefineinfowarningfailureconfig, security、および catastrophe

logstdout

true

(オプション) true に設定した場合、stdout の出力がエラーログにリダイレクトされます。有効な値は、onoffyesno10truefalse です。

logstderr

true

(オプション) true に設定した場合、stderr の出力がエラーログにリダイレクトされます。有効な値は、onoffyesno10truefalse です。

logtoconsole

true

(オプション、UNIX のみ) true に設定した場合、ログメッセージがコンソールにリダイレクトされます。

createconsole

false

(オプション、Windows のみ) true に設定した場合、stderr 出力用の Windows コンソールが作成されます。有効な値は、onoffyesno10truefalse です。

usesyslog

false

(オプション) true に設定した場合、ログの生成と管理に UNIX の syslog サービス、または Windows のイベントログが使用されます。有効な値は、onoffyesno10truefalse です。


アクセスログファイルの表示

サーバーで使用中のアクセスログファイル、およびアーカイブされたアクセスログファイルを参照できます。

管理サーバーのアクセスログを管理サーバーから表示するには、「Preferences」タブを選択し、「View Access」リンクをクリックします。

サーバーインスタンスのアクセスログをサーバーマネージャーから表示するには、「Server Status」タブを選択し、「View Access」ページを選択します。

次の内容は、共通ログファイル形式のアクセスログの例です。ログファイルの形式は、「Log Preferences」ウィンドウで指定します。詳細は、「アクセスログの詳細設定」を参照してください。

198.18.17.222 - - [20/May/2005:14:15:49 +0530] "GET http://www.example.com/ HTTP/1.1" 504 622

198.18.17.222 - abc [20/May/2005:14:16:09 +0530] "GET http://www.test.com/report.zip HTTP/1.1" 504 630

表 9-3 では、このサンプルアクセスログの最後の行について説明します。

表 9-3 サンプルアクセスログファイルの最後の行のフィールド 

アクセスログフィールド

クライアントのホスト名または IP アドレス

198.18.17.222。この例では、Proxy Server の DNS 検索の設定が無効になっているため、クライアントの IP アドレスが表示されています。DNS 検索が有効に設定されている場合、クライアントのホスト名が表示されます。

RFC 931 情報

- (RFC 931 の識別情報は表示されない)

ユーザー名

abc (認証のためにクライアントによって入力されたユーザー名)

要求の日時

20/May/2005:14:16:09 +0530

要求

GET

プロトコル

HTTP/1.1

状態コード

504

転送されたバイト

630


エラーログファイルの表示

エラーログファイルには、ログファイルが作成されてからサーバーで検出されたエラーが記録されます。また、このログファイルにはサーバーの起動時などのサーバーに関する情報メッセージも記録されます。エラーログには、失敗したユーザー認証も記録されます。エラーログを使用して、誤った URL パスや不足しているファイルを見つけることもできます。

管理サーバーのエラーログファイルを管理サーバーから表示するには、「Preferences」タブを選択し、「View Error Log」リンクをクリックします。

サーバーインスタンスのエラーログファイルを管理サーバーから表示するには、「Server Status」タブを選択し、「View Error Log」リンクをクリックします。

次に、エラーログの 3 つのエントリ例を示します。

20/May/2005:14:08:37] info ( 6141):CORE1116:Sun Java System Web Proxy Server 4.0 B05/10/2005 01:26

20/May/2005:14:08:37] info ( 6142):CORE3274:successful server startup

20/May/2005:14:08:37] security (23246): for host 198.18.148.89 trying to GET /, deny-service reports:denying service of /


ログアナライザの使用

server_root/extras/log_anly ディレクトリには、サーバーマネージャーのユーザーインタフェースから実行するログ分析ツールがあります。このログアナライザは、共通ログ形式のファイルだけを分析します。log_anly ディレクトリにある HTML ドキュメントに、このツールのパラメータが説明されています。server-install/extras/flexanlg ディレクトリには、フレキシブルログファイル形式用のコマンド行ログアナライザがあります。ただし、サーバーマネージャーのデフォルト設定では、選択したファイル形式に関係なく、フレキシブルログファイルレポートツールを使用するように設定されています。

ログアナライザを使用して、アクティビティの要約、もっとも頻繁にアクセスされる URL、サーバーがもっとも頻繁にアクセスされる時間など、デフォルトサーバーの統計情報を生成します。ログアナライザは、Proxy Server から実行することも、コマンド行から実行することもできます。

flexanlg コマンド行ユーティリティーを実行する前に、ライブラリパスを設定する必要があります。各種プラットフォームでの設定は、次のとおりです。

Solaris および Linux:

LD_LIBRARY_PATH=server_root/bin/proxy/lib:$LD_LIBRARY_PATH

AIX:

LIBPATH=server_root/bin/proxy/lib:$LIBPATH

HP-UX:

SHLIB_PATH=server_root/bin/proxy/lib:$SHLIB_PATH

Windows:

path=server_root¥bin¥proxy¥bin;%path%


ログアナライザを実行する前に、サーバーログをアーカイブする必要があります。サーバーログのアーカイブについては、「ログファイルのアーカイブ」を参照してください。


ライブラリパスを設定する代わりに、server_root/proxy-serverid ディレクトリに変更を行った後、コマンドプロンプトで ./start -shell と入力することもできます。

拡張または拡張 2 ロギング形式を使用する場合、ログアナライザは報告用に指定した情報のほかに、出力ファイルに複数のレポートを生成します。次の節では、これらのレポートについて説明します。

転送時間分散レポート

転送時間分散レポートには、Proxy Server が要求の転送に要する時間が示されます。このレポートには、情報がサービス時間別、および完了率別に分類されて表示されます。次は転送時間分散レポートの例です。

サービス時間カテゴリ別:

< 1 sec [644%] ........................................

< 2 sec [33.3%] ....................

< 3 sec [ 2.7%] .

< 4 sec [ 1.7%] .

< 5 sec [ 0.6%]

< 6 sec [ 0.4%]

< 7 sec [ 0.2%]

< 8 sec [ 0.0%]

< 9 sec [ 0.0%]

完了率別:

< 1 sec [64.4%] ........................................

< 2 sec [97.7%] ....................................

< 3 sec [100.4%]..............................................

状態コードレポート

状態コードレポートには、Proxy Server がリモートサーバーから受信した状態コード、およびクライアントに送信した状態コードの内容と数が示されます。この状態コードレポートには、これらのすべての状態コードの説明も表示されます。次は状態コードレポートの例です。

Code

-From remote-

-To client-

-Explanation-

200

338  [70.7%]

352  [73.6%]

了解

302

33  [ 6.9%]

36  [ 7.5%]

Redirect

304

90  [18.8%]

99  [20.7%]

Not modified

404

3  [ 0.6%]

3  [ 0.6%]

Not found

407

5  [ 1.0%]

Proxy authorization required

500

2  [ 0.4%]

Internal server error

504

6  [ 1.3%]

Gateway timeout

データフローレポート

データフローレポートには、クライアントからプロキシ、プロキシからクライアント、プロキシからリモートサーバー、およびリモートサーバーからプロキシへのデータフロー (転送バイト数) が示されます。これらの各シナリオについて、レポートには転送されたデータの量がヘッダーおよびコンテンツの形式で示されます。データフローレポートには、キャッシュからクライアントへのデータフローも示されます。次はデータフローレポートの例です。

Headers

Content

合計

- Client -> Proxy.........

0 MB

0 MB

0 MB

- Proxy  -> Client...........

0 MB

2 MB

3 MB

- Proxy  -> Remote...........

0 MB

0 MB

0 MB

- Remote -> Proxy..........

0 MB

2 MB

2 MB

Approx:

- Cache  -> Client...........

0 MB

0 MB

0 MB

要求と接続レポート

要求と接続レポートには、Proxy Server がクライアントから受信した要求数、プロキシからリモートサーバーに設定した接続数 (初期取得、最新状態チェック、更新)、Proxy Server がキャッシュされたドキュメントを使用することにより回避したリモート接続数が示されます。次は要求と接続レポートの例です。

- Total requests.............      478

- Remote connections.........      439

- Avoided remote connects....       39 [ 8.2%]

キャッシュパフォーマンスレポート

キャッシュパフォーマンスレポートには、クライアントのキャッシュ、Proxy Server のキャッシュ、直接の接続のパフォーマンスが示されます。

クライアントのキャッシュ


クライアントのキャッシュのヒットは、クライアントがドキュメントで最新状態チェックを実行し、リモートサーバーが 304 メッセージ、すなわちクライアントにドキュメントが変更されなかったことを伝えるメッセージが返された場合に起こります。クライアントにより開始される最新状態チェックから、クライアントがドキュメントの独自のコピーがキャッシュにあることが示されます。


クライアントのキャッシュについては、レポートに次の内容が示されます。

プロキシのキャッシュ

プロキシのキャッシュのヒットは、クライアントが Proxy Server からドキュメントを要求し、Proxy Server のキャッシュにすでにドキュメントがある場合に起こります。Proxy Server のキャッシュのヒットの場合、レポートに次の内容が示されます。

組み合わせたプロキシのキャッシュのヒット

組み合わせたプロキシのキャッシュのヒットの場合、レポートに次の内容が示されます。

直接のトランザクション

直接のトランザクションとは、キャッシュにヒットせずに、直接リモートサーバーから Proxy Server、そしてクライアントに送られるトランザクションです。直接のトランザクションの場合、レポートに次の内容が示されます。

次はキャッシュパフォーマンスレポートの例です。

CLIENT CACHE:

- Client & proxy cache hits...86 reqs [18.0%] 0.21 sec/req
- Proxy shortcut no-check
........13 reqs [2.7%] 0.00 sec/req
- Client cache hits only
.....
- TOTAL client cache hits..........99 reqs [20.7%] 0.18 sec/req

PROXY CACHE:

- Proxy cache hits w/check........4 reqs [0.8%] 0.50 sec/req
- Proxy cache hits w/o check
..10 reqs [2.1%] 0.00 sec/req
- Pure proxy cache hits
......14 reqs [2.9%] 0.14 sec/req

PROXY CACHE HITS COMBINED:

- TOTAL proxy cache hits.......113 reqs [23.6%] 0.18 sec/req

DIRECT TRANSACTIONS:

- Retrieved documents..313 reqs [65.5%]  0.90 sec/req 2 MB
- Other transactions
..52 reqs [10.9%] 7.79 sec/req
- TOTAL direct traffic
..365 reqs [76.4%] 1.88 sec/req 2 MB

転送時間レポート

転送時間レポートには、Proxy Server がトランザクションの処理に要した時間に関する情報が示されます。このレポートには、次のカテゴリの値が示されます。

平均トランザクション時間: ログに記録されたすべての転送時間の平均。

キャッシュがない場合の転送時間の平均: キャッシュから返されないトランザクション (リモートサーバーからの 200 の応答) の転送時間の平均。

エラーがない場合のキャッシュの平均: エラーがないトランザクション (状態コードが 2xx と 3xx) の転送時間の平均。

平均転送時間の向上: 平均トランザクション時間から、エラーがない場合のキャッシュの平均転送時間を引いた時間。

次は転送時間レポートの例です。

- Average transaction time...1.48 sec/req
- Ave xfer time w/o caching
..0.90 sec/req
- Ave w/caching, w/o errors
..0.71 sec/req
- Ave xfer time improvement
..0.19 sec/req

毎時アクティビティレポート

分析された各時間について、毎時アクティビティレポートに次の内容が示されます。

Proxy Server のキャッシュにヒットせず、リモートサーバーから直接ドキュメントを取得した要求数

サーバーマネージャーからログアナライザを実行するには
  1. サーバーマネージャーにアクセスし、「Server Status」タブをクリックします。
  2. 「Generate Report」リンクをクリックします。「Generate Report」ページが表示されます。
  3. サーバー名を入力します。この名前は生成されるレポートに表示されます。
  4. レポートを HTML 形式または ASCII 形式で表示するかどうかを指定します。
  5. 分析するログファイルを選択します。
  6. 結果をファイルに保存する場合は、「Output File」フィールドに出力ファイル名を入力します。このフィールドを空白のままにすると、レポート結果は画面に出力されます。大容量ログファイルの場合、画面への出力に時間がかかる場合があるため、結果をファイルに保存するようにしてください。
  7. 特定のサーバー統計用に合計を生成するかどうかを指定します。次の合計を生成できます。
    • 合計ヒット数: アクセスログが有効になってから、サーバーが受信した合計ヒット数。
    • 304 (変更なし) 状態コード: サーバーによりページが返されるのではなく、要求したドキュメントのローカルコピーが使用された回数。
    • 302 (リダイレクト) 状態コード: 元の URL が移動したため、サーバーが新しい URL にリダイレクトした回数。
    • 404 (見つかりません) 状態コード: サーバーが要求されたドキュメントを見つけられなかった回数、またはクライアントが承認されたユーザーではなかったためサーバーがドキュメントを提供しなかった回数。
    • 500 (サーバーエラー) 状態コード: サーバー関連のエラーが発生した回数。
    • 固有の URL の合計数: アクセスログが有効になってからアクセスされた固有の URL の数。
    • 固有のホストの合計数: アクセスログが有効になってからサーバーにアクセスした固有のホスト数。
    • 合計転送量 (K バイト): アクセスログが有効になってからサーバーが転送した K バイト数。
  8. 一般統計を生成するかどうかを選択します。統計の生成を選択する場合、次の項目から選択します。
  9. 「Find Top Number Seconds Of Log」: 最新の統計対象期間 (秒) からの情報に基づいて、統計情報を生成します。
  10. 「Find Top Number Minutes Of Log」: 最新の統計対象期間 (分) からの情報に基づいて、統計情報を生成します。
  11. 「Find Top Number Hours Of Log」: 最新の統計対象期間 (時間) からの情報に基づいて、統計情報を生成します。
  12. 「Find Number Users (If Logged)」: ユーザーの数からの情報に基づいて統計を生成します。
  13. 「Find Top Number Referers (If Logged)」: referrer の数からの情報に基づいて情報を生成します。
  14. 「Find Top Number User Agents (If Logged)」: ブラウザの種類、ブラウザのバージョン、オペレーティングシステムなど、ユーザーエージェントに関する情報に基づいて統計を生成します。
  15. 「Find Top Number Miscellaneous Logged Items (If Logged)」: ユーザーの数からの情報に基づいて統計を生成します。
  16. リストを生成するかどうかを選択します。リストの生成を選択する場合、次のリストからリストを生成する項目を指定します。
    • 「URLs Accessed」: アクセスされた URL を表示します。
      • Number Most Commonly Accessed URL」: 最も頻繁にアクセスされた URL、またはアクセス回数が指定数を超えた URL を表示します。
      • 「URLs That Were Accessed More Than Number Times」: 指定された回数よりも多くアクセスされた URL を表示します。
    • 「Hosts Accessing Your Server」: Proxy Server にアクセスしたホストを表示します。
      • Number Hosts Most Often Accessing Your Server」: 最も頻繁にサーバーにアクセスするホスト、または指定された回数を超えてサーバーにアクセスしたホストを表示します。
      • 「Hosts That Accessed Your Server More Than Number Times」: 指定された回数よりも多くサーバーにアクセスしたホストを表示します。
  17. 結果を表示する順序を指定します。レポートの各セクションで表示する次の項目の順序を 1 〜 3 番目まで指定します。項目をいずれも生成しない場合、そのセクションは自動的に省略されます。オプションには次のものがあります。
    • Find Totals
    • General Statistics
    • Make Lists
  18. 「了解」をクリックします。新しいウィンドウにレポートが表示されます。
コマンド行からログアナライザを実行するには

コマンド行からアクセスログファイルを分析するには、flexanlg ツールを実行します。このツールは server-install/extras/flexanlg ディレクトリにあります。

flexanlg を実行するには、コマンドプロンプトに以下のコマンドとオプションを入力します。

./flexanlg [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [-o file][-c opts] [-t opts] [-l opts]

* の付いているオプションは繰り返すことができます。

次に構文を説明します。flexanlg -h. を入力すると、この情報をオンラインで入手で きます。

-P:proxy log format                                  Default:no

-n servername:The name of the server

-x :Output in HTML                                   Default:no

-r :Resolve IP addresses to hostnames                Default:no

-p [c,t,l]:Output order (counts, time stats, lists)  Default:ctl

-i filename: Input log file                           Default:none

-o filename:Output log file                        Default:stdout

-m filename: Meta file                                Default:none

-c [h,n,r,f,e,u,o,k,c,z]:Count these item(s) -                   Default:hnreuokc

    h:total hits

    n:304 Not Modified status codes (Use Local Copy)

    r:302 Found status codes (Redirects)

    f:404 Not Found status codes (Document Not Found)

    e:500 Server Error status codes (Misconfiguration)

    u:total unique URL's

    o:total unique hosts

    k:total kilobytes transferred

    c:total kilobytes saved by caches

    z:Do not count any items.

-t [sx,mx,hx, xx,z]: Find time stats -      Default:s5m5h10u10a10r10x10

    s(number):Find top (number) seconds of log

    m(number):Find top (number) minutes of log

    h(number):Find top (number) hours of log

    u(number):Find top (number) users of log

    a(number): Find top (number) user agents of log

    r(number):Find top (number) referers of log

    x(number):Find top (number) for miscellaneous keywords

    z: Do not find any time stats.

-l [cx,hx]: Make a list of -                          Default:c+3h5

    c(x,+x): Most commonly accessed URL's

            (x:Only list x entries)

             (+x:Only list if accessed more than x times)

    h(x,+x):Hosts (or IP addresses) most often accessing your server

             (x:Only list x entries)

             (+x:Only list if accessed more than x times)

    z: Do not make any lists.


イベントの表示 (Windows)

Proxy Server は、エラーをサーバーエラーログに記録しますが、深刻なシステムエラーはイベントビューアにもログ記録します。イベントビューアでは、システム上のイベントを監視できます。イベントビューアを使用して、基本設定での問題によって発生したエラーを参照します。この問題は、エラーログが開けるようになる前に発生する可能性があります。

イベントビューアを使用するには
  1. 「スタート」メニューから、「プログラム」、「管理ツール」を順に選択します。「管理ツール」プログラムグループで「イベントビューア」を選択します。
  2. 「ログ」メニューの「アプリケーション」を選択します。
  3. 「イベントビューア」に「アプリケーションログ」が表示されます。Proxy Server のエラーには、 proxy-serverid というソースラベルが付いています。

  4. 「表示」メニューの「検索」を選択すると、ログ内でこのようなラベルを検索できます。「表示」メニューの「最新の情報に更新」を選択すると、更新されたログエントリを表示できます。
  5. イベントビューアについては、使用しているシステムのマニュアルを参照してください。



前へ      目次      索引      次へ     


Part No: 819-3160.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.