Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用 12c (12.2.1) E69998-01 |
|
前 |
次 |
この付録では、ポリシー式でWLDF問合せ言語を使用するWebLogic診断フレームワーク(WLDF)で使用できるポリシーについて説明します。
注意: WLDF問合せ言語は、WebLogic Serverバージョン12.2.1以降は非推奨です。かわりに、Java式言語(EL)を使用することをお薦めします。WLDF問合せ言語を使用するポリシー式を含む診断システム・モジュールは、下位互換性のためにサポートされています。ポリシー式でのJava ELの使用方法の詳細は、第10章「ポリシーの構成」を参照してください。 |
この付録の内容は次のとおりです。
この項では、WLDF問合せ言語使用のコンテキスト内で構成できるポリシー・タイプについて説明します。
WLDFでは、ポリシーでモニターする内容に基づいて、3つの主なタイプのポリシーを提供しています。
ハーベスタ・ポリシーでは、ローカル・ランタイムMBeanサーバーの収集可能なMBeanのセットをモニターします。
ログ・ポリシーでは、サーバー・ログまたはドメイン・ログに生成されるメッセージのセットをモニターします。
インストゥルメンテーション(またはイベント・データ)・ポリシーでは、WLDFインストゥルメンテーション・コンポーネントによって生成されるイベントのセットをモニターします。
診断モジュールのWLDFシステム・リソース構成ファイルでは、各ポリシー・タイプは、<watch>の子要素である<rule-type>要素で定義されます。例:
<watch> <rule-type>Harvester</rule-type> <!-- Other configuration elements --> </watch>
ルールの種類が異なるポリシーでは、次の2つの点に違いがあります。
監視対象となる条件を指定するためのルール構文。ルール構文は、ルールの種類ごとに異なります。
ログ・ポリシーとインストゥルメンテーション・ポリシーはリアルタイムでトリガーされますが、ハーベスタ・ポリシーは、現在の収集サイクルが終了してからトリガーされます。
ポリシーの構成オプションの詳細は、「ポリシーの構成方法」を参照してください。
WLDFでは、WLDF問合せ言語ベースの式で構成された3つの主なタイプのハーベスタ・ポリシーを提供しています。各ポリシー・タイプは、そのポリシーでモニターできる内容に基づきます。
注意: ハーベスタがデータを収集しないように構成されているMBean (またはMBean属性)をモニターするようにポリシーを定義している場合、ポリシーは実行されます。ハーベスタは、定義されたポリシー式で設定された要件を満たす値を暗黙的に収集します。ただし、この方法で(つまり、ポリシー用に暗黙的に)収集されたデータはアーカイブされません。詳細は、第8章「メトリック収集用のハーベスタの構成」を参照してください。 |
ハーベスタ・ポリシーは、収集サイクルに応じてトリガーされます。そのためハーベスタ・ポリシーの場合、ハーベスタのサンプル期間は、ある状況が識別されてから、アクションによって報告されるまでの間隔を定義します。平均して、この遅延はサンプル期間/2になります。
例G-1に、複数のランタイムMBeanをモニターするハーベスタ・ポリシーの構成例を示します。<rule-expression>要素で定義されたポリシー式がtrueに評価されると、JMX通知、SMTP通知、SNMP通知、イメージ・アクション、およびトピック用とキュー用のJMS通知を生成するために6つの異なるアクションが実行されます。
ポリシーは、4つのハーベスタ変数で構成される論理式です。式の形式は次のとおりです。
( (A >= 100) AND (B > 0) ) OR C OR D.equals("active")
各変数の形式は次のとおりです。
{entityName}//{attributeName}
{entityName}は、ランタイムMBeanサーバーに登録されているJMXのObjectNameまたはハーベスタで定義されている型名、{attributeName}は、そのMBean型に定義されている属性の名前です。
注意: 比較演算子は、XMLで有効となるように適切な形をとっています。 |
例G-1 ハーベスタ・ポリシーの構成のサンプル(DIAG_MODULE.xml内)
<wldf-resource xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd"> <name>mywldf1</name> <harvester> <!-- Harvesting does not have to be configured and enabled for harvester policies. However, configuring the Harvester can provide advantages; for example the data will be archived. --> <harvested-type> <name>myMBeans.MySimpleStandard</name> <harvested-instance>myCustomDomain:Name=myCustomMBean1 </harvested-instance> <harvested-instance>myCustomDomain:Name=myCustomMBean2 </harvested-instance> </harvested-type> <!-- Other Harvester configuration elements --> </harvester> <watch-notification> <watch> <name>simpleWebLogicMBeanWatchRepeatingAfterWait</name> <enabled>true</enabled> <rule-type>Harvester</rule-type> <rule-expression> (${mydomain:Name=WLDFHarvesterRuntime,ServerRuntime=myserver,Type= WLDFHarvesterRuntime,WLDFRuntime=WLDFRuntime//TotalSamplingTime} >= 100 AND ${mydomain:Name=myserver,Type= ServerRuntime//OpenSocketsCurrentCount} > 0) OR ${mydomain:Name=WLDFWatchNotificationRuntime,ServerRuntime= myserver,Type=WLDFWatchNotificationRuntime, WLDFRuntime=WLDFRuntime//Enabled} = true OR ${myCustomDomain:Name=myCustomMBean3//State} = 'active') </rule-expression> <severity>Warning</severity> <alarm-type>AutomaticReset</alarm-type> <alarm-reset-period>10000</alarm-reset-period> <notification>myJMXNotif,myImageNotif, myJMSTopicNotif,myJMSQueueNotif,mySNMPNotif, mySMTPNotif</notification> </watch> <!-- Other policy-action configuration elements --> </watch-notification> </wldf-resource>
このポリシーでは、AutomaticResetタイプのアラームを使用しています。つまり、最後に起動されたときからの時間が、アラーム・リセット期間として設定された間隔(この場合10000ミリ秒)よりも長くなると、繰返しトリガーされる可能性があります。
指定された重大度レベル(Warning)は、ポリシーのトリガーには影響しませんが、アクションによって伝達されます。
ログ・ポリシーを使用して、サーバー・ログまたはドメイン・ログ内の特定のメッセージまたは文字列の出現をモニターします。このタイプのポリシーは、指定されたデータを含むログ・メッセージが発行されるとトリガーされます。
例G-2に、サーバー・ログ・ポリシーの構成例を示します。
例G-2 ログ・ポリシーの構成のサンプル(DIAG_MODULE.xml内)
<wldf-resource xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd"> <name>mywldf1</name> <watch-notification> <enabled>true</enabled> <log-watch-severity>Info</log-watch-severity> <watch> <name>myLogWatch</name> <rule-type>Log</rule-type> <rule-expression>MSGID='BEA-000360'</rule-expression> <severity>Info</severity> <notification>myMailNotif2</notification> </watch> <smtp-notification> <name>myMailNotif2</name> <enabled>true</enabled> <mail-session-jndi-name>myMailSession</mail-session-jndi-name> <subject>This is a log alert</subject> <recipient>username@emailservice.com</recipient> </smtp-notification> </watch-notification> </wldf-resource>
例G-2では、<rule-type>がLog
であるため、サーバー・ログに書き込まれたメッセージまたは文字列がモニターされます。<rule-type>がDomainLog
であるため、ドメイン・ログ内のメッセージまたは文字列がモニターされます。
インストゥルメンテーション・ポリシーは、WLDFのインストゥルメンテーション・コンポーネントに由来するイベントをモニターするために使用します。このタイプのポリシーは、イベントがポストされるとトリガーされます。
例G-3に、インストゥルメンテーション・ポリシーの構成例を示します。
例G-3 インストゥルメンテーション・ポリシーの構成のサンプル(DIAG_MODULE.xml内)
<watch-notification> <watch> <name>myInstWatch</name> <enabled>true</enabled> <rule-type>EventData</rule-type> <rule-expression> (PAYLOAD > 100000000) AND (MONITOR = 'Servlet_Around_Service') </rule-expression> <alarm-type xsi:nil="true"></alarm-type> <notification>mySMTPNotification</notification> </watch> <smtp-notification> <name>mySMTPNotification</name> <enabled>true</enabled> <mail-session-jndi-name>myMailSession</mail-session-jndi-name> <subject xsi:nil="true"></subject> <body xsi:nil="true"></body> <recipient>username@emailservice.com</recipient> </smtp-notification> </watch-notification>