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