この章の内容は次のとおりです。
WebLogic Server管理コンソールを使用して通知を作成する方法の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの診断システム・モジュールの監視用の通知の作成を参照してください。
通知監視ルールの評価がtrueとなった場合にトリガーされるアクションです。WLDFでは、配信メカニズムに従って、Java Management Extensions (JMX)、Java Message Service (JMS)、Simple Mail Transfer Protocol (SMTP)、およびSimple Network Management Protocol (SNMP)の4種類の診断通知がサポートされています。また、診断イメージを生成する通知を作成することもできます。
診断モジュールの構成ファイルでは、以下の要素によって、種類の異なる通知が識別されます。
<jmx-notification>
<jms-notification>
<snmp-notification>
<smtp-notification>
<image-notification>
上記のいずれの通知にも、<name>および<enabled>構成オプションがあります。<name>の値は、監視を対応する通知にマップするために監視の<notification>要素の値として使用されます。<enabled>要素をtrueに設定すると、その通知が有効になります。つまり、関連する監視がtrueと評価すると、通知が起動されます。<name>および<enabled>を除き、各通知は一意です。
注意:
通知をプログラム的に定義するには、weblogic.diagnostics.watch.WatchNotificationを使用します。
関連する監視がトリガーされると、WLDFは、定義されたJMX通知ごとにJMXイベント(通知)を発行します。すべての通知を受信し、指定した出力をフィルタ処理するために、各アプリケーションは、通知リスナーをサーバーのWLDFWatchJMXNotificationRuntimeMBeanに登録できます。JMXクライアントがフィルタとして使用できるJMX「通知タイプ」の文字列を指定することもできます。
コード・リスト11-1では、JMX通知の構成のサンプルを示します。
コード・リスト11-1 JMX通知の構成のサンプル
<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> <!-- One or more watch configurations --> <jmx-notification> <name>myJMXNotif</name> <enabled>true</enabled> </jmx-notification> <!-- Other notification configurations --> </watch-notification> </wldf-resource>
次に、JMX通知の例を示します。
Notification name: myjmx called. Count= 42. Watch severity: Notice Watch time: Jul 19, 2005 3:40:38 PM EDT Watch ServerName: myserver Watch RuleType: Harvester Watch Rule: ${com.bea:Name=myserver,Type=ServerRuntime//OpenSocketsCurrentCount} > 1 Watch Name: mywatch Watch DomainName: mydomain Watch AlarmType: None Watch AlarmResetPeriod: 10000
JMS通知は、関連する監視のトリガーに応じてJMSトピックまたはJMSキューにメッセージをポストするために使用します。システム・リソース構成ファイルの<destination-jndi-name>要素と<connection-factory-jndi-name>要素で、メッセージの配信方法を定義します。
例11-2に、指定した接続ファクトリを使用して、指定トピックおよびキューからJMSメッセージを送信する2つのJMS通知を示します。この処理を適切に行うためには、ドメインのconfig.xml
ファイルでJMSが適切に構成されている必要があります。また、JMSリソースがこのサーバーに対象指定されている必要があります。
例11-2 JMS通知のサンプル
<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> <!-- One or more watch configurations --> <jms-notification> <name>myJMSTopicNotif</name> <destination-jndi-name>MyJMSTopic</destination-jndi-name> <connection-factory-jndi-name>weblogic.jms.ConnectionFactory </connection-factory-jndi-name> </jms-notification> <jms-notification> <name>myJMSQueueNotif</name> <destination-jndi-name>MyJMSQueue</destination-jndi-name> <connection-factory-jndi-name>weblogic.jms.ConnectionFactory </connection-factory-jndi-name> </jms-notification> <!-- Other notification configurations --> </watch-notification> </wldf-resource>
監視および通知の詳細は、通知メッセージの内容で示されます。
Simple Network Management Protocol (SNMP)通知は、関連する監視のトリガーに応じてSNMPトラップをポストするために使用します。SNMP通知を定義するには、例11-3に示すように、通知名を指定するだけで済みます。生成されたトラップには、トラップが生成される原因になった監視および通知の両方の名前が含まれます。SNMPトラップを適切に行うためには、ドメインのconfig.xml
構成ファイルでSNMPが適切に構成されている必要があります。
例11-3 SNMP通知の構成のサンプル
<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> <!-- One or more watch configurations --> <snmp-notification> <name>mySNMPNotif</name> </snmp-notification> <!-- Other notification configurations --> </watch-notification> </wldf-resource>
例11-3のSNMP通知の構成によって生成されるトラップの型は85です。ここには、以下の値が含まれます(構成された値は山カッコ「<>」で示します)。
.1.3.6.1.4.1.140.625.100.5 timestamp (e.g. Dec 9, 2004 6:46:37 PM EST .1.3.6.1.4.1.140.625.100.145 domainName (e.g. mydomain") .1.3.6.1.4.1.140.625.100.10 serverName (e.g. myserver) .1.3.6.1.4.1.140.625.100.120 <severity> (e.g. Notice) .1.3.6.1.4.1.140.625.100.105 <name> [of watch] (e.g. simpleWebLogicMBeanWatchRepeatingAfterWait) .1.3.6.1.4.1.140.625.100.110 <rule-type> (e.g. HarvesterRule) .1.3.6.1.4.1.140.625.100.115 <rule-expression> .1.3.6.1.4.1.140.625.100.125 values which caused rule to fire (e.g..State = null,weblogic.management.runtime.WLDFHarvesterRuntimeMBean. TotalSamplingTime = 886,.Enabled = null,weblogic.management.runtime.ServerRuntimeMBean. OpenSocketsCurrentCount = 1,) .1.3.6.1.4.1.140.625.100.130 <alarm-type> (e.g. None) .1.3.6.1.4.1.140.625.100.135 <alarm-reset-period> (e.g. 10000) .1.3.6.1.4.1.140.625.100.140 <name> [of notification] (e.g.mySNMPNotif)
Simple Mail Transfer Protocol (SMTP)通知は、関連する監視のトリガーに応じてSMTPプロトコルでメッセージ(電子メール)を送信するために使用します。SMTP通知を定義するには、最初にSMTPセッションを構成します。その構成は、ドメインのconfig.xml
構成ファイルで永続化されます。DIAG_MODULE
.xml
で、下位要素<mail-session-jndi-name>を使用して構成済SMTPセッションを指定し、下位要素<recipients>を使用して宛先(少なくとも1つ)のリストを指定します。下位要素<subject>では件名、<body>では本文を指定できます(いずれも省略可能)。これらを指定しない場合、デフォルトが使用されます。
例11-4に、構成されたSMTPセッションから構成された宛先にSMTP (電子メール)メッセージを配信するSMTP通知を示します。この通知の構成では、カスタム・サブジェクトおよび本文が記述されています。件名または本文を指定しなかった場合は、デフォルト設定(監視および通知の詳細表示)が使用されます。
例11-4 SMTP通知の構成のサンプル(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> <!-- One or more watch configurations --> <smtp-notification> <name>mySMTPNotif</name> <mail-session-jndi-name>MyMailSession</mail-session-jndi-name> <subject>Critical Problem!</subject> <body>A system issue occurred. Call Winston ASAP. Reference number 81767366662AG-USA23.</body> <recipients>administrator@myCompany.com</recipients> </smtp-notification> <!-- Other notification configurations --> </watch-notification> </wldf-resource>
監視および通知の詳細は、通知メッセージの内容で示されます。
イメージ通知を使用すると、関連する監視のトリガーに応じて診断イメージが生成されます。イメージ通知には、ディレクトリとロックアウト期間の2つのオプションを構成できます。
ディレクトリ名はイメージの生成先を示します。ロックアウト期間には、最後にイメージが生成されてから新しいイメージが生成されるまでに経過する必要のある秒数を指定します。サーバーの障害と回復が繰り返される場合に、生成されるイメージの数を制限するのに便利です。
DOMAIN_HOME
\servers\
SERVER_NAME
を基準にした相対パスでディレクトリ名を指定できます。デフォルト・ディレクトリはDOMAIN_HOME
\servers\
SERVER_NAME
\logs\diagnostic-images
です。
イメージ・ファイル名は、その時点のタイム・スタンプを基に生成されます(たとえば、diagnostic_image_myserver_2005_08_09_13_40_34.zip
)。この通知は、発動するたびに別個のイメージ・ファイルを生成するので、何度でも発動可能です。
構成はDIAG_MODULE
.xml
構成ファイルに保存されます。例11-5に、ロックアウト期間が2分間で、イメージがDOMAIN_HOME
\servers\
SERVER_NAME
\images
ディレクトリに生成されるように指定したイメージ通知の構成を示します。
例11-5 イメージ通知の構成のサンプル( 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> <!-- One or more watch configurations --> <image-notification> <name>myImageNotif</name> <enabled>true</enabled> <image-lockout>2</image-lockout> <image-directory>images</image-directory> </image-notification> <!-- Other notification configurations --> </watch-notification> </wldf-resource>
診断イメージの詳細は、「診断イメージの構成とキャプチャ」参照してください。