Oracle® Fusion Middleware Oracle WebLogic Server診断フレームワークの構成と使用 11g リリース1(10.3.6) B60994-04 |
|
![]() 前 |
![]() 次 |
次の項では、監視の種類とそれぞれの構成オプションについて説明します。
管理コンソールを使用して監視を作成する方法の詳細は、Oracle WebLogic Server管理コンソール・ヘルプの診断システム・モジュール用の監視の作成に関する項を参照してください。
WLDFでは、何をモニターするかによって3種類の監視を使用できます。
ハーベスタ監視では、ローカル・ランタイムMBeanサーバーの収集可能なMBeanのセットをモニターします。
ログ監視では、サーバー・ログに生成されるメッセージのセットをモニターします。
インストゥルメンテーション (またはイベント・データ)監視では、WLDFインストゥルメンテーション・コンポーネントによって生成されるイベントのセットをモニターします。
診断モジュールのWLDFシステム・リソース構成ファイルでは、各種類の監視は、<watch>の子要素である<rule-type>要素で定義されます。例:
<watch> <rule-type>Harvester</rule-type> <!-- Other configuration elements --> </watch>
ルールの種類が異なる監視では、以下の2つの点に違いがあります。
監視対象となる条件を指定するためのルール構文。ルール構文は、ルールの種類ごとに異なります。
ログ監視とインストゥルメンテーション監視はリアルタイムでトリガーされますが、ハーベスタ監視は、現在の収集サイクルが終了してからトリガーされます。
どの監視でも共有される構成オプションは以下のとおりです。
監視ルール式
診断モジュール構成ファイルでは、監視ルール式は<rule-expression>要素で定義されます。
監視ルール式は、監視が捕捉する重要なイベントを指定する論理式です。各種類の監視ルールで使用可能な構文など、監視ルールの定義に使用する問合せ言語については、付録A「WLDF問合せ言語」を参照してください。
監視に関連付けられる通知
診断モジュール構成ファイルでは、通知は<notification>要素で定義されます。
各監視は、監視の評価がtrueのときにトリガーされる1つまたは複数の通知に関連付けることができます。この要素には、複数の通知をカンマ区切りのリストで指定します。通知の構成については、第10章「通知の構成」を参照してください。
アラーム・オプション
診断モジュール構成ファイルでは、アラーム・オプションは<alarm-type>要素と<alarm-reset-period>要素で設定します。
監視は繰返しトリガーするように指定することも、条件に合致したときに一度だけトリガーするように指定することもできます。繰返しトリガーする監視については、任意でそのトリガー間の最短間隔を定義できます。<alarm-type>要素では、監視で自動的に繰返しトリガーするかどうか、トリガーする場合にはどの程度の間隔で行うかを定義します。noneを値として指定すると、監視は可能なときにいつでもトリガーします。AutomaticResetを値として指定した場合にも、監視は可能なときにいつでもトリガーしますが、<alarm-reset-period>で指定されたミリ秒間隔が経過するまで後続のトリガーは発生しません。ManualResetを値として指定すると、監視は一度だけ起動します。起動した後にもう一度起動させるには、手動で再設定する必要があります。たとえば、WatchNotificationRuntimeMBeanを使用すると、手動による監視を再設定できます。<alarm-type>のデフォルトはNoneです。
重大度オプション
監視には、通知先に渡す重大度の値を指定します。許容される重大度の値は、ロギング・サブシステムに定義されている値と同じです。この重大度の値は下位要素<severity>を使用して指定します。デフォルトはNoticeです。
有効化オプション
個々の監視を、下位要素<enabled>を使用して個別に有効または無効にできます。無効にした場合、監視ではトリガーを行わず、対応する通知も起動しません。より包括的な監視通知フラグを無効にすれば、個々の監視を確実に無効にできます(つまり、個別の監視におけるこのフラグの値が無視されます)。
ハーベスタ監視では、ローカル・ランタイムMBeanサーバーの任意のランタイムMBeanをモニターできます。
注意: ハーベスタがデータを収集しないように構成されているMBean (またはMBean属性)をモニターするように監視ルールを定義している場合、監視は実行されます。ハーベスタは、定義された監視ルールで設定された要件を満たす値を「暗黙的」に収集します。ただし、この方法で(つまり、監視用に暗黙的に)収集されたデータはアーカイブされません。ハーベスタの詳細は、第7章「メトリック収集用のハーベスタの構成」を参照してください。 |
ハーベスタ監視は、ハーベスタ・サイクルに応じてトリガーされます。そのためハーベスタ監視の場合、ハーベスタのサンプル期間は、ある状況が識別されてから、通知によって報告されるまでの間隔を定義します。平均して、この遅延はサンプル期間/2になります。
例9-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で有効となるように適切な形をとっています。 |
例9-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 watches. 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 watch-notification configuration elements --> </watch-notification> </wldf-resource>
この監視では、AutomaticResetタイプのアラームを使用しています。つまり、最後に起動されたときからの時間が、アラーム・リセット期間として設定された間隔(この場合10000ミリ秒)よりも長くなると、繰返しトリガーされる可能性があります。
指定された重大度レベルWarningは、監視のトリガーには影響しませんが、通知によって伝達されます。
ログ監視を使用して、サーバー・ログにおける特定のメッセージまたは文字列の出現をモニターします。この種類の監視は、指定されたデータを含むログ・メッセージが発行されるとトリガーされます。
例9-2に、ログ監視の構成の例を示します。
例9-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>
インストゥルメンテーション監視は、WLDFのインストゥルメンテーション・コンポーネントに由来するイベントをモニターするために使用します。この種類の監視は、イベントがポストされるとトリガーされます。
例9-3に、インストゥルメンテーション監視の構成の例を示します。
例9-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>
監視ルール式は、ルールの指定に必要なすべての情報をカプセル化します。各種類の監視ルールの定義に使用する問合せ言語については、付録A「WLDF問合せ言語」を参照してください。