A Netcool/OMNIbus Webサービスの詳細
この付録では、次の各項でNetcool/OMNIbusマッピングおよび他の様々な構成のデフォルトについて説明します。
Netcool/OMNIbusアラートのXML書式
例A-1は、Netcool/OMNIbusに新規アラートを作成する場合にNetcool/OMNIbus Webサービスが想定する書式を表しています。 更新リクエストの書式は、ルート・ノードが作成されるのではなく更新されることを除いて同じです。
例A-1 Netcool/OMNIbus Webサービスの書式の作成例
<iwaveaf:create xmlns:iwaveaf="http://iwavesoftware.com/services/adapter-framework"> <event> <identifier></identifier> <source> <name></name> <displayName></displayName> </source> <metric> <category></category> </metric> <object> <identifier></identifier> </object> <severity></severity> <description></description> <type></type> <logs> <log> <extended-fields> <string-field name="1"></xsl:text></string-field> <string-field name="2"></xsl:text></string-field> <string-field name="3"></xsl:text></string-field> <string-field name="4"></xsl:text></string-field> <string-field name="5"></xsl:text></string-field> <string-field name="6"></xsl:text></string-field> <string-field name="7"></xsl:text></string-field> <string-field name="8"></xsl:text></string-field> <string-field name="9"></xsl:text></string-field> <string-field name="10"></xsl:text></string-field> <string-field name="11"></xsl:text></string-field> <string-field name="12"></xsl:text></string-field> <string-field name="13"></xsl:text></string-field> <string-field name="14"></xsl:text></string-field> <string-field name="15"></xsl:text></string-field> <string-field name="16"></xsl:text></string-field> </extended-fields> </log> </logs> <extended-fields> <string-field name="Manager"> </string-field> <string-field name="Agent"></string-field> <date-field name="LastOccurrence"></date-field> <string-field name="URL"></string-field> <string-field name="Detail_1_Name"> </string-field> <string-field name="Detail_1_Value"> </string-field> <string-field name="Detail_2_Name"></string-field> <string-field name="Detail_2_Value"></string-field> <string-field name="Detail_3_Name"></string-field> <string-field name="Detail_3_Value"> </string-field> <string-field name="Detail_4_Name"></string-field> <string-field name="Detail_4_Value"> </string-field> <string-field name="Detail_5_Name"></string-field> <string-field name="Detail_5_Value"></string-field> <string-field name="Detail_6_Name"></string-field> <string-field name="Detail_6_Value"></string-field> <string-field name="Detail_7_Name"></string-field> <string-field name="Detail_7_Value"> </string-field> <string-field name="Detail_8_Name"></string-field> <string-field name="Detail_8_Value"></string-field> <string-field name="Detail_9_Name"></string-field> <string-field name="Detail_9_Value"></string-field> <string-field name="Detail_10_Name"></string-field> <string-field name="Detail_10_Value"></string-field> <string-field name="Detail_11_Name"></string-field> <string-field name="Detail_11_Value"></string-field> <string-field name="Detail_12_Name"></string-field> <string-field name="Detail_12_Value"></string-field> <string-field name="Detail_13_Name"></string-field> <string-field name="Detail_13_Value"></string-field> <string-field name="Detail_14_Name"></string-field> <string-field name="Detail_14_Value"></string-field> <string-field name="Detail_15_Name"></string-field> <string-field name="Detail_15_Value"></string-field> <string-field name="Detail_16_Name"></string-field> <string-field name="Detail_16_Value"></string-field> <string-field name="Detail_17_Name"></string-field> <string-field name="Detail_17_Value"></string-field> <string-field name="Detail_18_Name"></string-field> <string-field name="Detail_18_Value"></string-field> <string-field name="Detail_19_Name"></string-field> <string-field name="Detail_19_Value"></string-field> <string-field name="Detail_20_Name"></string-field> <string-field name="Detail_20_Value"></string-field> </extended-fields> </event> </iwaveaf:create>
XML書式とメッセージ・フィールド名とのマッピング
表A-1は、IBM Tivoli Netcool/OMNIbusアラート・フィールド名(alerts.status
表から)とこのWebサービスが使用するXML書式とのマッピングを示しています。 IBM Tivoli Netcool/OMNIbusアラート・フィールドを設定するには、このWebサービスに提供するXML文書で対応するフィールドを設定する必要があります。 このことは、表5-1に示した適切な変換ファイルで処理することが必要となります。
ノート:
この表に指定されているXMLパスは、作成リクエストを対象としています。 更新リクエストのXMLパスを決定するには、パス内の作成ノードを更新に置き換えてください。
たとえば、更新操作でのIdentifier
フィールドのXMLパスは次のようになります。
/update/event/identifier
表A-1 イベント・フィールドとXMLパスとのマッピング
Netcool/OMNIbusイベント・フィールド | WebサービスXMLパス |
---|---|
Identifier |
|
NodeAlias |
|
Node |
|
AlertGroup |
|
AlertKey |
|
Severity |
|
Summary |
|
Type |
|
Journal |
次のログ・エントリを参照 |
Manager |
次の拡張フィールドを参照 |
Agent |
次の拡張フィールドを参照 |
LastOccurrence |
次の拡張フィールドを参照 |
URL |
次の拡張フィールドを参照 |
ログ・エントリ
alerts.journal
表には、<logs>
要素で渡されたデータが移入されます。 ジャーナル表には、<logs>
要素の子である各<log>
要素に対して、エントリが追加されます。 ジャーナル・エントリのテキストは、<log>
要素内にある<extended-fields>
要素の子である<string-field/>
要素で渡されます。
<string-field/>
要素内の名前属性は、1から16までの整数に設定する必要があります。 ジャーナル・エントリにはテキストを含めることができる16列があり、ジャーナル表のどの列が移入先になるかは名前属性によって決定されます。 列の長さは255文字以内です。したがって、文字列の長さが255文字を超えた部分は切り捨てられます。
拡張フィールド
拡張フィールドは、<extended-fields>
ノードの子である<string-field/>
要素または<date-field/>
要素として定義されます。 日付情報を含むフィールドは日付フィールド要素として渡され、他のすべてのフィールドは文字列フィールド要素として渡されます。 拡張フィールドの名前はname属性で指定され、このフィールドの値は要素値として指定されます。 この名前は、alerts.status
表のデータベース列の名前か、またはalert.details
表への移入に使用される特別な予約名である必要があります。
Webサービスを使用すると、alerts.details表の最大20エントリに移入できます。 エントリに移入するには、2つの要素を指定する必要があります。 Detail_n_Name
要素はalerts.details
表のName
フィールドに移入され、Detail_n_Value
要素はDetail
フィールドに移入されます。 両方の要素について、n
は1から20までの整数に置き換えられます。 数値は、「イベント情報」ウィンドウの「アラート詳細」タブでの情報の表示位置を識別します。
次のリストは、alerts.status
、alerts.details
、alerts.journal
の各データベース表のフィールドに移入する方法を示した例です。 この例では、Manager
フィールドとLastOccurrence
フィールドは、alerts.status
表のTESTYA3F17890220E040020A78012524
の識別子を持つ行に移入されます。 Detailで始まる行によって、alerts.details
表の最初の2行に、識別子がTESTYA3F17890220E040020A78012524
のアラートが移入されます。 このログ・エントリにより、alerts.journal
表に、IDがTESTYA3F17890220E040020A78012524
のアラートについてのジャーナル・エントリが追加されます。
例A-2 フィールドに移入する方法
<event> <identifier>TESTYA3F17890220E040020A78012524</identifier> <logs> <log> <extended-fields> <string-field name="1">This creates an entry in the journal</xsl:text></string-field> </extended-fields> </log> </logs> <extended-fields> <string-field name="Manager">Oracle Enterprise Manager</string-field> <date-field name="LastOccurrence">2012-01-13T16:08:45.000-06:00</date-field> <string-field name="Detail_1_Name">Reported Date:</string-field> <date-field name="Detail_1_Value">2012-05-03T00:00:00.0-00:00</date-field> <string-field name="Detail_2_Name"> Event Class:</string-field> <string-field name="Detail_2_Value">metric_alert</string-field> </extended-fields> </event>
デフォルト・ポート番号の変更
ほとんどの場合、Webサービスが使用するデフォルトのポート番号を使用できます。 ただし、既存アプリケーションとの競合があれば、ポート番号を変更する必要があります。
この後の項では、これらのデフォルト・ポート番号を変更する方法の手順について説明します。
Webサービス・ポート(8080)の変更
Netcool/OMNIbus Webサービスをインストールするとき、HTTP (SSLなし)を使用するように構成した場合、このWebサービスでは通信にデフォルト・ポートとしてポート8080を使用します。 このポート番号を別の値に変更するには、次の手順を実行します。
-
Webサービスに使用する新しいポート番号を識別します。 その新しいポート番号が、Webサービスのインストール先のシステムで使用されていないことを確認する必要があります。
-
新しいポート番号を使用するようにWebサービスを変更します。
-
Webサービスがインストールされているシステムで、
adapters/conf
ディレクトリに移動し、framework.properties
ファイルをテキスト・エディタで開きます。 -
次のプロパティでポート番号を8080から新しいポート番号に変更します。
services.url
client.url
notification.url
acquisitionevent.url
-
framework.propertiesファイルを保存し、閉じます。
-
UNIXでのWebサービスの実行およびWindowsでのWebサービスの実行の指示に従って、Webサービスを停止してから起動します。
-
-
新しいポート番号を使用するようにIBM Tivoli Netcool/OMNIbus Connectorの構成を変更します。
-
Oracle Enterprise Manager Cloud Controlの「設定」メニューで、「拡張性」、「管理コネクタ」の順に選択します。
-
Netcool/OMNIbusコネクタの名前をクリックします。
「管理コネクタの構成」ページの「一般」タブが表示されます。
-
「Webサービス・エンドポイント」セクションに表示されているURLを、新規ポート番号を使用するように変更します。
-
「OK」をクリックして、変更を保存します。
-
-
新しいポート番号にアラート情報を送信するようにエージェント・スクリプトを変更します。
-
Oracle Agent for Netcool/OMNIbusがインストールされているディレクトリに移動します。
-
テキスト・エディタで
oracle_error.cmd
(Windows)またはoracle_error.sh
(UNIX)スクリプト・ファイルを開きます。 -
OMNIBUS_ADAPTER_URL
変数でポート番号を8080から新しいポート番号に変更し、保存します。 -
テキスト・エディタで
oracle_send.cmd
(Windows)またはoracle_send.sh
(UNIX)スクリプト・ファイルを開きます。 -
OMNIBUS_ADAPTER_URL
変数でポート番号を8080から新しいポート番号に変更し、保存します。
-
Webサービス資格証明の変更
Netcool/OMNIbus Webサービスにアクセスするときに、指定した資格証明に誤りがあるため、問題が発生することがあります。 このことが発生した場合は、常に、WebサービスからHTTP 403エラーが返されます。 まず、指定した資格証明を確認し、適切な情報を入力したことを確認します。 指定した資格証明が正しいと見受けられても、依然として403エラーが返される場合は、Webサービス資格証明をリセットすることが最適です。
Webサービス資格証明をリセットするには、次の手順を実行します。
-
コマンド・プロンプト・ウィンドウを開き、次のコマンドを使用して、作業ディレクトリをWebサービスの
adapters/conf
ディレクトリに変更します。cd <OMNIWS_INSTALL>/adapters/conf
<OMNIWS_INSTALL>
をWebサービスがインストールされているディレクトリに置き換えます。 -
次のコマンドを入力して、Webサービスにアクセスするためのユーザー名およびパスワードを変更します。
../bin/propertiesEditor.sh -e framework.username="<username>" -h framework.password="<password>" framework.properties
ここで、
<username>
はWebサービス用に指定するユーザー名、<password>
はパスワードです。propertiesEditor.sh
スクリプトはUNIXプラットフォーム専用です。 Windowsプラットフォームでこれに対応するスクリプトはpropertiesEditor.bat
です。 -
UNIXでのWebサービスの実行およびWindowsでのWebサービスの実行の指示に従って、Webサービスを停止してから起動します。