![]() ![]() ![]() ![]() |
WebLogic 診断フレームワーク (WLDF) の監視と通知コンポーネントでは、サーバとアプリケーションの状態をモニタし、監視で設定した条件に基づく通知を送信できます。監視と通知は、ドメイン内の 1 つまたは複数のサーバを対象にした診断モジュールの一部としてコンフィグレーションされます。
「監視」は、モニタまたは診断目的で捕捉する状況を識別します。監視は、ログ レコード、データ イベント、および収集されたメトリックを分析するようコンフィグレーションできます。監視は、監視ルールとして指定されます。監視ルールには以下の項目が指定されます。
「通知」は、監視ルール式の評価が true
となった場合のアクションです。WLDF では、以下の種類の通知をサポートしています。
監視は、実行中のサーバの指定した状態またはアクティビティについて管理者に通知する場合など、役に立つ診断アクティビティの通知に関連付ける必要があります。
監視と通知は、それぞれ別にコンフィグレーションされます。通知は複数の監視に関連付けることができ、監視は複数の通知に関連付けることができます。そのため、現在のニーズに応じて、監視と通知を柔軟に再結合し、再利用することができます。
完全な監視と通知のコンフィグレーションには、1 つまたは複数の監視、1 つまたは複数の通知、通知媒体で必要な基底のコンフィグレーション (たとえば、SNMP ベースの通知の場合は SNMP コンフィグレーション) の設定が含まれます。
WLDF システム リソース コンフィグレーション ファイル (DIAG_MODULE
.xml
) の、監視と通知のコンフィグレーションに必要な主な要素をコード リスト 7-1 に示します。コード リストで示すように、監視と通知を定義するための基本要素は <watch-notification>
です。監視は <watch>
要素で定義され、通知は、種類ごとに指定されている要素 (<jms-notification>
、<jmx-notification>
、<smtp-notification>
、<image-notification>
など) で定義されます。
<wldf-resource>
<!-- ----- 他のシステム リソース コンフィグレーション要素 ----- -->
<watch-notification>
<log-watch-severity>
<!-- ログ監視による評価のしきい値となる重大度
(監視レベルでさらに限定することが可能) -->
</log-watch-severity>
<!-- ----- 監視のコンフィグレーション要素 : ----- -->
<watch>
<!-- 監視ルール -->
</watch>
<watch>
<!-- 監視ルール -->
</watch>
<!-- その他の監視のコンフィグレーション -->
<!-- ----- 通知コンフィグレーション要素 : ----- -->
<!-- 以下の通知コンフィグレーション要素では、サポートされている
通知の各種類の 1 つを表示する。ただし、すべての種類が
どのシステム リソース コンフィグレーションでも必要なわけではなく、複数の種類が
認められる -->
<jms-notification>
<!-- JMS ベースの通知のコンフィグレーション。jms-server 要素と
jms-system-resource 要素を介して、対応する JMS コンフィグレーションを
必要とする -->
</jms-notification>
<jmx-notification>
<!-- JMX ベースの通知のコンフィグレーション -->
</jmx-notification>
<smtp-notification>
<!-- SMTP ベースの通知のコンフィグレーション。mail-session 要素を
介して、対応する SMTP コンフィグレーションを必要とする -->
</smtp-notification>
<snmp-notification>
<!-- SNMP ベースの通知のコンフィグレーション。snmp-agent 要素を
介して、対応する SNMP コンフィグレーションを
必要とする -->
</snmp-notification>
<image-notification>
<!-- イメージベースの通知のコンフィグレーション -->
</image-notification>
<watch-notification>
<!-- ----- 他のコンフィグレーション要素 ----- -->
</wldf-resource>
注意 : | 通知媒体は、その通知媒体に応じた通知で使用できるようにコンフィグレーションする必要がありますが、そのコンフィグレーションは、診断モジュール自体のコンフィグレーションの一部ではありません。つまり、通知媒体は、診断モジュールのコンフィグレーションファイルの <wldf-resource> 要素でコンフィグレーションされるものではありません。 |
個々の通知と監視に対して <enabled>true</enabled>
または <enabled>false</enabled>
を設定すると、各監視と通知を個別に有効化および無効化できます。また、すべての通知と監視に対して <enabled>true</enabled>
または <enabled>false</enabled>
を設定すると、監視と通知の機能全体を有効化および無効化できます。デフォルト値は <enabled>true</enabled>
です。
<watch-notification>
要素には、<log-watch-severity>
下位要素があります。この下位要素は、ログ ルールの監視によってトリガされる通知の発動に影響します。
監視をトリガしたログ メッセージの最大の重大度レベルが、指定されている重大度レベルと同じレベル以上でなければ、その監視でトリガされる通知は発動しません。ただし、これはログ ルール タイプの監視によって発動される通知にのみ適用されます。この要素を、監視に対して定義する <severity>
要素と混同しないでください。<severity>
要素は、監視自体に重大度を割り当てるものですが、<log-watch-severity>
要素は、ログ ルールの監視によってどの通知が発動されるかを指定します。
診断モジュールの監視と通知のコンフィグレーションのセットに関する完全なコンフィグレーションをコード リスト 7-2 に示します。この例については、以下の 2 つの章で詳しく説明します。
<?xml version='1.0' encoding='UTF-8'?>
<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>
<!-- インスツルメンテーション監視用に、インスツルメンテーションをコンフィグレーション
および有効化する必要がある -->
<instrumentation>
<enabled>true</enabled>
<wldf-instrumentation-monitor>
<name>DyeInjection</name>
<description>Dye Injection monitor</description>
<dye-mask xsi:nil="true"></dye-mask> <properties>ADDR1=127.0.0.1</properties>
</wldf-instrumentation-monitor>
</instrumentation>
<!-- ハーベスタ監視に対して必ずしも収集をコンフィグレーションおよび有効化
しなくてもよい。ただし、ハーベスタをコンフィグレーションすると、データの
アーカイブなどの利点がある。 -->
<harvester>
<name>mywldf1</name>
<sample-period>20000</sample-period>
<harvested-type>
<name>weblogic.management.runtime.ServerRuntimeMBean</name>
</harvested-type>
<harvested-type>
<name>weblogic.management.runtime.WLDFHarvesterRuntimeMBean</name>
</harvested-type>
</harvester>
<!-- すべての監視と通知は、watch-notification 要素で定義される -->
<watch-notification>
<enabled>true</enabled>
<log-watch-severity>Info</log-watch-severity>
<!-- ハーベスタ監視のコンフィグレーション -->
<watch>
<name>myWatch</name>
<enabled>true</enabled>
<rule-type>Harvester</rule-type>
<rule-expression>${com.bea:Name=myserver,Type=ServerRuntime//SocketsOpenedTotalCount} >= 1</rule-expression>
<alarm-type>AutomaticReset</alarm-type>
<alarm-reset-period>60000</alarm-reset-period>
<notification>myMailNotif,myJMXNotif,mySNMPNotif</notification>
</watch>
<!-- インスツルメンテーション監視のコンフィグレーション -->
<watch>
<name>myWatch2</name>
<enabled>true</enabled>
<rule-type>EventData</rule-type>
<rule-expression>
(MONITOR LIKE `JDBC_After_Execute') AND
(DOMAIN = `MedRecDomain') AND
(SERVER = `medrec-adminServer') AND
((TYPE = `ThreadDumpAction') OR (TYPE = TraceElapsedTimeAction')) AND
(SCOPE = `MedRecEAR')
</rule-expression>
<notification>JMXNotifInstr</notification>
</watch>
<!-- ログ監視のコンフィグレーション -->
<watch>
<name>myLogWatch</name>
<rule-type>Log</rule-type>
<rule-expression>MSGID='BEA-000360'</rule-expression>
<severity>Info</severity>
<notification>myMailNotif2</notification>
</watch>
<!-- JMX 通知 -->
<jmx-notification>
<name>myJMXNotif</name>
</jmx-notification>
<!-- 2 つの SMTP 通知 -->
<smtp-notification>
<name>myMailNotif</name>
<enabled>true</enabled>
<mail-session-jndi-name>myMailSession</mail-session-jndi-name>
<subject>This is a harvester alert</subject>
<recipient>username@emailservice.com
</recipient>
</smtp-notification>
<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>
<!-- SNMP 通知 -->
<snmp-notification>
<name>mySNMPNotif</name>
<enabled>true</enabled>
</snmp-notification>
</watch-notification>
</wldf-resource>
![]() ![]() ![]() |