Oracle® Fusion Middleware Oracle WebLogic Server 診断フレームワークのコンフィグレーションと使い方 11g リリース 1 (10.3.1) B55523-01 |
|
戻る |
次へ |
以下の節では、監視の種類とそれぞれのコンフィグレーション オプションについて説明します。
Administration Console を使用して監視の作成については、『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「診断システム モジュール用の監視の作成」を参照してください。
WLDF では、何をモニタするかによって 3 種類の監視を使用できます。
ハーベスタ監視では、ローカル実行時 MBean サーバの収集可能な MBean のセットをモニタする。
ログ監視では、サーバ ログに生成されるメッセージのセットをモニタする。
インスツルメンテーション (またはイベント データ) 監視では、WLDF インスツルメンテーション コンポーネントによって生成されるイベントのセットをモニタする。
診断モジュールの 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) AND (B > 0) ) OR C OR D.equals("active")
各変数の形式は次のとおりです。
{entityName}//{attributeName}
{entityName} は、実行時 MBean サーバに登録されている JMX の ObjectName またはハーベスタで定義されている型名、{attributeName} は、その MBean 型に定義されている属性の名前です。
注意 : 比較演算子は、XML で有効となるように適切な形をとっています。 |
コード リスト 8-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> <!-- ハーベスタ監視に対して必ずしも収集をコンフィグレーションおよび有効化 しなくてもよい。ただし、ハーベスタをコンフィグレーションすると、データのアーカイブなどの利点がある。--> <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 に、ログ監視のコンフィグレーションの例を示します。
コード リスト 8-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 のインスツルメンテーション コンポーネントに由来するイベントをモニタするために使用します。この種類の監視は、イベントがポストされるとトリガされます。
コード リスト 8-3 に、インスツルメンテーション監視のコンフィグレーションの例を示します。
コード リスト 8-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>
監視ルール式は、ルールの指定に必要なすべての情報をカプセル化します。各種類の監視ルールの定義に使用するクエリ言語については、「WLDF クエリ言語」を参照してください。