7 トラブルシューティング
Oracle Enterprise Manager Connectorフレームワークには、Netcool/OMNIbusとイベント情報を交換するためのWebサービス・インタフェースが必要です。 Netcool/OMNIbusにはWebサービス・フロントエンドが同梱されていないため、Oracle Enterprise ManagerがNetcool/OMNIbusとイベント情報を交換できるようにするには、Oracle提供のWebサービス・フロントエンドをインストールする必要があります。 また、Oracle Agent Netcool/OMNIbusもインストールする必要があります。
この章では、IBM Netcool/OMNIbusとの統合に関する問題のトラブルシューティングに役立つ情報を提供します。 特に、Webサービス・フロントエンドおよびOracle Agentでの問題のトラブルシューティングに重点を置いています。
この章では、以下のトピックについて説明します。
トラブルシューティング・プロセスを開始する前に、次の処理を行ったことを確認します。
-
Enterprise Managerでのコネクタのインストールの説明に従ってIBM Tivoli Netcool/OMNIbusコネクタをインストールしました。
-
Oracle Agent for Netcool/OMNIbusのインストールの説明に従ってOracle Agent for Netcool/OMNIbusをインストールして起動しました。
-
Netcool/OMNIbus Webサービス・フロントエンドのインストールの説明に従ってNetcool/OMNIbus Webサービスをインストール、起動およびテストしました。
-
Netcool/OMNIbusの変更の説明に従ってNetcool/OMNIbusに必要な変更を加えました。
-
コネクタ・インスタンスの作成の説明に従ってコネクタ・インスタンスを作成しました。
-
コネクタの構成の説明に従ってコネクタ・インスタンスを構成しました。
-
コネクタ・インスタンスにイベントを転送するためにイベント・ルールの設定の説明に従って1つ以上のルールを設定しました。
前述のすべての処理が完了しても、コネクタが機能していない場合は、問題の診断のステップを実行します。
問題の診断
この問題を診断するには、次の手順を実行します。
-
Netcool/OMNIbus Webサービスが正常に起動されていることと、Netcool/OMNIbus WebサービスがインストールされているシステムからWebサービスのWSDLにアクセスできることを確認します。
-
Webサービスで使用するURLの決定のステップを実行して、Netcool/OMNIbus Webサービスで使用するURLを決定します。
-
ブラウザを開き、前のステップで得たURLをアドレス・ウィンドウに貼り付けます。 URLの末尾に
?WSDL
を追加し、URLのロードを試行します。 -
アダプタが動作している場合は、WSDLがロードされます。
ノート:
WSDLは、Webサービスを記述するXMLファイルです。
-
WSDLをロードできない場合は、このWebサービスに起動の問題があることになります。 問題を診断するには、Webサービス起動エラーのトラブルシューティングを参照してください。
-
-
Enterprise ManagerサーバーがインストールされているシステムからNetcool/OMNIbus WebサービスのWSDLにアクセスできることを確認します。
-
Enterprise Managerサーバーでブラウザを開き、前述のステップ1-bで得たURLをアドレス・ウィンドウにコピーします。 URLのホスト名が
localhost
になります。localhost
をNetcool/OMNIbus Webサービスがインストールされているシステムの実際のホスト名またはIPアドレスに変更します。 ホスト名を指定する場合は、そのホスト名がEnterprise Managerサーバー・システムで認識されることを確認してください。 このことはping
コマンドを使用して実行できます。たとえば、Netcool/OMNIbus Webサービスが
SDServer01
というホスト名のサーバーにインストールされ、framework.log
にリストされているURLが次のようになっているとします。https://localhost:8443/services/omnibus/EventService
Enterprise Managerサーバー・システムで使用されるURLは次のようになります。
https://OMServer01:8443/services/omnibus/EventService
-
URLの末尾に
?WSDL
を追加して、WSDLをロードしてみてください。 WSDLがロードできない場合は、ホスト名がEnterprise Managerシステムで認識されないか、2つのシステム間の接続に問題があります。 ホスト名を指定していた場合は、URLにホスト名ではなくIPアドレスを使用してみてください。 それでもロードされない場合は、接続に問題があります。 この問題を解決するには、IT部門に連絡する必要があります。
-
-
Netcool/OMNIbusコネクタが
createEvent
およびupdateEvent
操作用に正しいURLを指定していることを確認します。-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
インストール済コネクタを示す「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタに関連付けられている「構成」アイコンをクリックします。 これにより編集モードとなり、コネクタを構成できます。
-
ステップ2-aで変更したURLを
createEvent
とupdateEvent
の両方の操作に指定していることを確認します。 いずれかの操作が正しくない場合は、正しいURLに変更します。ノート:
ここに指定しているURLの末尾にWSDLを追加しないでください。
-
「OK」をクリックします。
-
前のステップでエラーが検出されなかった場合は、コネクタとNetcool/OMNIbus Webサービスとの接続に問題はありません。 この問題の原因は、WebサービスまたはOracle Agentと考えられます。 エラーの診断の詳細は、Webサービス操作エラーのトラブルシューティングを参照してください。
Webサービス起動エラーのトラブルシューティング
起動の失敗の原因を特定するには、Netcool/OMNIbus Webサービスのインストール・ディレクトリにあるadapters/log
ディレクトリに移動し、テキスト・エディタでframework.log
ファイルを開きます。 Exceptionを検索して、ファイル内でエラーを探します。 ファイルが存在しない場合は、JVMの検索または実行に問題があります。 JVMの問題の解決の詳細は、JVMエラーを参照してください。
次に、発生する可能性があるいくつかの例外、根本原因の説明および解決策の説明を示します。
java.net.BindException: Address already in use: bind
このエラーは、ポートの競合が発生したため、Webサービスが開始できなかったことを示しています。 このエラーの原因は2つ考えられます。
-
Webサービスが使用するように構成されているポートを別のアプリケーションが使用しています。 WebサービスがSSLを使用するように構成されている場合、ポート番号は8443です。 SSLを使用するように構成されていない場合、ポート番号は8080です。
これの解決策としては次の2つが考えられます。 別のポートを使用するように他のアプリケーションを変更するか、または別のポートを使用するようにNetcool/OMNIbus Webサービスを変更します。 別のポートを使用するようにWebサービスを変更するには、Netcool/OMNIbus Webサービスの詳細のデフォルト・ポート番号の変更を参照してください。
-
Webサービスのインスタンスがすでに実行されています。 この場合、変更する必要はありません。 Webサービスのインスタンスは、一度に1つのみ実行する必要があります。
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: … framework.properties (Permission denied)
このエラーは、conf
ディレクトリ内のframework.properties
ファイルに対する権限が正しく設定されていないため、Webサービスが開始できなかったことを示しています。
この問題を解決するには、権限を変更し、Netcool/OMNIbus Webサービスを実行するアカウントまたはグループに、読取りおよび実行権限を付与します。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.iwave.mapping.MappingGroovyAdapter#1' defined in class path resource [com/iwave/adapters/omnibus/event-adapter-synchronous.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [java.lang.Class] for property 'toType'; nested exception is java.lang.IllegalArgumentException: Cannot find class [com.tivoli.tec.event_delivery.TECEvent]
このエラーは、evd.jar
ファイルが欠落していることを示しています。
この問題を解決するには、必須jarファイルのコピーのステップを実行してから、Netcool/OMNIbus Webサービスを起動してみてください。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'omnibusAdapterConfig' defined in class path resource [com/iwave/adapters/omnibus/event-adapter-synchronous.xml]: Invocation of init method failed; nested exception is com.iwave.adapters.omnibus.InvalidAdapterConfigurationException: Error loading the JDBC driver (com.sybase.jdbc2.jdbc.SybDriver) specified in the properties file: com.sybase.jdbc2.jdbc.SybDriver
このエラーは、jconn2.jar
ファイルが欠落していることを示しています。
この問題を解決するには、必須jarファイルのコピーのステップを実行してから、Webサービスを起動してみてください。
ノート:
他の起動エラーについては、Oracleサポートに問い合せてください。
JVMエラー
Netcool/OMNIbus Webサービスには、JVMのバージョン1.6が必要です。 JVMの複数のバージョンがシステムにインストールされている場合、Webサービスが起動されるたびに、JVMの古いバージョンが実行されている可能性があります。
UNIXシステムでは、Webサービスが起動されるシェルでJAVA_HOME
環境変数をJava Development Kit (JDK) 1.6がインストールされているディレクトリに設定する必要があります。 UNIXプラットフォームでWebサービスを正しく起動するには、次の手順を実行します。
-
JAVA_HOME
環境変数をJDK 1.6ディレクトリに設定します。 -
Webサービスのインストール・ディレクトリにある
adapters/bin
サブディレクトリに移動します。 -
./service.sh start
コマンドを実行します。
Windowsシステムで、次のことを実行して、Webサービスを起動するときにJDK 1.6が使用されることを確認します。
-
Webサービスのインストール・ディレクトリにある
adapters/bin
サブディレクトリに移動します。 -
iWaveAdaptersw.exe
実行ファイルを実行します。 -
「Java」タブをクリックします。
-
「デフォルトの使用」チェック・ボックスが選択されていないことを確認します。
-
Java仮想システムボックスで、JDK 1.6のインストール・ディレクトリにある
jvm.dll
ファイルへのパスを指定します。 -
「OK」をクリックします。
Webサービス操作用の正しいURLの使用
コネクタを識別し、Netcool/OMNIbus Webサービス操作用の正しいURLが使用されるように構成するには、次のステップを実行します。
-
Webサービスで使用するURLの決定の項のステップを実行して、Webサービスで使用するURLを取得します。
-
URLのlocalhostを、このWebサービスがインストールされているシステムのホスト名またはIPアドレスに置き換えます。
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
「管理コネクタの構成」ページの「一般」タブが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。
-
ステップ2で見つかったURLが
createEvent
およびupdateEvent
操作に指定されていることを確認します。 -
操作に正しくないものがある場合は、正しいURLに変更して「OK」をクリックします。
Webサービスで使用するURLの決定
Netcool/OMNIbus Webサービス操作用の正しいURLを識別するには、次のステップを実行します。
-
Webサービスがインストールされているシステムで、コマンド・ターミナルを開きます。
-
作業ディレクトリをWebサービスのインストール・ディレクトリの
adapters/log
ディレクトリに変更します。 -
テキスト・エディタで
framework.log
ファイルを開きます。 -
ファイルの最下部に移動し、文字列
Setting the server's publish address to be
を逆方向検索します。EventService
が含まれるURLが見つかるまで逆方向検索を続けます。 次に示すURLは、Webサービスが作成操作および更新操作を処理するために使用するURLです。
Webサービス操作エラーのトラブルシューティング
Netcool/OMNIbusで想定されるとおりにメッセージが生成または更新されない場合は、次の診断ステップを実行します。
-
トリガーされたイベントが、IBM Tivoli Netcool/OMNIbusコネクタにイベントを転送するルールで参照されていることを確認します。
-
ログ・ファイルでエラーを調べて、Oracle Enterprise Managerがレポートしたエラーを特定します。 ログ・ファイルでエラーを見つけるには、次のステップを実行します。
-
テキスト・エディタで
emoms_pbs.trc
ファイルを開きます。 このファイルは、log
ディレクトリの次の場所にあります。<EM_INSTANCE_BASE>/em/<OMS_NAME>/sysman/log/
<EM_INSTANCE_BASE>
は、OMSインスタンス・ベースのディレクトリです。 デフォルトでは、OMSインスタンス・ベースのディレクトリはgc_inst
で、これはOracle Middlewareホームの親ディレクトリの下にあります。たとえば、Oracle Middlewareホームが
/u01/app/Oracle/Middleware
の場合、インスタンス・ベース・ディレクトリは/u01/app/Oracle/Middleware/gc_inst
になり、ログ・ファイルとトレース・ファイルはディレクトリ・パス/u01/app/Oracle/Middleware/gc_inst/em/EMGC_OMS1/sysman/log/
で入手できます。 -
ファイルの最下部に移動し、
Caused by
の逆方向検索を実行します。Caused by
で始まる行には、エラーの情報が含まれています。 エラー情報は、次のように記載された行のテキストの後にあります。oracle.sysman.emSDK.webservices.outbound.WSInvokeException: caught WebServiceException:
-
-
エラー情報に基づいて問題を診断します。 一般的なエラー・イベントのトラブルシューティングの詳細は、Oracle Enterprise Managerからのエラーの解決を参照してください。
Oracle Enterprise Managerからのエラーの解決
この項では、一般的なエラー・メッセージのトラブルシューティングに関する原因および解決策の情報を提供しています。 表7-1でエラー・メッセージに一致するエラー・メッセージを探し、「考えられる原因」に示された対応する項で、問題を診断して修正する方法の詳細を参照してください。
表7-1 Oracle Enterprise Managerのエラー・メッセージ
エラー・メッセージ | 考えられる原因 |
---|---|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 403 Forbidden from url |
|
jjavax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target |
|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Connection refused |
|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: No route to host |
|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 404 Not Found from url … |
|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Connection timed out |
|
javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: <hostname> |
|
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet |
|
com/ibm/logging/ILogger |
|
Timeout occurred waiting for synchronous response from OMNIbus after inserting an event. |
|
Attempt to insert the event into the master probe failed. |
無効なWebサービス資格証明
原因
Netcool/OMNIbus Webサービスにアクセスするためのユーザー名またはパスワードが正しくありません。
解決策
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。
このアクションにより、編集モードとなり、コネクタを構成できます。
-
Netcool/OMNIbus Webサービスのユーザー名フィールドおよびNetcool/OMNIbus Webサービスのパスワードフィールドを修正し、「OK」をクリックします。
-
指定した資格証明が正しく入力されていると見受けられても、依然として機能しない場合は、Webサービスの設定中に入力ミスが発生した可能性があります。 推奨されるオプションは、Webサービス資格証明をリセットし、これを再度試すことです。 資格証明をリセットするために必要なステップは、Netcool/OMNIbus Webサービスの詳細のWebサービス資格証明の変更を参照してください。
Enterprise ManagerでSSLが構成されていない
原因
Oracle Enterprise Manager ConnectorフレームワークとNetcool/OMNIbus Webサービスの間のSSLハンドシェイクが失敗しました。 この障害は、Oracle Enterprise ManagerがWebサービス用のSSL証明書によって正しく構成されていないために発生します。 Webサービスが使用するSSL証明書は、Enterprise Managerキーストアにインポートする必要があります。 証明書がキーストアにないか、Netcool/OMNIbus Webサービスによって提供されるSSL証明書と一致しないかのいずれかです。
解決策
SSL証明書をWebサービスからEnterprise Managerキーストアにインポートします。 Netcool/OMNIbus SSL証明書とともにOracle Enterprise Managerを設定する方法の詳細は、SSLを使用するためのOracle Enterprise Managerの構成を参照してください。
Webサービスが停止している
原因
Netcool/OMNIbus Webサービスが停止しています。
解決策
Webサービスのステータスを調べるために次のステップを実行し、必要な場合はサービスを起動します。
WebサービスがUNIXシステムにインストールされている場合:
-
Webサービスがインストールされているシステムで、コマンド・ターミナルを開きます。
-
作業ディレクトリをWebサービスのインストール・ディレクトリの
adapters/bin
ディレクトリに変更します。 -
次のコマンドを入力します。
./service.sh status
-
このコマンドにより、サービスが実行されていないことが示された場合は、UNIXでのWebサービスの実行の説明に従ってWebサービスを再起動します。
WebサービスがWindowsシステムにインストールされている場合:
-
Webサービスがインストールされているシステムで、コマンド・ターミナルを開きます。
-
作業ディレクトリをWebサービスのインストール・ディレクトリの
adapters\log
ディレクトリに変更します。 -
テキスト・エディタで
framework.log
ファイルを開きます。 -
ファイルの最下部に移動し、文字列
iWave Adapter Framework
を逆方向検索します。 見つかった最後の文字列がiWave Adapter Framework Started
である場合、これはWebサービスが開始されていることを示しています。 -
Webサービスが起動されていない場合は、WindowsでのWebサービスの実行の説明に従ってWebサービスを再起動します。
無効なIPアドレス
原因
URLで指定されているIPアドレスが無効か、ネットワークが停止しています。
解決策
コネクタ用に構成されているホスト名/IPアドレスが正しいことを確認します。
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
インストール済コネクタを示す「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。 これにより編集モードとなり、コネクタを構成できます。
-
URLで
createEvent
およびupdateEvent
操作用に指定されているホスト名/IPアドレスが正しいことを確認します。 -
ホスト名/IPアドレスが正しくない場合は、正しい値を指定して「OK」をクリックします。
URLにホスト名が指定されている場合は、ホスト名が適切なIPアドレスに解決されることを確認してください。 ホスト名のIPアドレスを確認するには、ping <hostname>
コマンドを発行します。ここで、<hostname>
は実際のホスト名です。 ホスト名の解決されたIPアドレスがリストされます。 これが正しくない場合、システム管理者は正しくない理由を調査する必要があります。
ホスト名/IPアドレスが正しいと思われる場合は、そのホスト名/IPアドレスを使用して、Webサービスがインストールされているシステムのpingを試みます。 pingが失敗した場合、システム管理者は接続性がない理由を調べる必要があります。
無効なURLパス
原因
Webサービスは、リクエストを受信しましたが、無効なパスがURLに指定されていたため拒否しました。
解決策
コネクタで使用しているURLをテストするために、次のステップを実行します。
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
インストール済コネクタを示す「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。 これにより編集モードとなり、コネクタを構成できます。
-
createEvent操作用に指定されたURLを選択してコピーします。
-
Oracle Enterprise Managerサーバーがインストールされているシステムで、インターネット・ブラウザを開きます。
-
アドレス・ウィンドウに、ステップ6でコピーしたURLを入力します。 URLの最後に
?wsdl
を追加します。 URLは、次の例のようになります。http://[Hostname]:8080/services/hpovou/EventService?wsdl
[Hostname]
は、Webサービスがインストールされている実際のホスト名またはIPアドレスです。
WSDLがロードされていれば、URLが正しいことは確実です。 ロードに失敗した場合は、URLに問題があります。 Webサービス操作用の正しいURLの使用に指定されているステップを実行して、正しいURLを使用するようにコネクタを構成します。
ファイアウォールによるアクセスのブロック
原因
ファイアウォールが、Netcool/OMNIbus Webサービスがインストールされているシステムへのアクセスをブロックしています。
解決策
IT部門に問い合せて、Webサービスが使用するポートへのアクセスをEnterprise Managerに付与します。 Webサービス操作用の正しいURLの使用に指定されているステップを実行して、Webサービスで使用するURLを決定します。 URLに指定されているポート番号は、IT部門がファイアウォールで開くポート番号です。
無効なポート番号
原因
URLに指定されたポート番号が無効です。
解決策
コネクタ用に構成されているホスト名/IPアドレスが正しいことを確認します。
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
インストール済コネクタを示す「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。 これにより編集モードとなり、コネクタを構成できます。
-
URLで
createEvent
およびupdateEvent
操作用に指定されているポート番号が正しいことを確認します。WebサービスがSSLを使用するように構成されている場合、ポート番号は8443である必要があります。 それ以外の場合、Netcool/OMNIbus Webサービスの詳細のデフォルト・ポート番号の変更の説明に従ってポート番号が再構成された場合を除き、ポート番号は8080である必要があります。
-
ポート番号が正しくない場合は、正しい値を指定して「OK」をクリックします。
不明なホスト
原因
URLで指定されたホスト名がシステムによって認識されていません。
解決策
この問題に対処するには次のオプションがあります。
-
システム管理者と調整して、システム構成をホスト名が認識されるように変更します。
-
ホスト名が誤ってリストされている場合は変更します。
-
ホスト名のかわりにURLでIPアドレスを指定します。 これを行うには、次のステップを実行します:
-
WebサービスがインストールされているシステムのIPアドレスを確認します。
-
スーパー管理者権限を持つアカウントを使用して、Oracle Enterprise Manager Cloud Controlにログインします。
-
「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
インストール済コネクタを示す「管理コネクタ」ページが表示されます。
-
Netcool/OMNIbusコネクタの名前をクリックします。 これにより編集モードとなり、コネクタを構成できます。
-
createEvent
およびupdateEvent
操作用に指定されているURLのホスト名をIPアドレスに変更します。 -
「OK」をクリックします。
ホスト名が適切なIPアドレスに解決されることを確認してください。 ホスト名のIPアドレスを確認するには、
ping <hostname>
コマンドを発行します。ここで、<hostname>
は実際のホスト名です。 ホスト名の解決されたIPアドレスがリストされます。 これが正しくない場合、システム管理者は正しくない理由を調査する必要があります。ホスト名/IPアドレスが正しいと思われる場合は、そのホスト名/IPアドレスを使用して、Webサービスがインストールされているシステムのpingを試みます。 pingが失敗した場合、システム管理者は接続性がない理由を調べる必要があります。
-
無効なXML書式
原因
XSLファイルの書式が正しくなかったため、コネクタ・フレームワークはリクエストを処理できませんでした。 この問題は、コネクタがカスタマイズされている場合を除き、発生しません。
解決策
問題の原因となった可能性のある誤りがないか、XSLテンプレート・ファイルに対して加えられた変更を調べます。 問題を手動で見つけることができない場合は、XMLの検証を実行するユーティリティにXSLをロードします。
ログjarが欠落している
原因
このエラーは、Webサービスがlog.jar
ファイルを見つけることができないことを示しています。
解決策
この問題を解決するには、必須jarファイルのコピーのステップを実行してから、Netcool/OMNIbus Webサービスを再起動します。
タイムアウト
原因
Webサービスは、リクエストを受信し、そのリクエストをTEC EIFプローブに正常に送信しました。 リクエストしたアラートが作成または更新されたという通知をNetcool/OMNIbusが送信するのを待機している間に、Webサービスがタイムアウトしました。 このエラーは、Netcool/OMNIbusがWebサービスにレスポンスを送信するように正しく構成されていないために発生します。
次に、Netcool/OMNIbusでイベントが作成または更新されるたびに発生する一連のイベントの概要を示します。
-
Enterprise Managerは、作成操作または更新操作のためのWebサービス・コールを行います。
-
Webサービスは、イベントを挿入するために、EIFプローブに対してAPIコールを行います。
-
EIFプローブは、
custom.oracle_status
表にそのイベントの行を挿入します。 -
oracle_insert_alert
トリガーが起動し、alerts.status
、alerts.details
、alerts.journal
の各データベース表で、適切なアラートを作成または更新します。 -
oracle_alert_created
、oracle_alert_reinserted
またはoracle_alert_updated
トリガーが起動し、oracle_send
外部プロシージャをコールします。 -
oracle_send
外部プロシージャは、Webサービスに通知を送信するために、oracle_send.cmd
(Windows)スクリプトまたはoracle_send.sh
(UNIX)スクリプトをコールします。 -
oracle_send.cmd
スクリプトおよびoracle_send.sh
スクリプトは、Webサービスに通知を送信するために、汎用エージェント・ユーティリティ(uniagt.exe
)をコールします。 -
通知を受信すると、Webサービスはアラートのフィールド情報を取得するためのJDBCコールを行います。
-
Webサービスは、Enterprise Managerにアラート情報を含むレスポンスを送信します。
ステップ3から8で障害が発生すると、Netcool/OMNIbus Webサービスによってタイムアウトがレポートされます。
解決策
障害が発生した場所を特定するには、次のステップを実行します。
-
Netcool/OMNIbusがNetcool/OMNIbusの変更の説明に従ってカスタマイズされていることと、オブジェクト・サーバーおよびEIFプローブが動作していることを確認します。 検出された問題を修正し、再試行します。
-
Netcool/OMNIbusコンソールを開き、アラートが作成または更新されたかどうかを確認します。
アラートが作成または更新されなかった場合、原因のステップ3またはステップ4で失敗が発生しています。 失敗の原因を判断するには、次のステップを実行します。
-
EIFプローブ・ログ・ファイルでエラーがないか確認します。 エラーがある場合は、エラーの原因を特定し、問題を修正する必要があります。 エラーの原因として最も可能性が高いのは、プローブ・システムとオブジェクト・サーバー・システムとの間に接続が確立されていないことです。
-
EIFプローブ・ログ・ファイルにエラーがない場合は、イベントの行が
custom.oracle_status
表に追加されたことを確認します。 行が追加されなかった場合は、EIFプローブの構成に問題があります。 EIFプローブでのデバッグを有効化し、もう1回テストを実行します。 EIFプローブ・ログ・ファイルを調べて、プローブがそのイベントで何を行ったかに関する情報があるかどうかを確認します。 -
行が
custom.oracle_status
表に追加されていた場合、エラー情報のErrorMessage
列を調べます。 -
オブジェクト・サーバー・ログ・ファイルを調べて、
oracle_insert_alert
トリガーが起動したことを確認します。 トリガーが起動しなかった場合は、トリガーの定義を開き、トリガーが有効になっていることを確認します。 -
トリガーが起動した場合は、トリガーの実行中に発生したエラーがないか探します。
-
-
アラートが作成または更新されなかった場合は、原因のステップ5から8のどこかで失敗が発生しています。 失敗の原因を判断するには、次のステップを実行します。
-
オブジェクト・サーバー・ログ・ファイルを調べて、
oracle_alert_created
、oracle_alert_reinserted
、oracle_alert_updated
のいずれかのトリガーが起動したことを確認します。 いずれのトリガーも起動しなかった場合は、トリガーの定義を開き、トリガーの起動を妨げる可能性のあるものがないか探します。 トリガーが無効化されている可能性があります。 -
いずれかのトリガーが起動した場合は、トリガーの実行中に発生したエラーがないか探します。 オブジェクト・サーバー・ログにエラーがない場合は、スクリプトのデバッグを有効化して、スクリプトがコールされているかどうかを確認する必要があります。 次のステップcはWindows環境でデバッグを有効化するためのステップであり、ステップdはUNIX環境でデバッグを有効化するためのステップです。
-
Windows環境の場合、通知スクリプトのデバッグを有効化するには、次のステップを実行します。
oracle_send.cmd
スクリプトをテキスト・エディタで開きます。行の先頭にあるREMを削除することで、次の行を非コメント化します。
echo %DATE% %TIME% %* >> "%AGENT_DIR%\oracle_send.out" "%AGENT_DIR%\bin\uniagt" -r %OMNIBUS_WS_URL% -v 1 -O "%AGENT_DIR%\agent%1.log"
行の先頭にREMを付加することで、次の行をコメントアウトします。
"%AGENT_DIR%\bin\uniagt" -r %OMNIBUS_WS_URL%
ファイルを保存して終了します。
-
UNIX環境の場合、通知スクリプトのデバッグを有効化するには、次のステップを実行します。
oracle_send.sh
スクリプトをテキスト・エディタで開きます。行の先頭にある#を削除することで、次の行を非コメント化します。
echo `date` $* >> ${AGENT_DIR}/oracle_send.out ${AGENT_DIR}/bin/uniagt -r ${OMNIBUS_WS_URL} -v 1 -O ${AGENT_DIR}/agent/{1}.log
行の先頭に#を付加することで、次の行をコメントアウトします。
${AGENT_DIR}/bin/uniagt -r ${OMNIBUS_WS_URL}
ファイルを保存して終了します。
-
デバッグを有効化した後、別のテストを実行し、
oracle_send.out
ログ・ファイルが作成されたかどうかを確認します。 ファイルが作成された場合は、テキスト・エディタで開き、ファイルの最後の行を参照してシリアル番号を取得します。 行は、スクリプトがコールされた日付/時間で始まり、その後にシリアル番号および起動したトリガーの名前が続きます。 -
シリアル番号用にエージェント・ログが作成されたことを確認します。 エージェント・ログは
agent<serialno>.log
という名前になっています。<serialno>
は、oracle_send.out
ログ・ファイルからのシリアル番号です。 -
ファイルが存在する場合は、テキスト・エディタで開き、Webサービスへの送信中に発生したエラーがないか探します。 エラーが発生した場合は、接続の問題または
OMNIBUS_WS_URL
環境変数で指定されたURLが無効であることが原因である可能性があります。 URLのホスト名/IPアドレスおよびポート番号を確認してください。 特に変更しないかぎり、ポート番号は8080です。 通知が正常に送信された場合は、ログに次のように表示されます。2012/06/13 11:20:52 response headers: <HTTP/1.1 200 OK Content-Type: text/xml Content-Length: 0 Server: Jetty(6.1.14)
-
エージェント・ログには通知がWebサービスに正常に送信されたことが示されていた場合、Webサービス・ログを参照してエラーがないか確認します。 Webサービス・ログは、Webサービスのインストール・ディレクトリの
adapters/log
ディレクトリにframework.logという名前で存在します。 エラーの原因として最も可能性が高いのは、データベースに接続してアラート情報を取得できなかったことです。
-
プローブに接続できない
原因
Netcool/OMNIbus Webサービスは、TEC EIFプローブに接続してアラート情報を送信できません。 次に、接続障害を引き起こす可能性がある問題をいくつか示します。
-
プローブが停止しています。
-
プローブのホスト名/IPアドレスまたはポート番号がWebサービスに正しく構成されていません。
-
ファイアウォールが接続を完了できません。
解決策
この問題を解決するには、次のステップを実行します。
-
TEC EIFプローブが起動し、動作していることを確認します。
-
Webサービスが、正しいホスト名/IPアドレスとポート番号を使用するように構成されていることを確認します。
検証するには、次の手順を実行します。
-
テキスト・エディタを使用して
framework.properties
ファイルを開きます。 このファイルは、Webサービスのインストール・ディレクトリのadapters/conf
ディレクトリにあります。 -
omnibus.probe.master.t_ServerLocation
プロパティが、マスターEIFプローブがインストールされているホスト名またはIPアドレスに設定されていることを確認します。 -
omnibus.probe.master.t_Port
プロパティが、マスター・プローブがリスニングしているポート番号に設定されていることを確認します。 -
スレーブ・プローブに送信するように構成されている場合は、
omnibus.probe.slave.t_ServerLocation
プロパティが、スレーブEIFプローブがインストールされているホスト名またはIPアドレスに設定されていることを確認します。 -
スレーブ・プローブに送信するように構成されている場合は、
omnibus.probe.slave.t_Port
プロパティが、スレーブ・プローブがリスニングしているポート番号に設定されていることを確認します。 -
必要な変更を加え、ファイルを保存します。
-
変更を加えた場合は、適切な項(UNIXでのWebサービスの実行またはWindowsでのWebサービスの実行)の説明に従ってWebサービスを再起動します。
-
-
それでも問題が解決されない場合は、IT部門に問い合せて、WebサービスによるEIFプローブのコールを妨げているファイアウォールがないかどうかを確認します。