BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

管理者ガイド

 Previous Next Contents PDF で侮ヲ  

ログ メッセージを使用した WebLogic Server の管理

WebLogic Server では、ログ メッセージを使用して、新しいアプリケーションのデプロイメントやサブシステムの障害などのイベントについての情報を記録します。メッセージには、イベントの時刻と日付についての情報や、イベントを開始したユーザの ID が含まれています。

これらのメッセージを表示してソートすることで、問題の検出、障害発生源の特定、およびシステム パフォーマンスの監視ができます。たとえば、どのユーザが特定のアプリケーションをデプロイしたか、どのユーザが特定日のスレッド プール数を変更したか、などを判別できます。また、これらのメッセージをリスンして自動的に応答するクライアント アプリケーションを作成することも可能です。たとえば、障害が発生したサブシステムを示すメッセージをリスンするアプリケーションを作成できます。サブシステムに障害が発生したら、アプリケーションからシステム管理者に電子メールを送信することもできます。

この章の内容は以下のとおりです。

メッセージをリスンするアプリケーションの設定については、『WebLogic Server ロギング サービスの使い方』を参照してください。

 


WebLogic Server のログ メッセージ

weblogic.jar 内にコンパイルされたファイルは、WebLogic Server の各サブシステムがステータスとの通信に使用するメッセージのセットです。たとえば、WebLogic Server インスタンスを起動すると、セキュリティ サブシステムによって初期化ステータスを報告するメッセージが書き込まれます。

この節では、以下の項目について説明します。

メッセージの属性

次の表で説明するように、すべてのサブシステムのメッセージには一連のフィールド (属性) が含まれています。



 

表4-1 メッセージの属性

属性

説明

Timestamp

メッセージが発生した時刻と日付。書式はロケールに基づく。

Severity

メッセージで報告されるイベントの影響または深刻さの度合いを示す。 詳細については、メッセージの重要度を参照。

Subsystem

メッセージのソースとなった WebLogic Server のサブシステムを示す。たとえば EJB、RMI、JMS など。

Server Name
Machine Name
Thread ID
Transaction ID

メッセージの発生源を識別する。Transaction ID は、トランザクションのコンテキストで記録されたメッセージの場合のみ存在する。

User

関連付けられたイベントを実行したユーザ ID。

内部コードの一部を実行する場合、WebLogic Server では実行を初期化したユーザの ID を認証してから、特別な Kernel Identity ユーザ ID でコードを実行する。

サーバ インスタンスにデプロイされている EJB などの J2EE モジュールは、モジュールがサーバに渡すユーザ ID を報告する。

クライアント JVM 内で生成されるログ メッセージには、これらのフィールドは含まれない。

Message ID

ユニークな 6 桁の識別子。499999 までのメッセージ ID は、WebLogic Server のシステム メッセージ用に予約されている。

Message Text

イベントまたは状況の説明。


 

メッセージの重要度

WebLogic Server のログ メッセージの Severity (重要度) 属性は、メッセージで報告されるイベントまたは状況の潜在的な影響を示します。

次の表は、WebLogic Server サブシステムからのログ メッセージの重要度レベルを、最も低いレベルから順に示しています。


 

表4-2 メッセージの重要度

重要度

意味

INFO

通常の処理を報告する。

WARNING

不審な処理またはコンフィグレーションが行われたが、通常の処理に影響する恐れはない。

ERROR

ユーザ エラーが発生した。システムまたはアプリケーションでは、サービスの中断や停止なしでエラーに対処できる。

NOTICE

サーバのモニタにおいて特に重要な INFO レベルまたは WARNING レベルのメッセージ。

CRITICAL

システム エラーまたはサービス エラーが発生した。システムは回復できるが、サービスが一時的に停止するか、永続的に停止する恐れがある。

ALERT

システムの特定のサービスだけが使用不能の状態にある。自動回復できないので、管理者が直ちに問題を解決する必要がある。

EMERGENCY

サーバが使用不能な状態であることを示す。深刻なシステム障害または危機的状態を示す。


 

WebLogic Server のサブシステムでは、重要度の低いメッセージが数多く生成され、重要度の高いメッセージほど数が少なくなります。たとえば、通常の環境では、INFO メッセージが多く生成され、EMERGENCY メッセージは生成されません。

アプリケーションで WebLogic ロギング サービスを使用している場合は、DEBUG という重要度レベルも使用できます。WebLogic Server のサブシステムでは、この重要度レベルは使用しません。詳細については、『WebLogic Server ロギング サービスの使い方』の「バッグ メッセージの書き込み」を参照してください。

メッセージの出力

WebLogic Server インスタンスから出力されるメッセージは、先頭行が #### で始まり、その後にメッセージの属性が続きます。各属性は山括弧で囲まれます。

次に、ログ メッセージの例を示します。

####<Jun 2, 2002 10:23:02 AM PDT> <Info> <SSL> <bigbox> <myServer>
<SSLListenThread> <harry> <> <004500> <Using exportable strength SSL>

この例では、メッセージの属性は、Timestamp、Severity、Subsystem、Machine Name、Server Name、Thread ID、User ID、Transaction ID、Message ID、および Message Text です。

メッセージがトランザクションのコンテキストで記録されたものではない場合、Transaction ID は存在しませんが、Transaction ID のための山括弧 (セパレータ) は配置されます。

メッセージにスタック トレースが含まれている場合、スタック トレースはメッセージ属性のリストの後に続きます。

ログ ファイルの記述で使用される文字エンコーディングは、ホスト システムのデフォルトの文字エンコーディングです。

 


例外とスタック トレース

WebLogic Server のログ メッセージには、例外が送出されたことを示すものがあります。例外とともにスタック トレースが生成された場合、WebLogic Server のログ メッセージにはスタック トレースが含まれます。

スタック トレースをログ ファイルに書き込むかどうかを指定できます。

WebLogic ロギング サービスを使用するアプリケーションがリモート JVM で実行されている場合、例外とスタック トレースは WebLogic ロギング サービスに送信されます。リモートの例外とスタック トレースをログ ファイルに書き込むかどうかを指定するには、Administration Console を使用します。

例外とスタック トレースのロギングのコンフィグレーションについては、Administration Console オンライン ヘルプの「サーバ ログ ファイルのデバッグ情報のコンフィグレーション」を参照してください。

 


WebLogic Server のログ ファイル

WebLogic Server では、生成されたメッセージをログ ファイルに書き込むことで保持します。ログ ファイルを表示するには、標準のテキスト エディタまたは Administration Console のログ ファイル ビューアを使用します。

注意: ログ ファイルは手作業で編集しないようにしてください。ログ ファイルを修正すると、タイムスタンプが変更されてログ ファイルのローテーションが混乱するおそれがあります。また、編集時にファイルがロックされてしまうと、WebLogic Server からは更新できなくなります。

この節では、以下の項目について説明します。

ローカル ログ ファイルとドメイン ログ ファイル

サブシステムおよびアプリケーションからのメッセージは、すべてローカル ホスト マシン上のログ ファイルに書き込まれます。また、メッセージは Java Management Extension (JMX) を使用して JMX 通知としてブロードキャストされます。ブロードキャストされるのは、以下を除くすべてのメッセージおよびメッセージ テキストです。

WebLogic Server インスタンスを起動すると、管理サーバのメッセージ リスナが自動的にサーバのログ ブロードキャスタに登録されます。登録時には、管理サーバがどのメッセージをリスンするかを判別するためのデフォルト フィルタが提供されます。 メッセージは、ドメイン全体のログ ファイルに書き込まれます(図 4-1を参照)。

注意: 管理対象サーバが管理対象サーバ独立 (MSI) モードで動作している場合、その管理対象サーバはドメインのログ ファイルに直接書き込みます。 「MSI Mode and the Domain Log File」を参照してください。

図4-1 WebLogic Server ロギング サービス


 

デフォルト フィルタでは、重要度レベルが ERROR 以上のメッセージのみ選択されます。こうしたドメイン ログによって、ドメイン全体のステータスがおおまかに把握できます。

すべての WebLogic Server インスタンスについて、デフォルト フィルタをオーバーライドし、デフォルトとは異なるメッセージ セットをドメイン ログ ファイルに書き込むドメイン ログ フィルタを作成できます。WebLogic Server インスタンスのドメイン ログ フィルタの設定については、Administration Console オンライン ヘルプの「ドメイン ログ フィルタ」を参照してください。

管理サーバが使用できない場合でも、管理対象サーバのローカル ログ ファイルへのメッセージの書き込みは継続されます。ただし、管理サーバが使用できない間にどのメッセージが生成されたかは追跡できません。たとえば、管理サーバが 2 時間使用できなかった場合、その間に生成されたメッセージは復旧後もドメイン ログには書き込まれません。

ログ ファイルの名前と場所

ローカル サーバのログ ファイル名は、デフォルトでは ./SERVER_NAME/SERVER_NAME.log となります。SERVER_NAME はサーバ名です。パスは、サーバのルート ディレクトリを基準にした相対パスです。

デフォルトのドメイン ログ ファイル名は、./DOMAIN_NAME.log です。DOMAIN_NAME はドメイン名です。パスは、管理サーバのルート ディレクトリを基準にした相対パスです。

ログ ファイルのローテーション時に日付や時刻をファイル名に含めるには、java.text.SimpleDateFormat 変数をログのファイル名に追加します。 詳細については、次の節ログ ファイル ローテーション.を参照してください。

ログ ファイルの名前や位置の変更については、Administration Console オンライン ヘルプの以下のトピックを参照してください。

ログ ファイル ローテーション

デフォルトでは、ローカル ログ ファイルとドメイン ログ ファイルのサイズは無限に大きくなります。WebLogic Server では、ログ ファイル名が定期的に変更 (ローテーション) されるように設定できます。古いメッセージは名前が変更される前のログ ファイルに残り、新しいメッセージは新しいログ ファイル内に蓄積されます。ログ ファイルのローテーションは、ログ ファイルのサイズまたは時間間隔に基づいて指定できます。

ログ ファイルのローテーション時に日付や時刻をファイル名に含めるには、java.text.SimpleDateFormat 変数をログのファイル名に追加します。各変数はパーセント (%) 記号で囲みます。

たとえば、サーバのローカル ログ ファイル名に次の値を入力したとします。
myserver_%yyyy%_%MM%_%dd%_%hh%_%mm%.log

この場合、サーバのログ ファイル名は次のようになります。
myserver_yyyy_MM_dd_hh_mm.log

サーバ インスタンスによってログ ファイルがローテーションされると、ローテーションされたファイルの名前には日付が含まれます。たとえば、ローカル ログ ファイルが 2003 年 4 月 2 日の午前 10:05 にローテーションされた場合、古いメッセージを含むログ ファイルの名前は次のようになります。
myserver_2003_04_02_10_05.log

日付や時刻を含めない場合、ローテーションされるログ ファイルには filenamennnnn のように作成順の番号が付けられます。filename は、ログ ファイルにコンフィグレーションされた名前です。 たとえば、myserver.log00007 のようになります。

Administration Console を使用すると、各 WebLogic Server インスタンスのローカル ログ ファイルのローテーションの基準を指定できます。また、ドメイン メッセージ ログ ファイルのローテーションの基準を指定する場合も Administration Console を使用します。

ローテーションするファイルの最大数を指定することもできます。ログ ファイル数が指定した数に達すると、以降のファイルのローテーションでは、もっとも古いログ ファイルから順に上書きされます。

注意: 時間によるログのローテーションは、ファイルのタイムスタンプに基づきます。ログ ファイルを修正すると、タイムスタンプが変更されてログのローテーションが混乱するおそれがあります。

ローテーションの基準の指定については、Administration Console オンライン ヘルプの以下の節を参照してください。

WebLogic ログ ファイル ビューア

Administration Console には、ローカル サーバ ログ用のログ ビューアと、ドメイン全体のメッセージ ログ用のログ ビューアが用意されています。2 つのビューアは別物ですがよく似ています。ログ ビューアを使用すると、メッセージ内のフィールドをもとにメッセージを検索できます。たとえば、重要度、発生時刻、ユーザ ID、サブシステム、またはメッセージの短い説明に基づいて、メッセージを検索して表示できます。また、記録された順にメッセージを表示したり、過去のログ メッセージを検索したりすることもできます。

図4-2 Administration Console のログ ビューア


 

Administration Console でのメッセージ ログの表示、コンフィグレーション、および検索については、Administration Console オンライン ヘルプの以下のトピックを参照してください。

ログ ファイルはシンプル テキスト ファイルなので、他のアプリケーションを使用して表示することもできます。 ログ ファイルの検索については、ログ ファイルの名前と場所を参照してください。

 


標準出力への出力

メッセージをログ ファイルに書き込むだけでなく、メッセージのサブセットを標準出力へ出力することも可能です。デフォルトでは、重要度が ERROR 以上のすべてのメッセージが標準出力に出力されます。ただし、DEBUG のメッセージは出力されません。スタック トレースをログ ファイルに出力するようサーバをコンフィグレーションした場合は、スタック トレースも標準出力に出力できます。

ノード マネージャを使用して管理対象サーバを起動した場合、ログ ファイルには標準出力と標準エラー メッセージが書き込まれます。これらのメッセージは、Administration Console の [マシン|モニタ] タブで表示できます。

詳細については、以下のトピックを参照してください。

System.out および System.err のファイルへのリダイレクト

サーブレットは、サーバ インスタンスが標準出力に出力するコンフィグレーション可能なログ メッセージのセットだけでなく system.out.println を呼び出すこともでき、WebLogic Server インスタンスを実行する JVM が標準エラーおよび標準出力にメッセージを送信することが可能です。WebLogic Server スクリプトを使用してサーバ インスタンスを開始した場合、標準エラー メッセージおよび標準出力メッセージを格納するデフォルトの永続ストレージはありません。

WebLogic Server インスタンスが動作している JVM では、メッセージを標準エラーおよび標準出力に送信することもできます。WebLogic Server スクリプトを使用してサーバ インスタンスを開始した場合、標準エラー メッセージおよび標準出力メッセージを格納するデフォルトの永続ストレージはありません。

これらのメッセージを記録しておくには、WebLogic Server 起動スクリプトを編集して以下の Java オプションを指定します。

-Dweblogic.Stdout="stdout-filename"
-Dweblogic.Stderr="
stderr-filename"

stdout-filename は標準出力メッセージを保存するファイルの名前、stderr-filename は標準エラー メッセージを保存するファイルの名前です。

これらのファイルの内容を表示するには、テキスト エディタを使用するか、DOS tail プログラムなどのコマンド プロンプト ユーティリティを使用します。これらのファイルは、Administration Console では表示できません。

注意: WebLogic Server では、標準出力へ送信するユーザ名とパスワードの入力を要求するプロンプトが表示されます。-Dweblogic.Stdout を使用した場合は、ユーザ名とパスワードの入力が要求されなくなります。 このプロンプトを回避するには、ユーザ名とパスワードのプロンプトの回避の説明に従って起動 ID ファイルを使用します。

weblogic.Server コマンドでの引数の指定については、よく使用される任意指定の引数を参照してください。

ガベージ コレクション コメント

-Dweblogic.Stdout および -Dweblogic.Stderr を指定することで、JVM のすべての java.lang.System.out および java.lang.System.err メッセージがファイルにリダイレクトされますが、ガベージ コレクション コメントは System.outSystem.err には出力されません。-verbosegc オプションを指定して JVM を起動した場合は、-Dweblogic.Stdout または -Dweblogic.Stderr を指定したかどうかにかかわらず、verbosegc 出力は JVM が実行されているシェルに出力されます。一部の JVM には、ガベージ コレクション コメントをファイルに出力するための非標準オプションが用意されています。詳細については、シェルに java -X と入力して、JVM の非標準オプションのヘルプを表示してください。

 


コンフィグレーション監査

管理サーバは、ユーザによってコンフィグレーションが変更されたとき、またはドメイン内のいずれかのリソースで管理操作が実行されたときにログ メッセージを送出するようにコンフィグレーションできます。 たとえば、ユーザがドメイン内の管理対象サーバで SSL を無効にすると、管理サーバはログ メッセージを送出します。 そのようなメッセージは、ドメインのコンフィグレーションで行われた変更の証跡となります (コンフィグレーション監査)。

以下の節では、コンフィグレーション監査について説明します。

管理サーバは、コンフィグレーション監査メッセージをローカルのログ ファイルに書き込みます。 コンフィグレーション監査メッセージはすべて重大度が Info なので、デフォルトではドメイン全体のメッセージ ログには書き込まれません。 このデフォルトを変更する方法については、Administration Console オンライン ヘルプの「ドメイン ログ フィルタ」を参照してください。

管理サーバは、メッセージをローカル ログ ファイルに書き込むだけでなく、コンフィグレーション監査メッセージを JMX 通知としてブロードキャストします。 それらのメッセージに応答する JMX リスナおよびフィルタを作成することも可能です。 たとえば、無許可のユーザがドメインのコンフィグレーションを変更しようとしたことを通知するメッセージが管理サーバから送出された場合に、JMX リスナおよびフィルタは電子メールを送信できます。 『WebLogic JMX Service プログラマーズ ガイド』の「コンフィグレーション監査メッセージのリスン」を参照してください。

コンフィグレーション監査の有効化

管理サーバがコンフィグレーション監査メッセージを送出するようにするには、以下のいずれかを行います。

コンフィグレーション監査メッセージ

コンフィグレーション監査メッセージはすべて、重大度が Info であり、159900159910 の範囲のメッセージ ID で識別されます。

コンフィグレーション監査メッセージでは、管理 Bean (MBean) オブジェクト名を使用してリソースを識別します。 MBean オブジェクト名は、操作の呼び出しやリソースの修正に使用するインタフェースが Administration Console、コマンドライン ユーティリティ、または API のどれであるかに関係なく明確な識別を可能にします。 『WebLogic JMX Service プログラマーズ ガイド』の「WebLogic Server MBean の WebLogicObjectName の使用」を参照してください。

表 4-3 に、コンフィグレーション監査メッセージをまとめておきます。

表4-3 コンフィグレーション監査メッセージの概要

発生したイベント

生成されるメッセージの ID

メッセージのテキスト

認可ユーザがリソースを作成した。

159900

USER username CREATED MBean-name
username
は、ログインしてリソースを作成した WebLogic Server ユーザを示す。

無認可のユーザがリソースを作成しようとした。

159901

USER username CREATED MBean-name
FAILED weblogic.management.
NoAccessRuntimeException:

exception-text stack-trace

username は、無認可の WebLogic Server ユーザを示す。

認可ユーザがリソースを削除した。

159902

USER username REMOVED MBean-name

username は、ログインしてリソースを作成した WebLogic Server ユーザを示す。

無認可のユーザがリソースを削除しようとした。

159903

USER username REMOVE MBean-name
FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace

username は、ログインしてリソースを作成した WebLogic Server ユーザを示す。

認可ユーザがリソースのコンフィグレーションを変更した。

159904

USER username MODIFIED MBean-name
ATTRIBUTE attribute-name
FROM
old-value TO new-value

username は、ログインしてリソースのコンフィグレーションを変更した WebLogic Server ユーザを示す。

無認可のユーザがリソースのコンフィグレーションを変更しようとした。

159905

USER username MODIFY MBean-name
ATTRIBUTE attribute-name
FROM
old-value TO new-value
FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace

username は、無認可の WebLogic Server ユーザを示す。

認可ユーザがリソースで操作を呼び出した。

たとえば、アプリケーションをデプロイするか、サーバ インスタンスを起動した。

159907

USER username INVOKED ON
MBean-name
METHOD
operation-name
PARAMS
specified-parameters

username は、ログインしてリソースの操作を呼び出した WebLogic Server ユーザを示す。

無認可のユーザがリソースで操作を呼び出そうとした。

159908

USER username INVOKED ON
MBean-name
METHOD
operation-name
PARAMS
specified-parameters
FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace

username は、無認可の WebLogic Server ユーザを示す。

認可ユーザがコンフィグレーションの監査を有効にした。

159909

USER username, Configuration Auditing is enabled

username は、コンフィグレーションの監査を有効にした WebLogic Server ユーザを示す。

認可ユーザがコンフィグレーションの監査を無効にした。

159910

USER username, Configuration Auditing is disabled

username は、コンフィグレーションの監査を無効にした WebLogic Server ユーザを示す。

注意: 認可ユーザがリソースを追加、修正、または削除するたびに、管理サブシステムは ID が 140009Info メッセージも生成します。 次に例を示します。

<Sep 15, 2003 11:54:47 AM EDT> <Info> <Management> <140009> <Configuration changes for domain saved to the repository.>

管理サブシステムは、コンフィグレーション監査が有効かどうかに関係なくこのメッセージを生成します。

このメッセージでは、ドメインのコンフィグレーションが変更されたことが通知されますが、コンフィグレーション監査メッセージが提供する詳細情報は提供されません。 また、リソースの操作が呼び出されたときにはこのメッセージは生成されません。

表 4-4 は、コンフィグレーション監査メッセージの追加メッセージ属性のリストです。 これらの属性は、すべてのコンフィグレーション監査メッセージで同じ値が指定されます。

表4-4 共通のメッセージ属性と値

メッセージ属性

属性値

Severity

Info

Subsystem

Configuration Audit

User ID

kernel identity

この値は、ユーザがリソースを修正したか、リソースの操作を呼び出したかに関係なく常に kernel identity

Server Name

AdminServerName

管理サーバはドメイン内のすべてのリソースのコンフィグレーション データを保持するので、この値は常に管理サーバの名前。

Machine Name

AdminServerHostName

管理サーバはドメイン内のすべてのリソースのコンフィグレーション データを保持するので、この値は常に管理サーバのホスト マシンの名前。

Thread ID

execute-thread

この値は、管理サーバ上で動作している実行スレッドの数に依存する。

Timestamp

メッセージが生成された時点の timeStamp

 


追加のログ ファイル

前の節で説明したログ メッセージとログ ファイルは、サーバまたはアプリケーションの操作に影響するイベントおよび状況を伝達するためのものです。

一部のサブシステムには、通常の操作状況でのサブシステムの対話を監査するため、追加のログ ファイルが用意されています。追加のログ ファイルには以下があります。

 

Back to Top Previous Next