ヘッダーをスキップ
Oracle Enterprise Manager管理
11gリリース1(11.1.0.1)
B61022-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 通知

通知システムによって、アラート、ポリシー違反、およびジョブ実行ステータスの変更がEnterprise Manager管理者に通知されます。管理者への通知以外にも、たとえばアラートがトリガーされるとオペレーティング・システム・コマンド(スクリプトを含む)やPL/SQLプロシージャを実行するなどのアクションが可能です。この機能により、特定のアラート条件に対して所定のIT手法を自動的に実施できます。たとえば、データベースの動作(稼働/停止)ステータスの監視時にアラートが生成されたときに、通知システムによってOSスクリプトを介して社内のトラブル・チケットを自動的に開き、担当のITスタッフが適時に応答できるようにします。

また、Enterprise Managerの通知システムでは、Simple Network Management Protocol(SNMP)トラップを使用して、HP OpenViewなどのSNMP対応サード・パーティ・アプリケーションにトラップを送信できます。一部の管理者は、特定のメトリックがしきい値を超えた時点でサード・パーティ・アプリケーションに通知を送信する場合があります。

この章では次の内容について説明します。

通知の設定

すべてのEnterprise Manager管理者は、各自の電子メール通知を設定できます。スーパー管理者は、他のEnterprise Manager管理者の通知も設定できます。

通知用のメール・サーバーの設定

Enterprise Managerで電子メール通知の送信を行うには、あらかじめ、通知システムで使用する送信メール(SMTP)サーバーを設定する必要があります。設定後は、自分の電子メール通知を定義できます。スーパー管理者権限を持っている場合は、他のEnterprise Manager管理者の電子メール通知も定義できます。

送信メール(SMTP)サーバーは、「通知メソッド」ページ(図3-1)で指定します。「通知メソッド」ページを表示するには、Grid Controlコンソールの任意のページで「設定」をクリックし、垂直ナビゲーション・バーの「通知メソッド」をクリックします。


注意:

SMTPサーバーを設定するには、スーパー管理者権限が必要です。

1つ以上の送信メール・サーバー名、(必要な場合は)メール・サーバー認証資格証明(「ユーザー名」、「パスワード」および「パスワードの確認」)、通知メッセージの送信者として表示する名前、および電子メール通知の送信に使用する電子メール・アドレスを指定します。送信者のメール・アドレスと呼ばれるこのアドレスは、指定する各メール・サーバー上で有効なアドレスである必要があります。電子メール通知の送信時に問題が発生した場合は、この電子メール・アドレスにメッセージが送信されます。例3-1は通知メソッド・エントリの例を示しています。

例3-1 メール・サーバーの設定

  • 送信メール(SMTP)サーバー: smtp01.mycorp.com:587, smtp02.mycorp.com

  • ユーザー名: myadmin

  • パスワード: ******

  • パスワードの確認: *******

  • 送信者ID: Enterprise Manager

  • 送信者の電子メール・アドレス: mgmt_rep@mycorp.com

  • セキュアな接続を使用: いいえ: 電子メールは暗号化されません。SSL: 電子メールはSecure Sockets Layer protocolを使用して暗号化されます。使用可能な場合はTLS: メール・サーバーがTransport Layer Security(TLS)プロトコルをサポートしている場合、電子メールはTLSを使用して暗号化されます。サーバーがTLSをサポートしない場合、電子メールは自動的にプレーン・テキストで送信されます。

図3-1 メール・サーバーの定義

「通知メソッド」ページ上の定義入力フィールドです。
「図3-1 メール・サーバーの定義」の説明


注意:

このページで指定する電子メール・アドレスは、通知の送信先の電子メール・アドレスではありません。この電子メール・アドレス(通知の送信先)は「プリファレンス」の「一般」ページで指定する必要があります。

電子メール・サーバーの構成後、「メール・サーバーのテスト」をクリックして電子メール設定を検証します。「送信者の電子メール・アドレス」フィールドで指定した電子メール・アカウントで、電子メール・メッセージが受信されていることを確認する必要があります。

複数のメール・サーバーを定義すると、電子メール通知の配信の信頼性が向上し、複数のシステム間に負荷を分散できます。管理サービスは電子メールの送信に各メール・サーバーを使用し、その動作は$ORACLE_HOME/sysman/config/emoms.propertiesファイルに定義されている次のパラメータで制御されます。

例3-2 管理サービスのパラメータ

# The maximum number of emails that can be sent in a single connection to an

# email server

# em.notification.emails_per_connection=20

#

# The maximum number of emails that can be sent in a minute

# em.notification.emails_per_minute=250

例3-2のデフォルトに基づいて、1番目のメール・サーバーが20通の電子メールを送信すると管理サービスは2番目のメール・サーバーに切り替え、そのメール・サーバーが次の20通の電子メールを送信すると、3番目のメール・サーバーに切り替えます。これによって1つのメール・サーバーへの過大な負荷が回避され、全体的な信頼性とスループットが向上します。

繰返し通知の設定

繰返し通知を使用すると、アラートが通知されるか、「繰返し通知の最大数」の値に到達するまで、繰り返し通知できます。Enterprise Managerでは、すべての通知メソッド(電子メール、OSコマンド、PL/SQLプロシージャおよびSNMPトラップ)向けの繰返し通知をサポートします。通知メソッド向けにこの機能を有効にするには、「繰返し通知の送信」オプションを選択します。繰返し通知の最大回数の設定に加えて、通知送信の時間間隔も設定できます。


重要:

Grid Controlリポジトリのデータベース・バージョンが9.2の場合は、aq_tm_processes init.oraパラメータを少なくとも1に設定し、繰返し通知の機能を有効化します。

ルールの繰返し通知

通知メソッド・レベルでグローバルに繰返し通知を設定する場合、柔軟性が不十分な可能性があります。たとえば、メトリック・タイプまたはアラート重大度(あるいはその両方)に基づいて異なる繰返し通知設定を使用する場合などが考えられます。Enterprise Managerでは、個別の通知ルールに繰返し通知を設定することでこれを実現できます。ルール・レベルで設定した繰返し通知は、通知メソッド・レベルで定義されたものより優先されます。


重要:

ルール用の繰返し通知は、「繰返し通知の送信」オプションが「通知メソッド」ページで有効化されている場合のみ送信されます。

PL/SQL、OSコマンドおよびSNMPトラップの各通知メソッドについて、繰返し通知をサポートするように有効化する必要があります。新しい通知メソッドを追加、または既存のメソッドを編集する際に、「繰返し通知のサポート」オプションを選択できます。

図3-2 OSコマンド通知メソッド用に繰返し通知を有効化

図3-2の説明が続きます
「図3-2 OSコマンド通知メソッド用に繰返し通知を有効化」の説明

自分用の電子メールの設定

電子メールで通知を受信するには、Grid Controlコンソールで「プリファレンス」リンクをクリックし、「一般」ページで自分の電子メール・アドレスを指定する必要があります。通知用の電子メール・アドレスを定義するのみでなく、電子メール・アドレスで使用する通知メッセージ形式(長いまたは短い)を関連付けます。

電子メールを設定するには、次の3つの手順を実行します。

手順1: 電子メール・アドレスの定義

手順2: 通知スケジュールの設定

手順3: 通知ルール用の電子メールを受信するようにサブスクライブ

電子メール・アドレスの定義

電子メール・アドレスには最大128文字を使用できます。電子メール・アドレスの数の上限はありません。

電子メール・アドレスを追加する手順は、次のとおりです。

  1. Grid Controlコンソールで、「プリファレンス」をクリックします。デフォルトでは、「一般」ページが選択されます。

  2. 「行の追加」をクリックして、新規の電子メール入力フィールドを「電子メール・アドレス」表に作成します。

  3. Enterprise Managerアカウントに関連付けられている電子メールを指定します。Enterprise Managerから受信するすべての電子メール通知が、指定した電子メール・アドレスに送信されます。

    たとえば、user1@oracle.comなどです。

    電子メール・アドレスのメッセージの形式を選択します。「長い書式」では、詳細情報を含むHTML形式の電子メールが送信されます。例3-3は、長い書式を使用する一般的な通知を示します。

    「短い書式」(例3-4)では、簡潔なテキスト形式の電子メールが送信されます。この形式は、構成可能な文字数に制限されているため、SMSメッセージまたはページとして電子メールを受信できます。メッセージの内容全部を件名か本文のどちらか一方に含めて送信でき、またメッセージを件名と本文に分割して送信できます。たとえば、件名と本文に分割して送信する場合、件名には重大度タイプ(クリティカルなど)とターゲット名などを含めます。本文には、重大度の発生時刻と重大度メッセージなどを含めます。メッセージの長さに制限があるため、これらの情報の一部が切り捨てられる場合があります。切捨てが行われた場合は、メッセージの最後に省略記号が表示されます。

  4. 「適用」をクリックし、電子メールを保存します。

例3-3 アラート用の長い書式の電子メール通知

Name=myhost.com

Type=Host

Host=myhost.com

Metric=Filesystem Space Available (%)

Mount Point =/usr

Timestamp=06-OCT-2006 16:27:05 US/Pacific

Severity=Warning

Message=Filesystem / has only 76.07% available space

Rule Name=Host Availability and Critical States

Rule Owner=SYSMAN

例3-4 アラート用の短い書式の電子メール通知

Subject is :

EM:Unreachable Start:myhost

Body is :

Nov 16, 2006 2:02:19 PM EST:Agent is Unreachable (REASON = Connection refused) 

but the host is UP

短い電子メール書式の詳細

Enterprise Managerでは、ページングやSMSなどのメッセージ・サービスを直接はサポートしていませんが、かわりに外部のゲートウェイを使用し、電子メールからページへの変換などを実行しています。

短い書式の電子メールのサイズおよび書式は、emoms.propertiesファイル内のエントリによって定義されます。

使用するデバイスでサポート可能な最大サイズと、メッセージを件名、本文、その両方のいずれの形式で送信するかを設定する必要があります。

短い電子メール書式用のemoms.propertiesのエントリ

# The maximum size of a short format email

# em.notification.short_format_length=155

# The format of the short email. It can be set to subject, body or both.

#

# When set to subject the entire message is sent in the subject i.e.

#  EM:<severity>:<target>:<message>:<timestamp>

# When set to body the entire message is sent in the body i.e.

#  EM:<severity>:<target>:<message>:<timestamp>

# When set to both the message is split i.e. the subject contains

#  EM:<severity>:<target>

# and the body contains

#  <message>:<timestamp>

# In all cases the message is truncated to the length specified in the

# em.notification.short_format_length parameter

# em.notification.short_format=both

通知スケジュールの設定

電子メール通知アドレスの定義後、通知スケジュールを定義する必要があります。たとえば、電子メール・アドレスがuser1@oracle.com、user2@oracle.comおよびuser3@oracle.comの場合、通知スケジュールの各期間について、これらの電子メール・アドレスの中から1つ以上を選択して使用できます。


注意:

最初に電子メール・アドレスを入力すると、常時毎週の通知スケジュールが自動的に設定されます。監視要件にあわせてこのスケジュールを確認し、変更できます。

通知スケジュールとは、コール時スケジュール(Enterprise Managerにより通知の送信に使用される期間および電子メール・アドレス)を指定するときに使用する反復スケジュールです。各管理者には、通知スケジュールが1つのみ存在します。管理者に通知を送信する必要がある場合、Enterprise Managerにより管理者の通知スケジュールが参照され、使用する電子メール・アドレスが決定されます。スーパー管理者であるか、通常のEnterprise Manager管理者であるかによって、通知スケジュールを定義するプロセスは若干異なります。

通常のEnterprise Manager管理者が自分の通知スケジュールを定義する手順は、次のとおりです。

  1. Enterprise ManagerのGrid Controlで、ページの上部にある「プリファレンス」をクリックします。デフォルトでは、「一般」ページが選択されます。

  2. 垂直ナビゲーション・バーの「通知スケジュール」をクリックします。「通知スケジュール」ページが表示されます。

  3. 「通知スケジュール」ページの指示に従い、電子メールを受け取る時刻を指定します。

通知ルールの電子メールを受信するようにサブスクライブ

通知ルールとは、アラート、ポリシー違反、修正処理の実行ステータス、およびジョブ実行ステータスに関する通知を送信する基準を定義する、ユーザー定義のルールです。具体的に各ルールでは、対象となる基準と、これらの通知の送信に使用する通知メソッド(電子メールなど)を指定できます。たとえば、データベースが停止した場合やデータベース・バックアップ・ジョブが失敗した場合に、電子メールが送信され、ログ・トラブル・チケット通知メソッドがコールされるようなルールを設定できます。または、ホストのCPUまたはメモリー使用率がクリティカル重大度に到達した場合に、SNMPトラップが他の管理コンソールに送信されるルールを定義することもできます。通知ルールの作成時に、対象とするターゲット、ターゲットの監視メトリック、関連付けるアラート重大度条件(クリア、警告、クリティカル)、ポリシー違反、修正アクションの実行ステータス、ジョブ実行ステータスなどの基準を指定し、関連付ける通知メソッドを指定します。

作成した通知ルールをサブスクライブするには、ルールの作成時に、「アクション」ページに移動し、「電子メールを送信」オプションを選択します。

即時利用可能な通知ルール

Enterprise Manager Grid Controlには、一般的なアラート条件のほとんどに対応する即時利用可能な通知ルールが付属しています。Oracle Management Serviceをインストールする際に、クリティカル・アラートに対して電子メール通知を受け取るかどうかのオプションを選択できます。このオプションを選択した場合、SYSMANユーザーの電子メール・アドレスが指定されていれば、一般的なターゲット・タイプの可用性状態およびクリティカル状態に対応するデフォルトの通知ルールがいくつか作成され、通知ルールに定義された条件に対する電子メール通知がSYSMAN電子メール・アドレスに送信されるように構成されます。

即時利用可能な通知ルールにアクセスするには、Enterprise Managerコンソールの任意のページで「プリファレンス」をクリックし、垂直ナビゲーション・バーの「パブリック・ルール」をクリックします。即時利用可能な通知ルールで定義されている条件が要件を満たしている場合は、「パブリック・ルール」表で、対象となる通知ルールに対応する行の「サブスクライブ」列をクリックするだけで、ルール内に定義されている条件に対する電子メール通知を受け取るようにサブスクライブできます。「適用」をクリックし、変更を保存します。

表3-1に、デフォルトの通知ルールをすべてリストします。これらのルールはすべてパブリック・ルールで、SYSMANユーザーが所有しています。

表3-1 デフォルトの通知ルール

名前 説明 適用対象となるターゲットのタイプ 通知送信時の可用性状態 アラート重大度がクリティカルの場合に通知が送信されるメトリック

エージェントのアップロードの問題

管理サービスへのデータのアップロードに問題があるエージェントの監視に関する、システム生成の通知ルール。

Oracle Management Serviceおよびリポジトリ

該当なし

データをアップロードしないターゲットの数

エージェント使用不可

ネットワーク上の問題、ホストの問題またはエージェントの停止のために管理サービスと接続できないエージェントの監視に関する、システム生成の通知ルール。

エージェント

エージェント使用不可エージェント使用不可解決

該当なし

Application Server Availability and Critical States

アプリケーション・サーバーの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

アプリケーション・サーバー

停止中

CPU使用率(%)

Database Availability and Critical States

データベースの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

データベース(単一インスタンスのみ)

停止中

プロセス制限使用率(%)

セッション制限使用率(%)

ブロックしているセッション数: すべてのオブジェクト

アーカイバ・ハングのアラート・ログ・エラー・ステータス

データ・ブロック破損のアラート・ログ・エラー・ステータス

一般的なアラート・ログ・エラー・ステータス

メディア障害のアラート・ログ・エラーのステータス

セッション終了のアラート・ログ・エラー・ステータス

アーカイブ領域使用率(%): すべてのオブジェクト

拡張不可能なセグメント数: すべてのオブジェクト

最大エクステントに近づいているセグメント数: すべてのオブジェクト

表領域使用率(%): すべてのオブジェクト

待機時間(%)

HTTP Server Availability and Critical States

HTTP Serverの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

Oracle HTTP Server

停止中

CPU使用率(%)

ビジー・プロセスの割合

アクティブなHTTP接続

リクエスト処理時間(秒)

Host Availability and Critical States

ホストの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

ホスト

エージェント使用不可

エージェント使用不可解決

平均ディスクI/Oサービス時間(ミリ秒)

ディスク・デバイス・ビジー(%)

使用可能なファイルシステム領域(%)

I/O待機中のCPU使用率(%)

実行キューの長さ(5分平均)

CPU使用率(%)

メモリー使用率(%)

メモリー・ページ・スキャン率/秒

スワップ使用率(%)

ネットワーク・インタフェース結合使用率(%)

リスナー可用性

データベース・リスナーの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

リスナー

停止中

該当なし

Misconfigured Agents

誤って構成されたエージェントに関する、システム生成の通知ルール。

エージェント

エージェント使用不可

エージェント使用不可解決

連続した重大度アップロード失敗数 連続したハートビート失敗数

OMSエージェントの時間誤差 連続したメタデータ・アップロード失敗数

OC4J Availability and Critical States

OC4Jインスタンスの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

OC4J

停止中

CPU使用率(%)

OC4Jインスタンス - リクエスト処理時間(秒)

OC4Jインスタンス - アクティブ・セッション

OMS Service Initialization Errors

OMSサービスの初期化エラー監視に関する、システム生成の通知ルール。

OMSおよびリポジトリ

該当なし

サービス・ステータス

PAF Status Notification

プロビジョニング・アドバイザ・フレームワークに関する、システム生成の通知ルール。インスタンス・クリエータにステータスの更新を通知します。

該当なし

稼働中

停止中

停止中のターゲットに対する修正処理

エージェント使用不可

エージェント使用不可解決

メトリック・エラー検出

メトリック・エラー解決ブラックアウト開始

ブラックアウト終了

該当なし

リポジトリ操作の可用性

管理リポジトリの一部であるDBMSジョブの可用性監視に関する、システム生成の通知ルール。

OMSおよびリポジトリ

クリティカル

DBMSジョブの稼働/停止

Violation Notification for Database Security Policies

データベース構成の安全性監視に関する、システム生成の通知ルール。

データベース

クリティカル

該当なし

Web Cache Availability and Critical States

Webキャッシュのインスタンスの可用性およびメトリックのクリティカル・ステータス監視に関する、システム生成の通知ルール。

Oracle Web Cache

停止中

ヒット(全リクエストに占める割合)

WebキャッシュCPU使用率(%)


独自の通知ルールの作成

デフォルトの通知ルールがニーズを満たさない場合は、独自のカスタム・ルールを作成できます。次の手順では、スーパー管理者ではない管理者が通知ルールを作成するプロセスを説明します。

独自の通知ルールを作成する手順は、次のとおりです。

  1. Enterprise Manager Grid Controlで、「プリファレンス」をクリックします。

  2. 垂直ナビゲーション・バーの「ルール」をクリックします。

    スーパー管理者権限を持つ管理者には「ルール」が表示されますが、スーパー管理者権限を持つ管理者としてログインしていない場合は、「ルール」のリンクが表示されます。

  3. 「作成」をクリックします。

    Enterprise Managerでは、「通知ルールの作成」ページが表示されます。各ページで、通知ルールの作成に必要な情報を入力します。

    通知ルール・プロパティを指定するとき、権限がない他のユーザーもそのルールを表示し共有できるようにするには、「一般」ページで「パブリックに設定」を選択します。たとえば、これによって他の管理者は、このルールに対する電子メールを受信するように後で指定できます。

    通知ルールの指定時には電子メールまたはSNMPトラップしか選択できません。カスタム・コマンドおよびPL/SQLプロシージャの指定は、スーパー管理者のみが利用できるオプションです。ルールに定義されている条件に対する電子メール通知を受け取るには、「アクション」ページに移動し、「電子メールを送信」オプションをチェックします。

アラート期間の基準の追加指定

通知ルールに追加でアラート期間の基準を設定し、少なくともある一定期間オープンになっているアラートで確認されていないものにのみルールを適用できます。これらの基準は、「停止中のターゲット」、「エージェント使用不可」、「メトリック」アラート、「ポリシー違反」、「ブラックアウト開始」および「メトリック・エラーの開始」アラートのみに適用されます。

追加のアラート基準を使用するような、一般的なケースは次のとおりです。

  • 少なくとも7日間オープンになっているログ・アラートに関しては、アラートをクリアします。

  • 少なくとも48時間オープンになって確認されていないアラートに関しては、DBAマネージャに電子メールを送信します。

アラート期間の基準を追加で指定する手順は、次のとおりです。

  1. 通知ルールを作成または編集します。追加のアラート基準は、「可用性」「メトリック」または「ポリシー」タブから追加できます。

  2. 前述のいずれかのタブから、「追加のアラート条件」セクションに移動し、「追加」をクリックします。「追加のアラート条件」ページが表示されます。

  3. アラート期間の基準を指定し、「続行」をクリックします。

他の管理者のための電子メールの設定

スーパー管理者権限を持っている場合は、他のEnterprise Manager管理者のために電子メール通知を設定できます。他のEnterprise Manager管理者のために電子メール通知を設定するには、次の手順を実行する必要があります。

手順1: 各管理者アカウントに電子メール・アドレスが関連付けられていることの確認

電子メール通知の送信宛先の各管理者は、有効な電子メール・アドレスを持っている必要があります。

  1. 「設定」をクリックします。

  2. 垂直ナビゲーション・バーの「管理者」をクリックします。

  3. 管理者ごとに、電子メール・アドレスを定義します。これにより、指定されたすべての電子メール・アドレスを使用するこのユーザー向けに常時通知スケジュールが設定されます。

Enterprise Managerでは、管理者の通知スケジュールを編集する際に、管理者のアドレスも指定できます。

手順2: 管理者の通知スケジュールの定義

各管理者の電子メール通知アドレスを定義後、それぞれの通知スケジュールを定義する必要があります。初めて電子メール・アドレスを指定した際には、デフォルトの常時通知スケジュールが作成されますが、通知スケジュールの内容を再確認し、適宜編集する必要があります。

  1. 「設定」をクリックします。

  2. 垂直ナビゲーション・バーの「スケジュール」をクリックします(「通知」の下にあります)。「通知スケジュール」ページが表示されます。

  3. 編集する通知スケジュールを所有する管理者を指定し、「変更」をクリックします。

  4. 「スケジュール定義の編集」をクリックします。「スケジュール定義の編集: 期間」ページが表示されます。必要に応じて、ローテーション・スケジュールを変更します。

  5. 「続行」をクリックします。「スケジュール定義の編集: 電子メール・アドレス」ページが表示されます。

  6. 「スケジュール定義の編集: 電子メール・アドレス」ページ上の指示に従って、通知スケジュールを変更します。

  7. 終了後、「終了」をクリックします。

  8. 管理者ごとに、手順3から手順7までを繰り返します。

手順3: 管理者への通知ルールの割当て

通知スケジュールを設定後、指定した管理者ごとに適切な通知ルールを割り当てる必要があります。

  1. 「設定」をクリックします。

  2. 垂直ナビゲーション・バーの「管理者」をクリックします。

  3. 希望する管理者を選択します。

  4. 「ルールにサブスクライブ」をクリックします。「パブリック通知ルールへの<administrator>のサブスクライブ」ページが表示されます。

  5. 目的の通知ルールを選択し、「サブスクライブ」をクリックします。

  6. 終了後、「OK」をクリックします。

  7. 管理者ごとに、手順3から手順6までを繰り返します。

電子メールのカスタマイズ

Enterprise Managerでは、スーパー管理者は、4つのアラート・タイプ(「メトリック・アラート」、「ターゲット可用性」、「ポリシー違反」および「ジョブ・ステータスの変更」)に対して、グローバルな電子メール通知をカスタマイズできます。簡単なスクリプト内に含まれる、事前定義されたビルディング・ブロック(属性およびラベルと呼ばれる)を使用して、スーパー管理者は、様々な情報コンテンツから選択することで、アラート電子メールをカスタマイズできます。

電子メールをカスタマイズする手順は、次のとおりです。

  1. 次のように選択して、「電子メールのカスタマイズ」ページにアクセスします。「設定」→「電子メールのカスタマイズ」を選択します。

  2. 「アラート・タイプ」および「形式」を選択します。

  3. 「編集」をクリックします。「電子メール・テンプレートの編集」ページが表示されます。

「電子メール・テンプレートの編集」ページから、Enterprise Managerが電子メール通知の生成に使用する電子メール・テンプレートの内容を変更できます。「電子メール・テンプレートの編集」ページからは、組込みのアシスタントやオンライン・ヘルプを利用して、スクリプトの書式設定、構文およびオプションに関する広範囲な情報が利用できます。

図3-3 電子メールのカスタマイズ

図3-3の説明が続きます
「図3-3 電子メールのカスタマイズ」の説明

電子メールのカスタマイズのリファレンス

次のリファレンスでは、電子メールを定義するために使用される、疑似言語の語義およびコンポーネントの構文を簡潔に示します。疑似言語により、電子メール通知をカスタマイズするための単純な、ただし柔軟な方法が提供されます。次に、疑似言語の変換/制限のサマリーを示します。

  • --で始まる個別の行を使用して、コメント(または任意の自由形式テキスト)を追加できます。コメントは、行の終わりに付加することもできます。

  • 属性を使用できます。

  • IF、ELSE、ENDIF制御構造を使用できます。ANDまたはORによって、複数の条件を使用することもできます。ネストされたIF文はサポートされていません。

  • 書式設定の目的でスペースを挿入できます。実際の電子メールでは、行頭のスペースは無視されます。行頭にスペースを挿入するには、[SP]属性を使用します。

  • エスケープするには/を使用し、属性名、演算子またはIF句を追加するには、[または]を使用します。

  • HTMLはサポートされません。

予約語および予約演算子

次の表に、電子メール・スクリプトの変更で使用されるすべての予約語と予約演算子を示します。

表3-2 予約語および予約演算子

予約語および予約演算子 説明

IF、ELSIF、ENDIF、ELSE

IF-ELSE構造の中で使用されます。

AND、OR

ブール演算子: IF-ELSE構造でのみ使用されます。

NULL

属性に関して、NULL値をチェック: IF-ELSE構造でのみ使用されます。

|


パイプ演算子: 属性のリスト内で最初の非NULL値を示すのに使用されます。

次に例を示します。

METRIC_NAME|POLICY_NAME

EQ、NEQ

EqualおよびNot-Equal演算子: NULL、STRING、NUMERIC値に適用できます。

/


エスケープ文字: 予約語および予約演算子をエスケープするのに使用します。エスケープ文字は、それに続く文字が別の意味で解釈されることを表します。

[ , ]

区切り文字は、属性名とIF節の境界を決定します。


構文の要素

リテラル・テキスト

電子メール・コンテンツの一部として任意のテキストを指定できます。テキストは電子メールの中に表示され、Oracle Management Services(OMS)の言語設定が変更されても翻訳されません。たとえば、my Oracle Homeは、生成された電子メールの中では、my Oracle Homeと表示されます。

事前定義された属性

事前定義された属性/ラベルは、特定のコンテキストで実際の値に置き換えられます。事前定義された属性/ラベルを指定するには、次の構文を使用します。

[PREDEFINED_ATTR]

属性名は、大文字でも小文字でも構いません。構文解析のプロセスでは、大/小文字が区別されません。

一組の大カッコを使用して、事前定義された属性とリテラル・テキストとを区別します。たとえば、ジョブの電子メール通知の場合、実際のジョブ名は[JOB_NAME]で置き換えられます。メトリックの電子メール通知の場合、実際のメトリックの列名は[METIRC_COLUMN]で置き換えられます。

エスケープ文字/を使用して、単語を指定し、それらを事前定義されたラベル/属性として解釈されないようにできます。たとえば、/[NEW/]は、解釈される際、事前定義された属性である[NEW]とはみなされません。

演算子

EQ、NEQ: テキストおよび数値に使用します。

NULL: テキストおよび数値に使用します。

GT、LT、GE、LE: 数値に使用します。

制御構造

次の表に、使用可能なスクリプト制御構造を示します。

表3-3 制御構造

制御構造 説明

パイプ|

2つ以上の属性を|文字で区切ることができます。次に例を示します。

[METRIC_NAME|POLICY_NAME]

この例では、現在のアラートのコンテキスト内の該当する属性のみが電子メールの中で使用されます(実際の値で置き換えられます)。複数の属性が該当する場合、一番左の属性のみが使用されます。

IF

テキスト・ブロックが条件文になります。1レベルのIFおよびELSIFのみサポートされます。ネストされたIF構造はサポートされていません。

IFまたはELSIFの評価の中ではすべての属性を使用できます。NULL値にはEQ/NEQ演算子を使用します。その他の演算子は、SEVERITYおよびREPEAT_COUNTに関してのみ使用できます。

IFブロック内では、値を引用符" "で囲む必要があります。Enterprise Managerは、EQ、およびand、orなどその他のキーワードの位置に基づいて属性名およびその値を抽出します。次に例を示します。

[IF REPEAT_COUNT EQ “1” AND SEVERITY EQ “CRITICAL” THEN]

前述の文は、アラートの属性が次の条件に一致する場合に真になります。

  • 属性名: REPEAT_COUNT

  • 属性値: 1

  • 属性名: SEVERITY

  • 属性値: CRITICAL

IFブロックの例:

[IF JOB_NAME NEQ NULL]

       [JOB_NAME_LABEL]=[JOB_NAME] 

       [JOB_OWNER_LABEL]=[JOB_OWNER] 

[ENDIF] 

 

[IF SEVERITY EQ CRITICAL ]

       [MTRIC_NAME_LABEL]=[METRIC_NAME] 

       [METRIC_VALUE_LABEL]=[METRIC_VALUE] 

       [TARGET_NAME_LABEL]=[TARGET_NAME] 

       [KEY_VALUES] 

[ENDIF] 

IFとELSEIFブロックの例:

[IF SEVERITY EQ CRITICAL]           statement1[ELSIF SEVERITY EQ WARNING]           statement2[ELSIF SEVERITY EQ CLEAR]           statement3[ELSE]           statement4[ENDIF]


コメント

1行のテキストの先頭に、ハイフンを2つ(--)付加することによって、スクリプトにコメントを追加できます。次に例を示します。

 -- Code added on 8/3/2009     [IF REPEAT_COUNT NEQ NULL]     . . . 

コメントは、テキスト行の最後にも配置できます。

[IF SEVERITY_SHORT EQ W] -- for Warning alert

カスタマイズの内容に含まれるHTMLタグ

HTMLタグの使用はサポートされません。

Enterprise Managerでは、電子メール・スクリプトを解析する際、HTMLタグに含まれる“<”および“>”の文字をエンコードした形式(&lt;および&gt;)に変換します。これにより、宛先のシステムでは、HTMLタグがHTMLとして扱われなくなります。

電子メールのカスタマイズ・テンプレート・スクリプトでは、次の3つの主要な演算子をサポートします。

  • 比較演算子: EQ/NEQ/GT/LT/GE/LE論理演算子: AND/ORパイプライン演算子: |

電子メール以外の通知の拡張

通知メソッドとは、アラートが送信される際のメカニズムを表します。Enterprise Managerのスーパー管理者は、電子メール通知メソッドを構成することで、電子メール通知を設定できます。ほとんどの場合、Oracle Management Serviceのインストールの一部としてこの設定がすでに行われています。Enterprise Managerのスーパー管理者は、その他のカスタム通知メソッドも定義できます。たとえば、アラートをサード・パーティのトラブル・チケット・システムに転送する必要がある場合です。サード・パーティのトラブル・チケット・システムでAPIが使用可能であると想定し、適切なAPIを使用するカスタムOSスクリプトをコールするようにカスタム通知メソッドを作成できます。カスタム通知メソッドには、Log trouble ticketなど、ユーザーがわかりやすい名前を付けられます。通知メソッドが一度定義されると、トラブル・チケット・システムへのアラートの送信が必要になった場合はいつでも、管理者はLog trouble ticketというグローバルに有効になった通知メソッドを起動するのみで送信できます。カスタム通知メソッドは、あらゆるカスタムOSスクリプトまたはカスタムPL/SQLプロシージャに基づいて、またはSNMPトラップを送信することで定義できます。4つ目のタイプの通知メソッド(Javaコールバック)は、Oracle内部機能をサポートするもので、Enterprise Managerの管理者によって作成または編集することはできません。

「OSコマンド」、「PL/SQL」および「SNMPトラップ」の通知メソッドを定義できるのはスーパー管理者のみです。ただし、Enterprise Managerの管理者は誰でも、(スーパー管理者が定義した)これらの通知メソッドを通知ルールに追加できます。

「通知メソッド」ページでは、次の内容を実行できます。

スクリプトとSNMPトラップを使用するカスタム通知メソッド

OSスクリプト、PL/SQLプロシージャまたはSNMPトラップに基づいて他のカスタム通知メソッドを作成できます。すべての管理者は、これらのメソッドを通知ルールの中で使用できます。

OSコマンドまたはスクリプトに基づく通知メソッドの追加

OSコマンドまたはスクリプトに基づいて通知メソッドを定義するには、次の4つの手順を実行します。


注意:

OSコマンドに基づく通知メソッドは、スーパー管理者権限を持つ管理者が構成する必要があります。

手順1: OSコマンドまたはスクリプトの定義

通知システムでコールされるOSコマンドまたはスクリプトを指定できます。スクリプト本体で、ターゲットとアラートまたはポリシー違反のコンテキスト情報、修正処理の実行ステータス、およびジョブ実行ステータスを使用できます。メトリック重大度の属性(重大度レベル、タイプ、通知ルール、ルール所有者など)またはポリシー違反情報をOSコマンドやOSスクリプトに渡すことで、アラートまたはポリシー違反に対する自動レスポンスをカスタマイズできます。たとえば、OSスクリプトで社内サポート用トラブル・チケット・システムに対するトラブル・チケットを開く場合、スクリプトに重大度レベル(クリティカル、警告など)を渡すことによって、該当する詳細とともにトラブル・チケットを開いて問題を提示できます。特定タイプの情報をOSコマンドまたはスクリプトに渡す方法の詳細は、次の各項を参照してください。

手順2: 各管理サービス・ホスト上へのスクリプトのデプロイ

管理リポジトリに接続する各管理サービス・ホスト・マシン上に、OSコマンドまたはスクリプトをデプロイする必要があります。OSコマンドは、管理サービスを開始したユーザーで実行されます。

OSコマンドまたはスクリプトは、各管理サービス・ホスト・マシン上の同じ場所にデプロイする必要があります。OSコマンドは、たとえば、/u1/bin/logSeverity.shのような絶対パスで指定する必要があります。このコマンドは、管理サービスを開始したユーザーによって実行されます。OSコマンドの実行中にエラーが発生した場合は、終了コード100を返すことで、OSコマンドへの通知の送信を再試行するように通知システムに指示できます。このプロシージャは、最初は1分後に再試行され、その後は2分後、3分後と、パージされるポイントである1日後までこの再試行が続行されます。

例3-5は、emoms.propertiesのパラメータを示します。このパラメータは、OSコマンドが管理サービスによって中断されることなく実行される期間を制御します。これによって、OSコマンドが過度に長い時間実行されるため他の通知の転送を妨げることが回避できます。デフォルトでは、コマンドは中断されるまで30秒間実行できます。

例3-5 emoms.propertiesファイルのパラメータ

# The amount of time in seconds after which an OS Command started by the

# Notification System will be killed if it has not exited

# em.notification.os_cmd_timeout=30

手順3: OSコマンドまたはスクリプトを新規の通知メソッドとして登録

このOSコマンドを通知ルールでコールできる通知メソッドとして追加します。スーパー管理者としてログインし、「設定」をクリックして、垂直ナビゲーション・バーの「通知メソッド」をクリックします。このページから、「OSコマンド」タイプに基づいて新しい通知を定義します。「OSコマンドまたはスクリプトに基づく通知メソッドの追加」を参照してください。

各OSコマンドの通知メソッドには次の情報が必要です。

  • 名前

  • 説明

    他の管理者がこのメソッドの機能を理解できるようにするため、名前と説明は両方とも明快で直観的なものにします。

  • OSコマンド

「OSコマンド」フィールドには、OSコマンドまたはスクリプトをフルパスで入力する必要があります(例: /u1/bin/myscript.sh)。複数の管理サービスを使用している環境では、管理サービスが存在する各マシン上のパスとまったく同じパスを入力します。フルパスの後にコマンドライン・パラメータを追加できます(例: /u1/bin/myscript.sh arg1 arg2)

例3-6は、通知メソッドに必要な情報を示しています。

例3-6 OSコマンド通知メソッド

Name Trouble Ticketing

Description Notification method to log trouble ticket for a severity occurrence

OS Command /private/mozart/bin/logTicket.sh


注意:

システムごとに複数のOSコマンドが構成されている場合があります。

手順4: 通知メソッドのルールへの割当て

既存のルールを編集(または新規の通知ルールを作成)後、「メソッド」ページを表示できます。「拡張通知メソッド」のリストで通知メソッドを選択し、「ルールへのメソッドの割当て」をクリックします。複数のルールを1つのメソッドに割り当てる場合、または複数のメソッドを1つのルールに割り当てる場合は、「ルールのメソッドへの割当て」または「メソッドのルールへの割当て」を参照してください。

アラートおよびポリシー違反情報のOSコマンドまたはスクリプトへの受渡し

通知システムは、システム環境変数を介してOSスクリプトまたは実行可能ファイルに重大度情報を渡します。

環境変数へのアクセスに使用される表記規則は、オペレーティング・システムによって異なります。

  • UNIX: $ENV_VARIABLE

  • Windows: %ENV_VARIABLE%

通知システムは、スクリプトをコールする前に次の環境変数を設定します。スクリプトはスクリプト・ロジック内でこれらの変数の一部またはすべてを使用します。

表3-4 環境変数

環境変数 説明

TARGET_NAME

重大度が発生したターゲットの名前。

TARGET_TYPE

重大度が発生したターゲットのタイプ。ターゲットは、監視可能なエンティティ(たとえば、「ホスト」、「データベース」、「リスナー」、「Oracle HTTP Server」など)として定義されます。監視対象ターゲットのタイプは、「すべてのターゲット」ページに表示されます。

HOST

ターゲットが存在するマシンの名前。

METRIC

重大度を生成しているメトリック。この変数は、ポリシー違反に対しては設定されません。

METRIC_VALUE

しきい値を超えたときのメトリックの値。ポリシー違反に対しては設定されません。

POLICY_RULE

しきい値を超えたときのポリシーの名前。メトリック重大度に対しては設定されません。

KEY_VALUE

一連のオブジェクトを監視するメトリックの場合、KEY_VALUEは重大度をトリガーした特定のオブジェクトを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、USERS表領域が警告またはクリティカル重大度をトリガーすると、KEY_VALUEはUSERSになります。

KEY_VALUE_NAME

一連のオブジェクトを監視するメトリックの場合、KEY_VALUE_NAMEは監視されるオブジェクトのタイプを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、KEY_VALUE_NAMEは表領域名です。

VIOLATION_CONTEXT

ポリシー違反のアラート・コンテキストを示す、名前と値が対になったカンマ区切りリスト。

TIMESTAMP

重大度が発生した時刻。

SEVERITY

重大度のタイプ。たとえば、ターゲットの(可用性)ステータス・メトリックの重大度は次のとおりです。

  • 稼働中

  • 停止中

  • 使用不可の回復

  • 使用不可の発生

  • ブラックアウト終了

  • ブラックアウト開始

他のメトリックは次のいずれかの重大度タイプとなります。

  • 警告

  • クリティカル

  • クリア

  • メトリックエラーのクリア

  • メトリック・エラーの開始

MESSAGE

条件をトリガーした対象の詳細を示すアラートのメッセージ。

RULE_NAME

「OSコマンド」通知メソッドが割り当てられた通知ルールの名前。

RULE_OWNER

通知ルールを所有するEnterprise Manager管理者の名前。


スクリプトではこれらの変数の一部またはすべてを参照できます。

例3-7に示すOSスクリプトの例では、ログ・ファイルに環境変数エントリが付加されています。この例のスクリプトでは、ファイル・サーバーの重大度の発生が記録されます。ファイル・サーバーに接続できない場合、終了コード100が返され、Oracle Management Service通知システムで通知が再試行されます。

例3-7 OSコマンド・スクリプトの例

#!/bin/ksh


LOG_FILE=/net/myhost/logs/severity.log

if test -f $LOG_FILE

then

echo $TARGET_NAME $MESSAGE $TIMESTAMP >> $LOG_FILE

else

   exit 100

fi

例3-8には、alertmsg.txtファイルにアラート情報を記録するOSスクリプトが示されています。ファイルは/u1/resultsディレクトリに保存されます。

例3-8 アラート・ロギング・スクリプト

#!/usr/bin/sh

echo "Alert logged:" > /u1/results/alertmsg.txt

echo "\n" >> /u1/results/alertmsg.txt

echo "target name is " $TARGET_NAME >> /u1/results/alertmsg.txt

echo "target type is " $TARGET_TYPE >> /u1/results/alertmsg.txt

echo "target is on host " $HOST >> /u1/results/alertmsg.txt

echo "metric in alert is " $METRIC >> /u1/results/alertmsg.txt

echo "metric index is " $KEY_VALUE >> /u1/results/alertmsg.txt

echo "timestamp is " $TIMESTAMP >> /u1/results/alertmsg.txt

echo "severity is " $SEVERITY >> /u1/results/alertmsg.txt

echo "message is " $MESSAGE >> /u1/results/alertmsg.txt

echo "notification rule is " $RULE_NAME >> /u1/results/alertmsg.txt

echo "rule owner is " $RULE_OWNER >> /u1/results/alertmsg.txt

exit 0

例3-9には、Enterprise Manager Grid ControlからHP OpenViewコンソールにアラートを送信するスクリプトが示されています。メトリック・アラートがトリガーされるとEnterprise Manager Grid Controlではアラートが表示されます。次にHP OpenViewスクリプトがコールされ、opcmsgを起動し、HP OpenView管理サーバーに情報を転送します。

例3-9 HP OpenViewスクリプト

/opt/OV/bin/OpC/opcmsg severity="$SEVERITY" app=OEM msg_grp=Oracle msg_text="$MESSAGE" object="$TARGET"

PL/SQLプロシージャに基づく通知メソッドの追加

PL/SQLプロシージャに基づく通知メソッドを定義するには、次の4つの手順を実行します。

手順1: PL/SQLプロシージャの定義

受け取られる通知のタイプに応じて、プロシージャには次のうち1つのシグネチャを含める必要があります。

アラートおよびポリシー違反の場合:

PROCEDURE p(severity IN MGMT_NOTIFY_SEVERITY)

ジョブ実行ステータス変更の場合:

PROCEDURE p(job_status_change IN MGMT_NOTIFY_JOB)

修正処理ステータス変更の場合:

PROCEDURE p(ca_status_change IN MGMT_NOTIFY_CORRECTIVE_ACTION)


注意:

ユーザーが通知ルールの作成または編集時に通知メソッドを選択するには、スーパー管理者権限を持つ管理者が、PL/SQLプロシージャに基づく通知メソッドをあらかじめ構成しておく必要があります。

特定タイプの情報をスクリプトまたはPL/SQLプロシージャに渡す方法の詳細は、次の各項を参照してください。

PL/SQLプロシージャへのアラートおよびポリシー違反情報の受渡し

修正処理ステータス変更情報の受渡し

ジョブ実行ステータス情報の受渡し

手順2: 管理リポジトリ上でのPL/SQLプロシージャの作成

次の指定プロシージャの1つを使用して、リポジトリ・データベースでPL/SQLプロシージャを作成します。

PROCEDURE p(severity IN MGMT_NOTIFY_SEVERITY)

PROCEDURE p(job_status_change IN MGMT_NOTIFY_JOB)

PROCEDURE p(ca_status_change IN MGMT_NOTIFY_CORRECTIVE_ACTION)

PL/SQLプロシージャは、(SYSMANなどの)リポジトリ所有者のデータベース・アカウントを使用してリポジトリ・データベース上に作成する必要があります。

プロシージャの実行時にエラーが発生した場合、エラー・コード-20000を使用するユーザー定義例外を返すことによって、通知システムでプロシージャへの通知の送信を再試行できます。例3-11「重大度コードを使用したPL/SQLプロシージャ」を参照してください。このプロシージャは、最初は1分後に再試行され、その後は2分後、3分後と、パージされるポイントである1日後までこの再試行が続行されます。

手順3: PL/SQLプロシージャを新規の通知メソッドとして登録

スーパー管理者としてログインし、「設定」をクリックして、垂直ナビゲーション・バーの「通知メソッド」をクリックします。このページから、PL/SQLプロシージャに基づく新規の通知を定義できます。「PL/SQLプロシージャに基づく通知メソッドの追加」を参照してください。

スキーマ所有者、パッケージ名およびプロシージャ名を含む完全修飾名を必ず使用してください。プロシージャはリポジトリ所有者によって実行されるため、リポジトリ所有者にプロシージャの実行権限があります。

PL/SQLプロシージャに基づく通知メソッドを作成します。メソッドの定義には次の情報が必要です。

  • 名前

  • 説明

  • PL/SQLプロシージャ

完全修飾プロシージャ名(OWNER.PKGNAME.PROCNAMEなど)を入力し、管理リポジトリの所有者がプロシージャの実行権限を持つようにする必要があります。

例3-10は必要な情報の例です。

例3-10 PL/SQLプロシージャの必要情報

Name Open trouble ticket

Description Notification method to open a trouble ticket in the event

PLSQL Procedure ticket_sys.ticket_ops.open_ticket

手順4: 通知メソッドのルールへの割当て

既存のルールを編集(または新規の通知ルールを作成)後、「メソッド」ページを表示できます。「拡張通知メソッド」のリストで通知メソッドを選択し、「ルールへのメソッドの割当て」をクリックします。複数のルールを1つのメソッドに割り当てる場合、または複数のメソッドを1つのルールに割り当てる場合は、「ルールのメソッドへの割当て」または「メソッドのルールへの割当て」を参照してください。

Enterprise Manager環境には複数のPL/SQLベースのメソッドが構成されている場合があります。

ターゲットの可用性に関連する重大度のタイプと、メトリック重大度およびポリシー違反の情報がPL/SQLプロシージャに渡される方法については、次の項で説明しています。

PL/SQLプロシージャへのアラートおよびポリシー違反情報の受渡し

メトリック重大度の属性(重大度のレベル、タイプ、通知ルール、ルール所有者など)またはポリシー違反情報をPL/SQLプロシージャに渡すことで、アラートまたはポリシー違反に対する自動レスポンスをカスタマイズできます。

通知システムは、MGMT_NOTIFY_SEVERITYオブジェクトを介してPL/SQLプロシージャにメトリック重大度またはポリシー違反の情報を渡します。このオブジェクトのインスタンスは、アラートまたはポリシー違反ごとに作成されます。アラートまたはポリシー違反が発生すると、通知システムは通知ルールに関連付けられているPL/SQLプロシージャをコールして、移入されたオブジェクトをプロシージャに渡します。これにより、プロシージャは渡されたMGMT_NOTIFY_SEVERITYオブジェクトのフィールドにアクセスできます。

次の表に、受渡し可能なすべてのメトリック重大度属性を示します。

表3-5 メトリック重大度属性

属性 データタイプ 属性情報

TARGET_NAME

VARCHAR2(256)

重大度が発生したターゲットの名前。

TARGET_TYPE

VARCHAR2(64)

重大度が発生したターゲットのタイプ。ターゲットは監視可能なサービスとして定義されます。

TIMEZONE

VARCHAR2(64)

ターゲットの地域のタイムゾーン

HOST_NAME

VARCHAR2(128)

ターゲットが存在するマシンの名前。

METRIC_NAME

VARCHAR2(64)

重大度を生成しているメトリックまたはポリシー。

METRIC_DESCRIPTION

VARCHAR2(128)

他の管理者が理解できるようなメトリックのわかりやすい説明。

METRIC_COLUMN

VARCHAR2(64)

表メトリックの場合、メトリック列には定義されている表の列名が含まれます。定義されているメトリックが表メトリックではない場合、この列の値はスペース1個となります。この属性は、ポリシー違反に対しては使用されません。

METRIC_VALUE

VARCHAR2(1024)

メトリックの値。

KEY_VALUE

VARCHAR2(1290)

一連のオブジェクトを監視するメトリックの場合、KEY_VALUEは重大度をトリガーした特定のオブジェクトを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、USERS表領域が警告またはクリティカル重大度をトリガーすると、KEY_VALUEはUSERSになります。

KEY_VALUE_NAME

VARCHAR2(512)

一連のオブジェクトを監視するメトリックの場合、KEY_VALUE_NAMEは監視されるオブジェクトのタイプを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、KEY_VALUE_NAMEは表領域名です。

KEY_VALUE_GUID

VARCHAR2(256)

コンポジット・キー値の名前に関連付けられているGUID。

CTXT_LIST

MGMT_NOTIFY_COLUMNS

アラート・コンテキストの詳細。

COLLECTION_TIMESTAMP

DATE

ターゲットのステータス変更が最後に検出され、管理リポジトリに記録された時刻。

SEVERITY_CODE

NUMBER

重大度レベルを識別する数値コード。後述する「重大度コード」表を参照してください。

MESSAGE

VARCHAR2(4000)

アラート条件の追加情報を提供するため、アラートの作成時に生成されるオプションのメッセージ。

SEVERITY_GUID

RAW(16)

重大度のGlobal Unique Identifier。

METRIC_GUID

RAW(16)

メトリックのGlobal Unique Identifier。

TARGET_GUID

RAW(16)

ターゲットのGlobal Unique Identifier。

RULE_OWNER

VARCHAR2(64)

ルールを所有するEnterprise Manager管理者の名前。

RULE_NAME

VARCHAR2(132)

重大度発生の原因となった通知ルールの名前。


ターゲットに対する重大度が発生すると、通知システムはMGMT_NOTIFY_SEVERITYオブジェクトのインスタンスを作成し、重大度の値を移入します。表3-6の重大度コードはMGMT_GLOBALパッケージの定数として定義されています。これらのコードを使用すると、MGMT_NOTIFY_SEVERITYオブジェクトのseverity_codeフィールドの重大度タイプを判別できます。

表3-6 重大度コード

名前 データタイプ

G_SEVERITY_COMMENT

NUMBER(2)

10

G_SEVERITY_CLEAR

NUMBER(2)

15

G_SEVERITY_WARNING

NUMBER(2)

20

G_SEVERITY_CRITICAL

NUMBER(2)

25

G_SEVERITY_UNREACHABLE_CLEAR

NUMBER(3)

115

G_SEVERITY_UNREACHABLE_START

NUMBER(3)

125

G_SEVERITY_BLACKOUT_END

NUMBER(3)

215

G_SEVERITY_BLACKOUT_START

NUMBER(3)

225

G_SEVERITY_ERROR_END

NUMBER(3)

315

G_SEVERITY_ERROR_START

NUMBER(3)

325

G_SEVERITY_NO_BEACONS

NUMBER(3)

425

G_SEVERITY_UNKNOWN

NUMBER(3)

515


例3-11 重大度コードを使用したPL/SQLプロシージャ

CREATE TABLE alert_log (target_name VARCHAR2(64),

alert_msg VARCHAR2(4000),

occured DATE);


PROCEDURE LOG_CRITICAL_ALERTS(severity IN MGMT_NOTIFY_SEVERITY)

IS

BEGIN

-- Log all critical severities

   IF severity.severity_code = MGMT_GLOBAL.G_SEVERITY_CRITICAL

   THEN

         BEGIN

                 INSERT INTO alert_log (target_name, alert_msg, occured)

                 VALUES (severity.target_name, severity.message,

                                 severity.collection_timestamp);

         EXCEPTION

         WHEN OTHERS

         THEN

         -- If there are any problems then get the notification retried

                 RAISE_APPLICATION_ERROR(-20000, 'Please retry');

                 END;

                 COMMIT;

   END IF;

END LOG_CRITICAL_ALERTS;

SNMPトラップに基づく通知メソッドの追加

Enterprise Managerは、SNMPを介したサード・パーティ管理ツールとの統合をサポートしています。たとえば、SNMPを使用して、選択済メトリックがしきい値を超えていることをサード・パーティ・アプリケーションに通知できます。

このトラップはSNMPバージョン1のトラップであり、この章の最後にMIB定義に関連して説明があります。「管理情報ベース(MIB)」を参照してください。

総合的な構成情報の詳細は、プラットフォーム固有のドキュメントを参照してください。SNMP構成はプラットフォームごとに異なります。


注意:

ユーザーが通知ルールの作成または編集時に1つ以上のSNMPトラップ通知メソッドを選択するには、スーパー管理者権限を持つ管理者が、SNMPトラップに基づく通知メソッドをあらかじめ構成しておく必要があります。

手順1: SNMPトラップに基づく新規の通知メソッドの定義

スーパー管理者としてEnterprise Managerにログインします。垂直ナビゲーション・バーから「設定」をクリックし、「通知メソッド」をクリックして「通知メソッド」ページにアクセスします。このページから、SNMPトラップに基づく新規のメソッドを追加できます。

SNMPマスター・エージェントが実行されているホスト(マシン)の名前およびその他の詳細を、次の例のように指定する必要があります。例3-12では、SNMPホストがユーザーのSNMPトラップを受信します。

例3-12 SNMPトラップの必要情報

Name HP OpenView Console

Description Notification method to send trap to HP OpenView console

SNMP Trap Host Name machine1.us.oracle.com

SNMP Host Port 162

SNMP Community public

This SNMP host will receive your SNMP traps.


注意:

設定をテストするための「トラップのテスト」ボタンがあります。

メトリック重大度情報は、SNMPトラップ内で一連の変数として渡されます。

例3-13はSNMPトラップの例です。情報の各断片は、SNMPトラップに変数として組み込まれて送信されます。

例3-13 SNMPトラップ

Tue Oct 28 05:00:02 2006


Command: 4

   Enterprise: 1.3.6.1.4.1.111.15.2

   Agent: 138.1.6.200

   Generic Trap: 6

   Specific Trap: 1

   Time Stamp: 8464:39.99

   Count: 11


Name: 1.3.6.1.4.1.111.15.1.1.1.2.1

   Kind: OctetString

   Value: "mydatabase"


Name: 1.3.6.1.4.1.111.15.1.1.1.3.1

   Kind: OctetString

   Value: "Database"


Name: 1.3.6.1.4.1.111.15.1.1.1.4.1

  Kind: OctetString

  Value: "myhost.com"


Name: 1.3.6.1.4.1.111.15.1.1.1.5.1

   Kind: OctetString

   Value: "Owner's Invalid Object Count"


Name: 1.3.6.1.4.1.111.15.1.1.1.6.1

   Kind: OctetString

   Value: "Invalid Object Owner"


Name: 1.3.6.1.4.1.111.15.1.1.1.7.1

   Kind: OctetString

   Value: "SYS"


Name: 1.3.6.1.4.1.111.15.1.1.1.8.1

   Kind: OctetString

   Value: "28-OCT-2006 04:59:10 (US/Eastern GMT)"


Name: 1.3.6.1.4.1.111.15.1.1.1.9.1

   Kind: OctetString

   Value: "Warning"


Name: 1.3.6.1.4.1.111.15.1.1.1.10.1

   Kind: OctetString

   Value: "12 object(s) are invalid in the SYS schema."


Name: 1.3.6.1.4.1.111.15.1.1.1.11.1

   Kind: OctetString

   Value: "Database Metrics"


Name: 1.3.6.1.4.1.111.15.1.1.1.12.1

   Kind: OctetString

   Value: "SYSMAN"

手順2: 通知メソッドのルールへの割当て

既存のルールを編集(または新規の通知ルールを作成)後、「メソッド」ページを表示できます。「拡張通知メソッド」のリストで通知メソッドを選択し、「ルールへのメソッドの割当て」をクリックします。複数のルールを1つのメソッドに割り当てる場合、または複数のメソッドを1つのルールに割り当てる場合は、「メソッドのルールへの割当て」または「ルールのメソッドへの割当て」を参照してください。

修正処理ステータス変更情報の受渡し

修正処理ステータス変更属性(新規ステータス、ジョブ名、ジョブ・タイプ、通知ルール、ルール所有者など)をPL/SQLプロシージャまたはOSコマンドやスクリプトに渡すことで、ステータス変更に対する自動レスポンスをカスタマイズできます。たとえば、クリティカルな修正処理の実行が失敗した場合に、OSスクリプトをコールして、社内サポート用トラブル・チケット・システムに対するトラブル・チケットを開くとします。この場合、ステータス(「問題」や「中断」など)をスクリプトに渡してトラブル・チケットを開き、問題を提示します。

OSコマンドまたはスクリプトへの修正処理実行ステータスの受渡し

通知システムは、システム環境変数を介してOSスクリプトまたは実行可能ファイルに情報を渡します。環境変数へのアクセスに使用される表記規則は、オペレーティング・システムによって異なります。

  • UNIX: $ENV_VARIABLE

  • MS Windows: %ENV_VARIABLE%

通知システムは、スクリプトをコールする前に次の環境変数を設定します。スクリプトはスクリプト・ロジック内でこれらの変数の一部またはすべてを使用します。

表3-7 環境変数

環境変数 説明

JOB_NAME

修正処理の名前。

JOB_OWNER

修正処理の所有者。

JOB_TYPE

修正処理のタイプ。

JOB_STATUS

修正処理のステータス。

TIMESTAMP

重大度が発生した時刻。

NUM_TARGETS

ターゲットの数。

TARGET_NAMEn

修正処理を実行するn番目のターゲットの名前。例: TARGET_NAME1、TARGET_NAME2。

METRIC

修正処理の実行を誘発したアラート内のメトリックの名前。ポリシー違反に対しては設定されません。

POLICY_RULE

修正処理の実行を誘発したアラート内のポリシー・ルールの名前。メトリック重大度に対しては設定されません。

METRIC_VALUE

修正処理の実行を誘発したアラート内のメトリック列の値。

VIOLATION_CONTEXT

ポリシー違反コンテキストを示す、名前と値が対になったカンマ区切りリスト。

KEY_VALUE_NAME

一連のオブジェクトを監視するメトリックの場合、KEY_VALUE_NAMEは監視されるオブジェクトのタイプを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、KEY_VALUE_NAMEは表領域名です。

KEY_VALUE

一連のオブジェクトを監視するメトリックの場合、KEY_VALUEは重大度をトリガーした特定のオブジェクトを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、USERS表領域が警告またはクリティカル重大度をトリガーすると、KEY_VALUEはUSERSになります。

SEVERITY

アラート重大度のタイプ。たとえば、ターゲットの可用性に関連する重大度タイプは次のとおりです。

  • 稼働中

  • 停止中

  • 使用不可の回復

  • 使用不可の発生

  • ブラックアウト終了

  • ブラックアウト開始

他のメトリックは次のいずれかの重大度タイプとなります。

  • 警告

  • クリティカル

  • クリア

  • メトリックエラーのクリア

  • メトリック・エラーの開始

RULE_NAME

修正処理実行の原因となった通知ルールの名前。

RULE_OWNER

通知ルールを所有するEnterprise Manager管理者の名前。


PL/SQLプロシージャへの修正処理実行ステータスの受渡し

通知システムは、MGMT_NOTIFY_CORRECTIVE_ACTIONオブジェクトを介してPL/SQLプロシージャに修正処理ステータス変更情報を渡します。このオブジェクトのインスタンスは、ステータス変更ごとに作成されます。修正処理が実行されると、通知システムは通知ルールに関連付けられているPL/SQLプロシージャをコールして、移入されたオブジェクトをプロシージャに渡します。これにより、プロシージャは渡されたMGMT_NOTIFY_CORRECTIVE_ACTIONオブジェクトのフィールドにアクセスできます。

表3-8に、受渡し可能なすべての修正処理ステータス変更の属性を示します。

表3-8 修正処理ステータス属性

属性 データタイプ 属性情報

JOB_NAME

VARCHAR2(128)

修正処理の名前。

JOB_OWNER

VARCHAR(256)

修正処理の所有者。

JOB_TYPE

VARCHAR2(32)

修正処理のタイプ。

JOB_STATUS

NUMBER

修正処理の新規ステータス。可能性のあるステータス条件のリストは、表3-9「修正処理ステータス・コード」を参照してください。

STATE_CHANGE_GUID

RAW(16)

状態変更レコードのGUID。

JOB_GUID

RAW(16)

修正処理の一意のID。

EXECUTION_ID

RAW(16)

修正処理実行の一意のID。

TARGETS

SMP_EMD_NVPAIR_ARRAY

修正処理が実行されるターゲット名とターゲット・タイプが対になった配列。

METRIC_NAME

VARCHAR2(256)

修正処理の実行を誘発したアラート内のメトリック/ポリシー・ルールの名前。

METRIC_COLUMN

VARCHAR2(64)

修正処理の実行を誘発したアラート内のメトリックの名前。これは、ポリシー違反に対しては使用されません。

METRIC_VALUE

VARCHAR2(1024)

修正処理の実行を誘発したアラート内のメトリックの値。

SEVERITY_CODE

NUMBER

修正処理の実行を誘発したアラートの重大度コード。表3-6「重大度コード」を参照してください。

KEY_VALUE_NAME

VARCHAR2(512)

一連のオブジェクトを監視するメトリックの場合、KEY_VALUE_NAMEは監視されるオブジェクトのタイプを表します。たとえば表領域オブジェクトを監視する表領域使用率(%)メトリックの場合、KEY_VALUE_NAMEは表領域名です。

KEY_VALUE

VARCHAR2(1290)

表メトリックの場合、この列には、しきい値が定義されている表内の行に対するキー列の値が含まれます。しきい値が表メトリックに対応していない場合、またはメトリック列内のすべての行にしきい値が適用される場合、この列の値には空白1つが含まれます。

KEY_VALUE_GUID

RAW(16)

コンポジット・キー値の名前に関連付けられているGUID。

CTXT_LIST

MGMT_NOTIFY_COLUMNS

修正処理ステータス変更コンテキストの詳細。

RULE_OWNER

VARCHAR2(64)

PL/SQL通知の送信を誘発した通知ルールの所有者。

RULE_NAME

VARCHAR2(132)

PL/SQL通知メソッドの起動を誘発した通知ルールの名前。

OCCURRED_DATE

DATE

ステータス変更が発生した日時。


次のステータス・コードは、MGMT_NOTIFY_CORRECTIVE_ACTIONオブジェクトのjob_statusフィールドに使用可能な値です。

表3-9 修正処理ステータス・コード

名前 データタイプ

SCHEDULED_STATUS

NUMBER(2)

1

EXECUTING_STATUS

NUMBER(2)

2

ABORTED_STATUS

NUMBER(2)

3

FAILED_STATUS

NUMBER(2)

4

COMPLETED_STATUS

NUMBER(2)

5

SUSPENDED_STATUS

NUMBER(2)

6

AGENTDOWN_STATUS

NUMBER(2)

7

STOPPED_STATUS

NUMBER(2)

8

SUSPENDED_LOCK_STATUS

NUMBER(2)

9

SUSPENDED_EVENT_STATUS

NUMBER(2)

10

SUSPENDED_BLACKOUT_STATUS

NUMBER(2)

11

STOP_PENDING_STATUS

NUMBER(2)

12

SUSPEND_PENDING_STATUS

NUMBER(2)

13

INACTIVE_STATUS

NUMBER(2)

14

QUEUED_STATUS

NUMBER(2)

15

FAILED_RETRIED_STATUS

NUMBER(2)

16

WAITING_STATUS

NUMBER(2)

17

SKIPPED_STATUS

NUMBER(2)

18

REASSIGNED_STATUS

NUMBER(2)

20


例3-14 ステータス・コードを使用したPL/SQLプロシージャ

CREATE TABLE ca_log (jobid RAW(16),                     occured DATE);


CREATE OR REPLACE PROCEDURE LOG_PROBLEM_CAS(status_change IN MGMT_NOTIFY_CORRECTIVE_ACTION)

IS

BEGIN

 -- Log all failed corrective actions

   IF status_change.job_status = MGMT_JOBS.FAILED_STATUS

   THEN

         BEGIN

                 INSERT INTO ca_log (jobid, occured)

                 VALUES (status_change.job_guid, SYSDATE);

         EXCEPTION

         WHEN OTHERS

         THEN

         -- If there are any problems then get the notification retried

                 RAISE_APPLICATION_ERROR(-20000, 'Please retry');

                 END;

                 COMMIT;

   END IF;

END LOG_PROBLEM_CAS;

ジョブ実行ステータス情報の受渡し

ジョブ・ステータス変更属性(新規ステータス、ジョブ名、ジョブ・タイプ、通知ルール、ルール所有者など)をPL/SQLプロシージャまたはOSコマンドやスクリプトに渡すことで、ステータス変更に対する自動レスポンスをカスタマイズできます。たとえば、クリティカルなジョブの実行が失敗した場合に、OSスクリプトをコールして、社内サポート用トラブル・チケット・システムに対するトラブル・チケットを開くとします。この場合、ステータス(「問題」や「中断」など)をスクリプトに渡してトラブル・チケットを開き、問題を提示します。

PL/SQLプロシージャへのジョブ実行ステータスの受渡し

通知システムは、MGMT_NOTIFY_JOBオブジェクトを介してPL/SQLプロシージャにジョブ・ステータス変更情報を渡します。このオブジェクトのインスタンスは、ステータス変更ごとに作成されます。ジョブのステータスが変更されると、通知システムは通知ルールに関連付けられているPL/SQLプロシージャをコールして、移入されたオブジェクトをプロシージャに渡します。これにより、プロシージャは渡されたMGMT_NOTIFY_JOBオブジェクトのフィールドにアクセスできます。

表3-10に、受渡し可能なすべての修正処理ステータス変更の属性を示します。

表3-10 ジョブ・ステータス属性

属性 データタイプ 属性情報

job_name

VARCHAR2(128)

ジョブの名前。

job_owner

VARCHAR2(256)

ジョブの所有者。

job_type

VARCHAR2(32)

ジョブのタイプ。

job_status

NUMBER

ジョブの新しいステータス。

state_change_guid

RAW(16)

状態変更レコードのGUID。

job_guid

RAW(16)

ジョブの一意のID。

execution_id

RAW(16)

実行の一意のID。

ターゲット

SMP_EMD_NVPAIR_ARRAY

ジョブが実行されるターゲット名とターゲット・タイプが対になった配列。

rule_owner

VARCHAR2(64)

通知の送信を誘発する通知ルールの名前。

rule_name

VARCHAR2(132)

通知の送信を誘発する通知ルールの所有者。

occurred_date

DATE

ステータス変更が発生した日時。


ジョブのステータス変更が発生すると、通知システムはMGMT_NOTIFY_JOBオブジェクトのインスタンスを作成し、ステータス変更の値を移入します。次のステータス・コードはMGMT_JOBSパッケージの定数として定義されています。これらのコードを使用すると、MGMT_NOTIFY_JOBオブジェクトのjob_statusフィールドのステータス・タイプを判別できます。

表3-11 ジョブ・ステータス・コード

名前 データタイプ

SCHEDULED_STATUS

NUMBER(2)

1

EXECUTING_STATUS

NUMBER(2)

2

ABORTED_STATUS

NUMBER(2)

3

FAILED_STATUS

NUMBER(2)

4

COMPLETED_STATUS

NUMBER(2)

5

SUSPENDED_STATUS

NUMBER(2)

6

AGENTDOWN_STATUS

NUMBER(2)

7

STOPPED_STATUS

NUMBER(2)

8

SUSPENDED_LOCK_STATUS

NUMBER(2)

9

SUSPENDED_EVENT_STATUS

NUMBER(2)

10

SUSPENDED_BLACKOUT_STATUS

NUMBER(2)

11

STOP_PENDING_STATUS

NUMBER(2)

12

SUSPEND_PENDING_STATUS

NUMBER(2)

13

INACTIVE_STATUS

NUMBER(2)

14

QUEUED_STATUS

NUMBER(2)

15

FAILED_RETRIED_STATUS

NUMBER(2)

16

WAITING_STATUS

NUMBER(2)

17

SKIPPED_STATUS

NUMBER(2)

18

REASSIGNED_STATUS

NUMBER(2)

20


例3-15 ステータス・コード(ジョブ)を使用したPL/SQLプロシージャ

CREATE TABLE job_log (jobid RAW(16),                    occured DATE);


CREATE OR REPLACE PROCEDURE LOG_PROBLEM_JOBS(status_change IN MGMT_NOTIFY_JOB)

IS

BEGIN

 -- Log all failed jobs

   IF status_change.job_status = MGMT_JOBS.FAILED_STATUS

   THEN

         BEGIN

                 INSERT INTO job_log (jobid, occured)

                 VALUES (status_change.job_guid, SYSDATE);

         EXCEPTION

         WHEN OTHERS

         THEN

         -- If there are any problems then get the notification retried

                 RAISE_APPLICATION_ERROR(-20000, 'Please retry');

                 END;

                 COMMIT;

   END IF;

END LOG_PROBLEM_JOBS;

OSコマンドまたはスクリプトへのジョブ実行ステータスの受渡し

通知システムは、システム環境変数を介してOSスクリプトまたは実行可能ファイルにジョブ実行ステータス情報を渡します。環境変数へのアクセスに使用される表記規則は、オペレーティング・システムによって異なります。

  • UNIX: $ENV_VARIABLE

  • MS Windows: %ENV_VARIABLE%

通知システムは、スクリプトをコールする前に次の環境変数を設定します。スクリプトはスクリプト・ロジック内でこれらの変数の一部またはすべてを使用します。

表3-12 環境変数

環境変数 説明

JOB_NAME

ジョブの名前。

JOB_OWNER

ジョブの所有者。

JOB_TYPE

ジョブのタイプ。

JOB_STATUS

ジョブのステータス。

TIMESTAMP

重大度が発生した時刻。

NUM_TARGETS

ターゲットの数。

TARGET_NAMEn

n番目のターゲットの名前。たとえば、TARGET_NAME1、TARGET_NAME2など。

TARGET_TYPEn

n番目のターゲットのタイプ。たとえば、TARGET_TYPE1、TARGET_TYPE2など。

RULE_NAME

重大度発生の原因となった通知ルールの名前。

RULE_OWNER

通知ルールを所有するEnterprise Manager管理者の名前。


ユーザー定義のターゲット・プロパティの通知メソッドへの受渡し

Enterprise Managerを使用して、ターゲット・プロパティ(ターゲットのホームページの「関連リンク」からアクセス)を定義できます。このプロパティは、そのターゲットに特有の環境または使用状況のコンテキスト情報を保存するのに使用できます。ターゲット・プロパティの値はカスタム通知メソッドに受け渡されます。これらの値は、そこで条件ロジックを使用して処理するか、単に追加のアラート情報としてサード・パーティ・デバイス(チケット発行システムなど)に受け渡すことができます。デフォルトでは、Enterprise Managerは定義済のすべてのターゲット・プロパティを通知メソッドに受け渡します。


注意:

短い電子メール書式が使用されている場合は、ターゲット・プロパティは通知メソッドに渡されません。

図3-4 ホスト・ターゲット・プロパティ

図3-4の説明が続きます
「図3-4 ホスト・ターゲット・プロパティ」の説明

メソッドのルールへの割当て

通知ルールごとに、通知ルール内の基準に合致したときにコールされる1つ以上の通知メソッドを割り当てることができます。

  1. Enterprise ManagerのGrid Controlで、ページの上部にある「プリファレンス」をクリックします。

  2. 垂直ナビゲーション・バーの「通知ルール」をクリックします。

    Enterprise Manager Grid Controlには「通知ルール」ページが表示されます。すでに作成済の通知ルールはすべて「通知ルール」表に一覧表示されます。

  3. 「複数ルールへのメソッドの割当て」をクリックします。

  4. 割当てを実行します。

図3-5 ルールへのメソッドの割当て

この図は、「複数ルールへのメソッドの割当て」ページを示します
「図3-5 ルールへのメソッドの割当て」の説明

ルールのメソッドへの割当て

各通知メソッドについて、通知の送信にそのメソッドを使用する通知ルールを1つ以上関連付けられます。

  1. Enterprise ManagerのGrid Controlで、ページの上部にある「プリファレンス」をクリックします。

  2. 垂直ナビゲーション・バーの「通知ルール」をクリックします。

    Enterprise Manager Grid Controlには「通知ルール」ページが表示されます。すでに作成済の通知ルールはすべて「通知ルール」表に一覧表示されます。

  3. 「複数ルールへのメソッドの割当て」をクリックします。

  4. 「表示」メニューで「メソッド」を選択します。

  5. 割当てを実行します。

図3-6 メソッドへのルールの割当て

この図は通知メソッド・ページを示しています。

通知の範囲

アラートがトリガーされたけれども、その条件をカバーする通知ルールがないために、管理者にまったく通知されないような可能性を減らすため、情報パブリッシャ(Enterprise Managerレポート・システム)を使用して、ターゲットごとにそのターゲット用に監視されているメトリックおよび関連する通知ルールを表示できます。Information Publisherは、特にこの目的のために設計されている即時利用可能なレポートを提供します。このレポートは、「レポート定義」ページ(「レポート」タブ)の「監視」「アラートおよびポリシー違反」「メトリック・アラートと可用性の通知ルール・カバレッジ(ターゲット)」から実行できます。

管理情報ベース(MIB)

Enterprise Manager Grid Controlは、サード・パーティのSNMP対応アプリケーションにSNMPトラップを送信できます。トラップ・コンテンツの詳細は、管理情報ベース(MIB)変数から取得できます。次の項では、Enterprise ManagerのMIB変数を詳しく説明します。

MIBについて

MIBはASN.1規則で記述されたテキスト・ファイルで、SNMPがアクセス可能な情報を含む変数が記述されています。MIBオブジェクトとも呼ばれる、MIBに記述された変数は、SNMPを使用して監視できます。監視対象の各要素について1つのMIBがあります。各モノリシックまたはサブエージェントは対応するMIBを参照して、取出し可能な変数およびその特徴を取得します。MIBのこの情報のカプセル化によって、マスター・エージェントが新規サブエージェントを動的に登録できます。マスター・エージェントが必要なサブエージェントの情報はすべてMIBに含まれています。管理フレームワークおよび管理アプリケーションでもこれらのMIBが同じ用途で参照されます。MIBには標準(またはパブリック)MIBと拡張(プライベートまたはベンダー)MIBがあります。

変数の実際の値はMIB内にはなく、計測というプラットフォーム対応プロセスによって取得されます。すべてのSNMP通信は1つ以上のMIBオブジェクトを参照するため、MIBの概念は非常に重要です。実質的にはMIB変数およびその現在の値が、フレームワークに転送されます。

MIB変数の説明の解釈

この項ではMIB変数の説明に使用される形式を説明します。SNMP MIB定義バージョン2のSTATUS要素は、このMIB変数の説明には含まれないので注意してください。OracleではすべてのMIB変数がCURRENTとして実装されるため、この値は変化しません。

変数名

構文

SNMP MIB定義バージョン2のSYNTAX要素にマップします。

最大アクセス

SNMP MIB定義バージョン2のSYNTAX要素にマップします。

ステータス

SNMP MIB定義バージョン2のSTATUS要素にマップします。

説明

変数のファンクション、使用方法および正確な導出方法を説明します。(たとえば、変数は特定の構成ファイル・パラメータまたはパフォーマンス表フィールドから導出されます。)適切な場合は、MIB定義バージョン2のDESCRIPTION部分を組み込みます。

標準的な範囲

変数の論理的な範囲ではなく標準的な範囲を示します。たとえば、多くのMIB変数の整数値の論理的な上限は4294967295ですが、実際にインストールされたものの標準的な範囲はより小さくなります。その一方で、大規模データベースのいくつかの変数値が実際にはこの論理的限界(ラップアラウンド)を超える場合があります。変数値の標準的な範囲を0〜1,000または1,000〜30億に指定することによって、サード・パーティの開発者がその変数の最も便利なグラフィック表示を開発することができます。

重要度

標準的なインストールの監視時における変数の重要度を示します。重要度の段階は「高」、「中」、「低」または「通常は使用されない」です。DBAは、ある変数を他の変数よりも厳密に監視することが必要になります。ただしこのカテゴリに当てはまる変数は、アプリケーション、データベース・サイズおよびDBAの目的などに応じてインストールごとに異なる可能性があります。それでも、MIBの他の変数に対する変数の重要度を評価することによって、多くのDBAにとって最も関心のある変数に対し、サード・パーティの開発者が集中的に開発作業を行うことができます。

関連する変数

この変数に関連している、このMIBまたはOracleで実装済の他のMIBの変数を列記します。たとえば、この変数の値は別のMIB変数の値から導出されている可能性があります。また、この変数の値が別の変数の値と反比例している場合もあります。この情報を得ることによって、サード・パーティの開発者が関連するMIB変数の便利なグラフィック表示を開発できます。

推奨される表示方法

管理アプリケーションを使用しているDBAにとって最も役立つように、この変数を表示する方法(単純な値、ゲージまたはアラームとしてなど)を示します。

MIB定義

例3-16はEnterprise Managerで使用される標準的なMIB定義の例です。

例3-16 MIB定義

ORACLE-ENTERPRISE-MANAGER-4-MIB DEFINITIONS ::= BEGIN

IMPORTS

    TRAP-TYPE

        FROM RFC-1215

    DisplayString

        FROM RFC1213-MIB

    OBJECT-TYPE

        FROM RFC-1212

    enterprises

        FROM RFC1155-SMI;

oracle OBJECT IDENTIFIER ::= { enterprises  111 }

oraEM4 OBJECT IDENTIFIER ::= { oracle  15 }

oraEM4Objects OBJECT IDENTIFIER ::= { oraEM4  1 }

oraEM4AlertTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF OraEM4AlertEntry

    ACCESS  not-accessible

    STATUS  mandatory

    DESCRIPTION

     "Information on alerts generated by Oracle Enterprise Manager. This table is

 not queryable; it exists only to document the variables included in the

 oraEM4Alert trap.  Each trap contains a single instance of each variable in the

 table."

    ::= { oraEM4Objects  1 }

oraEM4AlertEntry OBJECT-TYPE

    SYNTAX  OraEM4AlertEntry

    ACCESS  not-accessible

    STATUS  mandatory

    DESCRIPTION

     "Information about a particular Oracle Enterprise Manager alert."

    INDEX   { oraEM4AlertIndex }

    ::= { oraEM4AlertTable  1 }

OraEM4AlertEntry ::=

    SEQUENCE {

        oraEM4AlertIndex

            INTEGER,

        oraEM4AlertTargetName

       DisplayString,

        oraEM4AlertTargetType

       DisplayString,

        oraEM4AlertHostName

       DisplayString,

        oraEM4AlertMetricName

       DisplayString,

        oraEM4AlertKeyName

       DisplayString,

        oraEM4AlertKeyValue

       DisplayString,

        oraEM4AlertTimeStamp

       DisplayString,

        oraEM4AlertSeverity

       DisplayString,

        oraEM4AlertMessage

       DisplayString,

        oraEM4AlertRuleName

       DisplayString

        oraEM4AlertRuleOwner

       DisplayString

    oraEM4AlertMetricValue

           DisplayString,

        oraEM4AlertContext

           DisplayString

    }

oraEM4AlertIndex OBJECT-TYPE

    SYNTAX  INTEGER

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "Index of a particular alert, unique only at the moment an alert is generated."

    ::= { oraEM4AlertEntry  1 }

oraEM4AlertTargetName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the target to which this alert applies."

    ::= { oraEM4AlertEntry  2 }

oraEM4AlertTargetType OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The type of the target to which this alert applies."

    ::= { oraEM4AlertEntry  3 }

oraEM4AlertHostName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the host on which this alert originated."

    ::= { oraEM4AlertEntry  4 }

oraEM4AlertMetricName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the metric or policy which generated this alert."

    ::= { oraEM4AlertEntry  5 }

oraEM4AlertKeyName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the key-column, if present, for the metric which generated this alert."

    ::= { oraEM4AlertEntry  6 }

oraEM4AlertKeyValue OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The value of the key-column, if present, for the metric which generated this alert."

    ::= { oraEM4AlertEntry  7 }

oraEM4AlertTimeStamp OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The time at which this alert was generated."

    ::= { oraEM4AlertEntry  8 }

oraEM4AlertSeverity OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The severity of the alert e.g. Critical."

    ::= { oraEM4AlertEntry  9 }

oraEM4AlertMessage OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The message associated with the alert."

    ::= { oraEM4AlertEntry  10 }

oraEM4AlertRuleName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the notification rule that caused this notification."

    ::= { oraEM4AlertEntry  11 }

oraEM4AlertRuleOwner OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The owner of the notification rule that caused this notification."

    ::= { oraEM4AlertEntry  12 }

oraEM4AlertMetricValue OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The value of the metric which caused this alert to be generated."

    ::= { oraEM4AlertEntry  13 }

oraEM4AlertContext OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "A comma separated list of metric column names and values associated with the metric that caused this alert to be generated."

    ::= { oraEM4AlertEntry  14 }

oraEM4Traps OBJECT IDENTIFIER ::= { oraEM4  2 }

oraEM4Alert TRAP-TYPE

    ENTERPRISE  oraEM4Traps

    VARIABLES   { oraEM4AlertTargetName, oraEM4AlertTargetType,

                  oraEM4AlertHostName, oraEM4AlertMetricName,

                  oraEM4AlertKeyName, oraEM4AlertKeyValue, oraEM4AlertTimeStamp,

                  oraEM4AlertSeverity, oraEM4AlertMessage,

                  oraEM4AlertRuleName, oraEM4AlertRuleOwner,

                  oraEM4AlertMetricValue, oraEM4AlertContext }

    DESCRIPTION

     "The variables included in the oraEM4Alert trap."

    ::= 1

oraEM4JobAlertTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF OraEM4JobAlertEntry

    ACCESS  not-accessible

    STATUS  mandatory

    DESCRIPTION

     "Information on alerts generated by Oracle Enterprise Manager. This table is

 not queryable; it exists only to document the variables included in the

 oraEM4JobAlert trap.  Each trap contains a single instance of each variable in

 the table."

    ::= { oraEM4Objects  2 }

oraEM4JobAlertEntry OBJECT-TYPE

    SYNTAX  OraEM4AlertEntry

    ACCESS  not-accessible

    STATUS  mandatory

    DESCRIPTION

     "Information about a particular Oracle Enterprise Manager alert."

    INDEX   { oraEM4JobAlertIndex }

    ::= { oraEM4JobAlertTable  1 }

OraEM4JobAlertEntry ::=

    SEQUENCE {

        oraEM4JobAlertIndex

            INTEGER,

        oraEM4JobAlertJobName

       DisplayString,

        oraEM4JobAlertJobOwner

       DisplayString,

        oraEM4JobAlertJobType

       DisplayString,

        oraEM4JobAlertJobStatus

       DisplayString,

        oraEM4JobAlertTargets

       DisplayString,

        oraEM4JobAlertTimeStamp

       DisplayString,

        oraEM4JobAlertRuleName

       DisplayString

        oraEM4JobAlertRuleOwner

       DisplayString,

    oraEM4JobAlertMetricName

           DisplayString,

    oraEM4JobAlertMetricValue

           DisplayString,

        oraEM4JobAlertContext

           DisplayString,

        oraEM4JobAlertKeyName

       DisplayString,

        oraEM4JobAlertKeyValue

       DisplayString,

        oraEM4JobAlertSeverity

       DisplayString

    }

oraEM4JobAlertIndex OBJECT-TYPE

    SYNTAX  INTEGER

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "Index of a particular alert, unique only at the moment an alert is

 generated."

    ::= { oraEM4JobAlertEntry  1 }

oraEM4JobAlertJobName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the job to which this alert applies."

    ::= { oraEM4JobAlertEntry  2 }

oraEM4JobAlertJobOwner OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The owner of the job to which this alert applies."

    ::= { oraEM4JobAlertEntry  3 }

oraEM4JobAlertJobType OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The type of the job to which this alert applies."

    ::= { oraEM4JobAlertEntry  4 }

oraEM4JobAlertJobStatus OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The status of the job to which this alert applies."

    ::= { oraEM4JobAlertEntry  5 }

oraEM4JobAlertTargets OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "A comma separated list of target to which this alert applies."

    ::= { oraEM4JobAlertEntry  6 }

oraEM4JobAlertTimeStamp OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The time at which this job status changed causing this alert."

    ::= { oraEM4JobAlertEntry  7 }

oraEM4JobAlertRuleName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the notification rule that caused this notification."

    ::= { oraEM4JobAlertEntry  8 }

oraEM4JobAlertRuleOwner OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The owner of the notification rule that caused this notification."

    ::= { oraEM4JobAlertEntry  9 }

oraEM4JobAlertMetricName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the metric or policy which caused the Corrective Action to run

 that caused this alert."

    ::= { oraEM4JobAlertEntry  10 }

oraEM4JobAlertMetricValue OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The value of the metric which caused the Corrective Action to run that

 caused this alert."

    ::= { oraEM4JobAlertEntry  11 }

oraEM4JobAlertContext OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "A comma separated list of metric column names and values associated with the

 metric which caused the Corrective Action to run that caused this alert."

    ::= { oraEM4JobAlertEntry  12 }

oraEM4JobAlertKeyName OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The name of the key-column, if present, for the metric which caused the

 Corrective Action to run that generated this alert."

    ::= { oraEM4JobAlertEntry  13 }

oraEM4JobAlertKeyValue OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The value of the key-column, if present, for the metric which caused the

 Corrective Action to run that generated this alert."

    ::= { oraEM4JobAlertEntry  14 }

oraEM4JobAlertSeverity OBJECT-TYPE

    SYNTAX  DisplayString

    ACCESS  read-only

    STATUS  mandatory

    DESCRIPTION

     "The severity of the metric which caused the Corrective Action to run that

 generated this alert e.g. Critical."

    ::= { oraEM4JobAlertEntry  15 }

oraEM4JobAlert TRAP-TYPE

    ENTERPRISE  oraEM4Traps

    VARIABLES   { oraEM4JobAlertJobName, oraEM4JobAlertJobOwner,

                  oraEM4JobAlertJobType, oraEM4JobAlertJobStatus,

                  oraEM4JobAlertTargets, oraEM4JobAlertTimeStamp,

                  oraEM4JobAlertRuleName, oraEM4JobAlertRuleOwner,

                  oraEM4JobAlertMetricName, oraEM4JobAlertMetricValue,

                  oraEM4JobAlertContext, oraEM4JobAlertKeyName,

                  oraEM4JobAlertKeyValue, oraEM4JobAlertSeverity }

    DESCRIPTION

     "The variables included in the oraEM4JobAlert trap."

    ::= 2

END

通知に関するトラブルシューティング

通知システムの動作は、Enterprise ManagerおよびITインフラストラクチャの様々なコンポーネントに依存しています。このため、通知障害には考えられる原因が多数あります。通知システムに関する問題を特定する際は、次のガイドラインおよび推奨事項を参考にしてください。

一般的な設定

通知問題を診断する最初の手順は、通知環境が適切に構成および定義されているか確認することです。

OSコマンド、PL/SQLおよびSNMPトラップ通知

「テスト」ボタンをクリックして、すべてのOSコマンド、PL/SQLおよびSNMPトラップの通知メソッドが有効であることを確認します。これによってテスト通知が送信され、OMSが通知メソッドを呼び出す際の問題が表示されます。メソッドがコールされたことを確認してください。たとえば、OSコマンドの通知によりログ・ファイルに情報が書き込まれるように設定した場合は、OSコマンドの通知によって情報がログ・ファイルに書き込まれていることを確認します。

電子メールの通知

  • 「設定」の「通知メソッド」ページで、電子メール・ゲートウェイが設定されていることを確認します。送信者の電子メール・アドレスは有効である必要があります。「テスト」ボタンをクリックすると、電子メールが送信者の電子メール・アドレスに送信されます。この電子メールが受信されることを確認します。「テスト」ボタンでは通知スケジュールはすべて無視されますので注意してください。

  • 「プリファレンス」の「一般」ページで、電子メール・アドレスが設定されていることを確認します。「テスト」ボタンをクリックすると、指定されたアドレスに電子メールが送信されます。この電子メールが受信されることを確認する必要があります。「テスト」ボタンでは通知スケジュールはすべて無視されますので注意してください。

  • 「プリファレンス」の「スケジュール」ページで、電子メール・スケジュールが定義されていることを確認します。通知スケジュールが定義されていない場合、電子メールは送信されません。

  • 通知ルールが、対象となるターゲット、メトリック、重大度および可用性状態と一致するように定義されていることを確認し、そのルールに電子メールおよび通知メソッドが割り当てられていることを確認します。「設定」の「ルール」ページでルール名をクリックすると、通知ルールのサマリーを確認できます。

通知システムのエラー

通知問題に関連するアラートが発生した場合、次のものを確認して通知エラーを調べてください。

  • 通知システム内の重大なエラーは、MGMT_SYSTEM_ERROR_LOG表にシステム・エラーとして記録されます。これらのエラーは、「設定」の「管理サービスとリポジトリ」から「エラー」ページを選択すると表示されます。

  • 配信エラーがないか確認します。ターゲット・ホームページの「アラート」セクションからアラート・メッセージをクリックして、メトリックの詳細ページにアクセスします。「アラート履歴」セクションで「詳細」アイコンをクリックすると、アラートの詳細情報が表示されます。この詳細情報に、通知が配信されなかった理由が示されます。配信エラーはMGMT_NOTIFICATION_LOGに格納され、そのDELIVERED列がNに設定されます。

  • 重大度に関連付けられたメトリックに対してメトリック値がロードされていない場合、Grid Controlコンソールに重大度は表示されません。

通知システムのトレース・メッセージ

通知システムは、sysman/log/emoms.trcファイル内にトレース・メッセージを生成できます。

トレースを構成するには、emctl set propertyコマンドを使用してlog4j.em.notificationプロパティのフラグを設定します。トレース・レベルはINFO、WARN、DEBUGに設定できます。次に例を示します。

./emctl set property -sysman_pwd your_sysman_password -name log4j.em.notification -value DEBUG

トレース・メッセージには、em.notificationという文字列が含まれます。UNIX環境で作業している場合、grepコマンドを使用してemoms.trcファイル内のメッセージを検索できます。次に例を示します。

grep em.notification emoms.trc

トレース・ファイル内の調べる箇所

emoms.trcファイル内の次のエントリが通知に関連しています。

通常起動のメッセージ

OMSが起動すると、次のようなタイプのメッセージが表示されます。

2006-11-08 03:18:45,385 [Orion Launcher] INFO  em.notification init.1279 - Short format maximum length is 155


2006-11-08 03:18:45,386 [Orion Launcher] INFO  em.notification init.1297 - Short format is set to both subject and body


2006-11-08 03:18:45,387 [NotificationMgrThread] INFO  em.notification run.1010 - Waiting for connection to EM Repository...


2006-11-08 03:18:46,006 [NotificationMgrThread] INFO  em.notification run.1041 - Registering for Administrative Queue Name...


2006-11-08 03:18:46,250 [NotificationMgrThread] INFO  em.notification run.1078 - Administrative Queue is ADM21


2006-11-08 03:18:46,250 [NotificationMgrThread] INFO  em.notification run.1089 - Creating thread pool: min = 6 max = 24


2006-11-08 03:18:48,206 [NotificationMgrThread] INFO  em.notification handleAdminNotification.655 - Handling notifications for EMAIL1

通知配信のメッセージ

2006-11-08 03:18:45,387 [NotificationMgrThread] INFO  em.notification run.682 - Notification ready on EMAIL1


2006-11-08 03:18:46,006 [DeliveryThread-EMAIL1] INFO  em.notification run.114 - Deliver to SYSMAN/admin@oracle.com


2006-11-08 03:18:47,006 [DeliveryThread-EMAIL1] INFO  em.notification run.227 - Notification handled for SYSMAN/admin@oracle.com

通知システム・エラーのメッセージ

2006-11-08 07:26:30,242 [NotificationMgrThread] ERROR  em.notification getConnection.237 - Failed to get a connection Io exception: The Network Adapter could not establish the connection

電子メールのエラー

SMTPゲートウェイが適切に設定されていない:

Failed to send e-mail to my.admin@oracle.com: For e-mail notifications to be sent, your Super Administrator must configure an Outgoing Mail (SMTP) Server within Enterprise Manager. (SYSMAN, myrule)

無効なホスト名:

Failed to connect to gateway: badhost.us.oracle.com: Sending failed;

nested exception is:

javax.mail.MessagingException: Unknown SMTP      host: badhost.us.oracle.com;

無効な電子メール・アドレス:

Failed to connect to gateway: rgmemeasmtp.oraclecorp.com: Sending failed;

nested exception is:

javax.mail.MessagingException: 550 5.7.1         <smpemailtest_ie@oracle.com>... Access denied

電子メールのゲートウェイ構成が有効であるか確認する場合は、常に「テスト」ボタンを使用してください。送信者の電子メール・アドレスに電子メールが受信されることを確認してください。

OSコマンドのエラー

OSコマンドまたはスクリプトを実行しようとすると、次のエラーが発生することがあります。「テスト」ボタンを使用して、OSコマンドの構成が有効であるか確認します。エラーが存在する場合、コンソールにそのエラーが表示されます。

パスが無効であるか、ファイルに対する読取り権限がない:

Could not find /bin/myscript (stacb10.us.oracle.com_Management_Service) (SYSMAN, myrule )

実行可能ファイルに対する実行権限がない:

Error calling /bin/myscript: java.io.IOException: /bin/myscript: cannot execute (stacb10.us.oracle.com_Management_Service) (SYSMAN, myrule ) 

OSコマンドの実行時間の超過によるタイムアウト:

Timeout occurred running /bin/myscript (stacb10.us.oracle.com_Management_Service) (SYSMAN, myrule )

メモリー不足のため、またはOMSマシン上で実行されているプロセスが多すぎるために発生したエラーは、適宜記録されます。

「テスト」ボタンを使用して、OSコマンドの構成が有効であるか確認します。

SNMPトラップのエラー

「テスト」ボタンを使用して、SNMPトラップの構成が有効であるか確認します。

SNMPトラップ問題として他に考えられるのは、無効なホスト名、ポート、SNMPコンソールを実行しているマシンのコミュニティなどがあります。

PL/SQLのエラー

PL/SQLプロシージャを実行しようとすると、次のエラーが発生することがあります。「テスト」ボタンを使用して、プロシージャが有効であるか確認します。エラーが存在する場合、コンソールにそのエラーが表示されます。

プロシージャ名が無効であるか、完全修飾名でない。(例: SCOTT.PKG.PROC)

Error calling PL/SQL procedure plsql_proc: ORA-06576: not a valid function or procedure name (SYSMAN, myrule) 

プロシージャが適切なシグネチャでない。(例: PROCEDURE p(s IN MGMT_NOTIFY_SEVERITY))

Error calling PL/SQL procedure plsql_proc: ORA-06553: PLS-306: wrong number or types of arguments in call to 'PLSQL_PROC' (SYSMAN, myrule)

プロシージャに不具合があり、例外が発生

Error calling PL/SQL procedure plsql_proc: ORA-06531: Reference to uninitialized collection (SYSMAN, myrule)

PL/SQL内でカーソルのリークがないように注意する必要があります。この状況が原因で例外が発生すると、配信は失敗し、Grid Controlコンソールのアラートの「詳細」セクションにメッセージが表示されます。

PL/SQLの構成が有効であるか確認するときはいつでも、「テスト」ボタンを使用してください。