ナビゲーションをスキップ

WebLogic 診断フレームワークのコンフィグレーションと使い方

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

監視と通知のコンフィグレーション

WebLogic 診断フレームワーク (WLDF) の監視と通知コンポーネントでは、サーバとアプリケーションの状態をモニタし、監視で設定した条件に基づく通知を送信できます。監視と通知は、1 つまたは複数のサーバを対象にした診断モジュールの一部としてコンフィグレーションされます。

監視と通知については、以下の節で説明します。

 


監視と通知について

「監視」は、モニタまたは診断目的で捕捉する状況を識別します。監視は、ログ レコード、データ イベント、および収集されたメトリックを分析するようコンフィグレーションできます。監視は、監視ルールとして指定されます。監視ルールには以下の項目が指定されます。

「通知」は、監視ルール式の評価が true となった場合のアクションです。WLDF では、以下の種類の通知をサポートしています。

監視は、実行中のサーバの指定した状態またはアクティビティについて管理者に通知する場合など、役に立つ診断アクティビティの通知に関連付ける必要があります。

監視と通知は、それぞれ別にコンフィグレーションされます。通知は複数の監視に関連付けることができ、監視は複数の通知に関連付けることができます。そのため、現在のニーズに応じて、監視と通知を柔軟に再結合し、再利用することができます。

 


監視と通知のコンフィグレーションの概要

完全な監視と通知のコンフィグレーションには、1 つまたは複数の監視、1 つまたは複数の通知、通知媒体で必要な基底のコンフィグレーション (たとえば、SNMP ベースの通知の場合は SNMP コンフィグレーション) の設定が含まれます。

WLDF システム リソース コンフィグレーション ファイルで、監視と通知のコンフィグレーションに必要なメイン要素をコード リスト 6-1 に示します。コード リストで示すように、監視と通知の定義に使用するメイン要素は <watch-notification> です。監視は <watch> 要素で定義され、通知は、種類ごとに指定されている要素 (<jms-notification><jmx-notification><smtp-notification><image-notification> など) で定義されます。

コード リスト 6-1 監視と通知のコンフィグレーションのスケルトン

<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> 要素は、ログ ルールの監視によってどの通知が発動されるかを指定します。

 


監視と通知のコンフィグレーションのサンプル

診断モジュールの監視と通知のコンフィグレーションのセットに関する完全なコンフィグレーションをコード リスト 6-2 に示します。この例については、以下の 2 つの節で詳しく説明します。

コード リスト 6-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>

 

フッタのナビゲーションのスキップ  ページの先頭 前 次