Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性 (HA) 管理ガイド

- Previous: 可用性を低下させないアプリケーションのアップグレード
- Next: 第 5 章 Application Server クラスタの使用

# HTTP ロードバランサプラグインの監視

- 「ログメッセージの設定」

- 「ログメッセージのタイプ」

- 「ロードバランサのログの有効化」

- 「メッセージの監視について」

## ログメッセージの設定

ロードバランサプラグインは、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` に設定して、ロードバランサのログを無効にしてください。

### ロードバランサのログを有効にするには

1. Web サーバーのログオプションを設定します。この手順は、Web サーバーによって異なります。

   - Sun Java System Web Server の場合

     サーバーの管理コンソールで、「`Magnus Editor`」タブを表示し、「`Log Verbose`」オプションを「`On`」に設定します。

   - Apache Web Server の場合は、ログレベルを `DEBUG` に設定します。

   - Microsoft IIS の場合は、`sun-passthrough.properties` ファイルのログレベルを `FINE` に設定します。

2. ロードバランサ設定の「`監視`」オプションを true に設定します。

   `asadmin create-http-lb-config` コマンドを使用して最初にロードバランサ設定を作成する際に監視を true に設定するか、`asadmin set` コマンドを使用してあとから true に設定します。デフォルトでは、監視は無効になっています。

## メッセージの監視について

ロードバランサプラグインのログメッセージの形式は、次のとおりです。

- HTTP 要求の開始時には、次の情報が含まれます。

  `RequestStart Sticky(New) <req-id> <time-stamp> <URL>`

  タイムスタンプ値には、1970 年 1 月 1 日からの時間をミリ秒単位で指定します。

  `RequestStart 新規 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 メッセージでは、<応答時間> は、要求の合計ターンアラウンドタイムをロードバランサプラグインの側からミリ秒単位で表します。

- 正常ではないインスタンスのリストは、次のとおりです。

  `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`

- Previous: 可用性を低下させないアプリケーションのアップグレード
- Next: 第 5 章 Application Server クラスタの使用

- © 2010, Oracle Corporation and/or its affiliates