ロードバランサプラグインは、Web サーバーのログメカニズムを使用してメッセージを書き込みます。Application Server のデフォルトのログレベルは、Sun Java System Web Server ( INFO)、Apache Web Server (WARN)、およびMicrosoft IIS (INFO) のデフォルトのログレベルに設定されています。アプリケーションサーバーのログレベルである FINE、FINER、および FINEST は、Web サーバーの DEBUG レベルに対応します。
これらのログメッセージは Web サーバーのログファイルに書き込まれます。これらは raw データ形式で、スクリプトを使用して解析されるかまたは表計算ドキュメントにインポートされて、必要なメトリックスを計算します。
ロードバランサプラグインは、次の種類のログメッセージを生成します。
これらのメッセージは、べき等 URL とエラーページ設定を使用している場合に記録されます。
べき等 URL のパターン設定の出力には、次の情報が含まれます。
ログレベルが FINE に設定されている場合:
CONFxxxx: IdempotentUrlPattern によって、Web モジュール <web-module> に対する <url-pattern> <no-of-retries> が設定されました
ログレベルが SEVERE に設定されている場合:
CONFxxxx: loadbalancer.xml の Web モジュール <web-module> に対するべき等 URL 要素 <url-pattern> のエントリが重複しています
ログレベルが WARN に設定されている場合:
CONFxxxx: Web モジュール <web-module> の IdempotentUrlPatternData <url-pattern> が無効です
エラーページの URL 設定の出力には、次の情報が含まれます (ログレベルが WARN に設定されている場合)。
CONFxxxx: Web モジュール <web-module> の error-url が無効です
これらのログメッセージは、要求が負荷分散およびディスパッチされている間に生成されます。
各メソッドの起動の標準的なログの出力には、次の情報が含まれます (ログレベルが FINE に設定されている場合)。
ROUTxxxx: ルーターメソッド <method_name> を実行しています
各メソッドの起動のルーターログの出力には、次の情報が含まれます (ログレベルが INFO に設定されている場合)。
ROUTxxxx: べき等要求 <Request-URL> に対する別の ServerInstance の選択に成功しました
実行時ログの出力には、次の情報が含まれます (ログレベルが INFO に設定されている場合)。
RNTMxxxx: べき等の <GET/POST/HEAD> 要求 <Request-URL> を再試行しています
これらのエラーは、参照先のカスタムエラーページがなくなっているなど、設定上の問題がある場合に表示されます。
ログレベルが INFO に設定されている場合:
ROUTxxxx: 非べき等要求 <Request-URL> は、再試行されません
次に例を示します。ROUTxxxx: 非べき等要求 http://sun.com/addToDB?x=11&abc=2 は、再試行されません
ログレベルが FINE に設定されている場合:
RNTMxxxx: Web モジュール <web-module> に対するカスタムエラー URL またはページ <error-url> が、無効または不明です
次に例を示します。RNTMxxxx: Web モジュール test に対するカスタムエラー URL またはページ myerror1xyz が、無効または不明です
ロードバランサプラグインは、次の情報をログに記録します。
すべての要求の開始 / 停止情報。
要求が正常ではないインスタンスから正常なインスタンスにフェイルオーバーする際の、フェイルオーバー要求の情報。
すべての診断プログラムサイクルの最後にある正常ではないインスタンスのリスト。
ロードバランサのログが有効になっていて、Web サーバーのログレベルが DEBUG かまたは verbose メッセージを出力するように設定されている場合、ロードバランサは Web サーバーのログファイルに HTTP セッション ID を記録します。したがって、ロードバランサプラグインをホストしている Web サーバーが DMZ 内にある場合、本稼動環境では DEBUG または同等のログレベルを使用しないでください。
ログレベル DEBUG を使用する必要がある場合は、loadbalancer.xml で require-monitor-data プロパティーを false に設定して、ロードバランサのログを無効にしてください。
Web サーバーのログオプションを設定します。この手順は、Web サーバーによって異なります。
ロードバランサ設定の「監視」オプションを true に設定します。
asadmin create-http-lb-config コマンドを使用して最初にロードバランサ設定を作成する際に監視を true に設定するか、asadmin set コマンドを使用してあとから true に設定します。デフォルトでは、監視は無効になっています。
ロードバランサプラグインのログメッセージの形式は、次のとおりです。
HTTP 要求の開始時には、次の情報が含まれます。
RequestStart Sticky(New) <req-id> <time-stamp> <URL>
タイムスタンプ値には、1970 年 1 月 1 日からの時間をミリ秒単位で指定します。
RequestStart New 123456 602983 http://austen.sun.com/Webapps-simple/servlet/Example1
HTTP 要求の最後には、RequestExit メッセージが次のように表示されます。
RequestExit Sticky(New) <req-id> <time-stamp> <URL> <listener-id> <response-time> Failure-<reason for error>(incase of a failure)
次に例を示します。
RequestExit 新規 123456 603001 http://austen.sun.com/Webapps-simple/servlet/Example1 http://austen:2222 18
RequestExit メッセージでは response-time は、要求の合計ターンアラウンドタイムをロードバランサプラグインの側からミリ秒単位で表します。
正常ではないインスタンスのリストは、次のとおりです。
UnhealthyInstances <cluster-id> <time-stamp> <listener-id>, <listener-id>...
次に例を示します。
UnhealthyInstances cluster1 701923 http://austen:2210, http://austen:3010
フェイルオーバー要求のリストは、次のとおりです。
FailedoverRequest <req-id> <time-stamp> <URL> <session-id> <failed-over-listener-id> <unhealthy-listener-id>
次に例を示します。
FailedoverRequest 239496 705623 http://austen.sun.com/Apps/servlet/SessionTest 16dfdac3c7e80a40 http://austen:4044 http://austen:4045