![]() ![]() ![]() ![]() |
WebLogic 診断フレームワーク (WLDF) には、監視ルール式、データ アクセサ クエリ式、およびログ フィルタ式を作成するためのクエリ言語が含まれています。クエリ言語の構文は、SQL 構文の一部を簡略化したものです。
クエリ言語では、表 A-1 に示す演算子がサポートされます。
以下に、演算子間の優先順位のレベルを、高いものから順に示します。同じ行に示す演算子は、すべて同等の優先順位です。
String 型カラムのデータが数値である場合、カラムで数値の比較演算を実行できます。たとえば、STATUS
が String 型である場合、数値オペランドとの比較演算が行われている間は、カラムの値は数値として扱われます。次に例を示します。
上記のような比較では、クエリ評価にあたって、比較前に文字列値の適切な数値への変換が試みられます。文字列値を数値に変換できない場合、クエリは失敗します。
%
) を使用できる。 \
) は、引用符 (`
) やパーセント文字 (%
) などの特殊文字をエスケープするために使用できる。java.lang.String.compareTo(String str)
メソッドに関するマニュアルを参照してください。
変数は、実行時に評価されるクエリ式の動的な部分を表します。以下の節の説明に従って、作成する式の種類に合った適切な変数を使用する必要があります。
監視は、ログ イベント、インスツルメンテーション イベント、および収集された属性に基づいて作成できます。式の作成でサポートされる変数は、監視の種類ごとに異なります。以下の節を参照してください。
WLDF 監視のコンフィグレーションおよび使い方の詳細については、以下を参照してください。
ログ イベントの監視ルール式は、サーバ ログからのログ メッセージの属性に基づいています。
表 A-2 では、ログ メッセージ属性の変数名について説明します。
(SEVERITY = 'Warning') AND (MSGID = 'BEA-320012')
インスツルメンテーション イベントの監視ルール式は、診断モニタ アクションによって作成されたデータ レコードの属性に基づきます。
表 A-3 では、インスツルメンテーション データ レコード属性の変数名について説明します。
次に、インスツルメンテーション イベント データのルール式の例を示します。
(USERID = 'weblogic')
ハーベスタの監視ルール式は、収集可能な 1 つまたは複数の MBean 属性に基づきます。式では、MBean 型、インスタンス、および属性を指定できます。
ハーベスタの監視ルール式を作成するための構文は次のとおりです。
type_name
]//attribute_name
}
${com.bea:instance_name
//attribute_name
}
domain_name
:instance_name
//attribute_name
}
注意 : | WebLogic Server ドメイン名の場合は domain_name は必要ありません。 |
式には、次の例に示すように、MBean オブジェクトの完全な名前を指定する必要があります。
${
com.bea:Name=HarvesterRuntime,Location=myserver,Type=HarvesterRuntime,
ServerRuntime=myserver//TotalSamplingCycles} > 10
データ アクセサ コンポーネントで WLDF クエリ言語を使用すると、サーバ ログ、HTTP ログ、収集されたメトリックなどのデータをデータ ストアから取り出すことができます。データ アクセサ クエリの作成に使用する変数は、データの抽出元となるデータ ストアのカラム名に基づいています。
一致するデータがあると、一致した行のすべてのカラムが返されます。
データ ストアの論理名は、ユニークなものである必要があります。論理名によって示されるのは、サーバ上で利用可能な特定のデータ ストアです。論理名は、ログの種類を表すキーワードと、フォワード スラッシュ (/
) で区切られた 0 個以上の識別子で構成されます。たとえば、サーバ ログ データ ストアの論理名は単純に ServerLog
となります。しかし、他の種類のログの場合は、表 A-4 に示すように追加の識別子が必要になることがあります。
クエリに含まれるカラム名は、データの行ごとに解決されます。結果セットに行が追加されるのは、指定したすべてのカラムについてその行がクエリ条件を満たしたときだけです。クエリでカラム名を省略した場合、ログのすべてのエントリが返されます。
表 A-5 に、WebLogic Server の全種類のログのカラム名をすべて示します。
(SUBSYSTEM = 'Deployer') AND (MESSAGE LIKE '%Failed%')
この例の場合、アクセサは Deployer サブシステムから「Failed」という文字列を含むすべてのメッセージを取得します。
次の例では、API メソッドの呼び出しを示します。この例には、timeStampFrom
(その時間を含む) から timeStampTo
(その時間を含まない) の間隔内での、MyPool
という JDBC 接続プールの収集された属性のクエリが含まれています。
WLDFDataAccessRuntimeMBean.retrieveDataRecords(timeStampFrom,
timeStampTo, "TYPE='JDBCConnectionPoolRuntime' AND NAME='MyPool'")
WLDF データ アクセサの詳細については、「データ アクセサを使用した診断データへのアクセス」を参照してください。
クエリ言語を使用すると、サーバ ログに書き込まれたログをフィルタ処理できます。ログ フィルタ式の作成に使用する変数は、ログのカラムを表します。
注意 : | これらの変数は、既存のサーバ ログから診断データの履歴を取得するデータ アクセサ クエリの作成に使用する変数と同じです。 |
WebLogic Server のロギング サービスの詳細については、『ログ ファイルのコンフィグレーションとログ メッセージのフィルタ処理』の「WebLogic Server ログ メッセージのフィルタ処理」を参照してください。
変数、バイナリ比較、その他の複雑なサブ式を含む、サブ式を使用した複雑なクエリ式を作成できます。ネストのレベルに制限はありません。以下のルールが適用されます。
![]() ![]() ![]() |