![]() ![]() ![]() ![]() |
以下の節では、監視の種類とそれぞれのコンフィグレーション オプションについて説明します。
WLDF では、何をモニタするかによって 3 種類の監視を使用できます。
診断モジュールの WLDF システム リソース コンフィグレーション ファイルでは、各種類の監視は、<watch>
の子要素である <rule-type>
要素で定義されます。次に例を示します。
<watch>
<rule-type>Harvester</rule-type>
<!-- 他のコンフィグレーション要素 -->
</watch>
ルールの種類が異なる監視では、以下の 2 つの点に違いがあります。
どの監視でも共有されるコンフィグレーション オプションは以下のとおりです。
診断モジュール コンフィグレーション ファイルでは、監視ルール式は <rule-expression>
要素で定義されます。
監視ルール式は、監視が捕捉する重要なイベントを指定する論理式です。各種類の監視ルールで使用可能な構文など、監視ルールの定義に使用するクエリ言語については、「WLDF クエリ言語」を参照してください。
診断モジュール コンフィグレーション ファイルでは、通知は <notification>
要素で定義されます。
各監視は、監視の評価が true
のときにトリガされる 1 つまたは複数の通知に関連付けることができます。この要素には、複数の通知をカンマ区切りのリストで指定します。通知のコンフィグレーションについては、「通知のコンフィグレーション」を参照してください。
診断モジュール コンフィグレーション ファイルでは、アラーム オプションは <alarm-type>
要素と <alarm-reset-period>
要素で設定します。
監視は繰り返しトリガするように指定することも、条件に合致したときに一度だけトリガするように指定することもできます。繰り返しトリガする監視については、任意でそのトリガ間の最短間隔を定義できます。<alarm-type>
要素では、監視で自動的に繰り返しトリガするかどうか、トリガする場合にはどの程度の間隔で行うかを定義します。none
を値として指定すると、監視は可能なときにいつでもトリガします。AutomaticReset
を値として指定した場合にも、監視は可能なときにいつでもトリガしますが、<alarm-reset-period>
で指定されたミリ秒間隔が経過するまで後続のトリガは発生しません。ManualReset
を値として指定すると、監視は一度だけ発動します。発動した後にもう一度発動させるには、手動で再設定する必要があります。たとえば、WatchNotificationRuntimeMBean
を使用すると、手動による監視を再設定できます。<alarm-type>
のデフォルトは None
です。
監視には、通知先に渡す重大度の値を指定します。許容される重大度の値は、ロギング サブシステムに定義されている値と同じです。この重大度の値は下位要素 <severity>
を使用して指定します。デフォルトは Notice
です。
個々の監視を、下位要素 <enabled>
を使用して個別に有効または無効にできます。無効にした場合、監視ではトリガを行わず、対応する通知も発動しません。より包括的な監視通知フラグを無効にすれば、個々の監視を確実に無効にできます (つまり、個別の監視におけるこのフラグの値が無視されます)。
ハーベスタ監視では、ローカル実行時 MBean サーバの任意の実行時 MBean をモニタできます。
注意 : | ハーベスタがデータを収集しないようにコンフィグレーションされている MBean (または MBean 属性) をモニタする監視ルールを定義している場合、監視は実行されません。ハーベスタは、定義された監視ルールで設定された要件を満たす値を「暗黙的」に収集します。ただし、この方法で (つまり、監視用に暗黙的に) 収集されたデータはアーカイブされません。ハーベスタの詳細については、「メトリック収集用のハーベスタのコンフィグレーション」を参照してください。 |
ハーベスタ監視は、ハーベスタ サイクルに応じてトリガされます。そのためハーベスタ監視の場合、ハーベスタのサンプル期間は、ある状況が識別されてから、通知によって報告されるまでの間隔を定義します。平均して、この遅延はサンプル期間/2
になります。
コード リスト 8-1 に、複数の実行時 MBean をモニタするハーベスタ監視のコンフィグレーション例を示します。監視ルール (<rule-expression>
要素で定義) の評価が true
の場合、JMX 通知、SMTP 通知、SNMP 通知、イメージ通知、およびトピック用とキュー用の JMS 通知の 6 種類の通知が発動されます。
監視ルールは、4 つのハーベスタ変数で構成される論理式です。監視ルールの形式は次のとおりです。
( (A >= 100) && (B > 0) ) || C || D.equals("active")
{entityName}//{attributeName}
{entityName}
は、実行時 MBean サーバに登録されている JMX の ObjectName
またはハーベスタで定義されている型名、{attributeName}
は、その MBean 型に定義されている属性の名前です。
注意 : | 比較演算子は、XML で有効となるように適切な形をとっています。 |
<wldf-resource xmlns="http://www.bea.com/ns/weblogic/90/diagnostics"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/diagnostics.xsd">
<name>mywldf1</name>
<harvester>
<!-- ハーベスタ監視に対して必ずしも収集をコンフィグレーションおよび有効化
しなくてもよい。ただし、ハーベスタをコンフィグレーションすると、データの
アーカイブなどの利点がある。 -->
<harvested-type>
<name>myMBeans.MySimpleStandard</name>
<harvested-instance>myCustomDomain:Name=myCustomMBean1
</harvested-instance>
<harvested-instance>myCustomDomain:Name=myCustomMBean2
</harvested-instance>
</harvested-type>
<!-- 他のハーベスタ コンフィグレーション要素 -->
<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>
<!-- 他の watch-notification のコンフィグレーション要素 -->
</watch-notification>
</wldf-resource>
この監視では、AutomaticReset
タイプのアラームを使用しています。つまり、最後に発動されたときからの時間が、アラーム リセット期間として設定された間隔 (この場合 10000 ミリ秒) よりも長くなると、繰り返しトリガされる可能性があります。
指定された重大度レベル Warning
は、監視のトリガには影響しませんが、通知によって伝達されます。
ログ監視を使用して、サーバ ログにおける特定のメッセージまたは文字列の出現をモニタします。この種類の監視は、指定されたデータを含むログ メッセージが発行されるとトリガされます。
コード リスト 8-2 に、ログ監視のコンフィグレーションの例を示します。
<wldf-resource xmlns="http://www.bea.com/ns/weblogic/90/diagnostics"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/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 のインスツルメンテーション コンポーネントに由来するイベントをモニタするために使用します。この種類の監視は、イベントがポストされるとトリガされます。
コード リスト 8-3 に、インスツルメンテーション監視のコンフィグレーションの例を示します。
<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>
監視ルール式は、ルールの指定に必要なすべての情報をカプセル化します。各種類の監視ルールの定義に使用するクエリ言語については、「WLDF クエリ言語」を参照してください。
![]() ![]() ![]() |