5 イベント・テンプレートの使用
イベント・テンプレートは、Enterprise Managerのイベント属性をOMUのアラート属性にマップするXML変換スタイル・シートです。
OMUイベント・コネクタには、OMUシステムでの作成および更新イベント操作用の事前定義済イベント・テンプレートが含まれています。 特定の要件を満たすためにこれらのテンプレートをカスタマイズできます。 事前に作成されているこれらのテンプレートは、カスタマイズする前にバックアップすることをお薦めします。
この章では、OMUコネクタに用意されているデフォルト・イベント・テンプレートに関する情報を提供します。
この章では、以下のトピックについて説明します。
デフォルトのテンプレート
この項では、Enterprise Managerイベント・データ・フィールドとOMUメッセージ・データ・フィールドとの間のデフォルト・マッピングについて説明します。
XMLスタイル・シート(XSL)・ファイルには、2つのシステム間のマッピングが含まれています。 これらのファイルは、Enterprise Managerへのコネクタのインストールでインストールした自己更新アーカイブにあります。 インストール・ファイルを抽出するには、テンプレート・ファイルのエクスポートのステップを実行します。
表5-1は、マッピングを実行するXSLファイルと、それぞれの概要を示しています。
表5-1 マッピングを実行するXSLファイル
ファイル | 説明 |
---|---|
createEvent_request.xsl |
Oracle Enterprise Managerイベント・データをcreateEvent操作用のHP Operations Managerメッセージ形式に変換します。 |
updateEvent_request.xsl |
Oracle Enterprise Managerイベント・データをupdateEvent操作用のHP Operations Managerメッセージ形式に変換します。 |
この後の項では、各ファイルでのデフォルト・マッピングの詳細を説明します。
イベントの作成用テンプレート
Oracle Enterprise Managerでイベントが生成され、ルールでOMUコネクタを起動するように構成されている場合は、Oracle Enterprise Managerコネクタ・フレームワークがcreateEvent操作を起動します。プロセスの中でcreateEvent_request.xslが起動され、Oracle Enterprise Manager形式からOMUメッセージ形式にデータが変換されます。 表5-2は、HP Operations ManagerメッセージとOracle Enterprise Managerイベント間のデフォルト・フィールド・マッピングを示しています。
表5-2 イベントの作成用テンプレートのマッピング
Operations Managerフィールド名 | 値 |
---|---|
Message Text |
Enterprise Managerの書式付きイベント・コンテンツの指定に従って、インシデントの書式付きコンテンツに設定します。 |
Severity |
Enterprise Managerの書式付きイベント・コンテンツの項の指定に従って、イベントの重大度に基づいて重大度を設定します。 |
Message Group |
「OracleEnterpriseManager」にハードコードされます。 |
Object |
イベントのTargetNameフィールドに設定します。 |
Node |
「OracleEnterpriseManager」にハードコードされます。 |
Application |
イベントのTargetTypeLabelフィールドに設定します。 |
イベントの更新用テンプレート
Oracle Enterprise Managerでイベントが生成され、ルールでOMUコネクタを起動するように構成されている場合は、Oracle Enterprise Managerコネクタ・フレームワークがupdateEvent操作を起動します。プロセスの中でupdateEvent_request.xslが起動され、Oracle Enterprise Manager形式からOMUメッセージ形式にデータが変換されます。 表5-3は、HP Operations ManagerメッセージとOracle Enterprise Managerイベント間のデフォルト・フィールド・マッピングを示しています。
表5-3 イベントの更新用テンプレートのマッピング
Operations Managerフィールド名 | 値 |
---|---|
Message No. |
イベントのExternalEventIdフィールドに設定します。 |
Message Text |
Enterprise Managerの書式付きイベント・コンテンツの指定に従って、インシデントの書式付きコンテンツに設定します。 |
Severity |
イベントの重大度に基づいて重大度を設定します。 詳細は、重大度のマッピングを参照してください。 |
Message Group |
「OracleEnterpriseManager」にハードコードされます。 |
Object |
イベントのTargetNameフィールドに設定します。 |
Node |
「OracleEnterpriseManager」にハードコードされます。 |
Application |
イベントのTargetTypeLabelフィールドに設定します。 |
Enterprise Managerの書式付きイベント・コンテンツ
「説明」フィールドのテンプレートで使用される書式を次に示します。 山カッコ(< >)で区別されたテキストは、Enterprise Managerのイベントのフィールド名を示しており、実際のフィールドの内容で置換されます。 2つのアスタリスクが付いた行は、指定されているイベント・フィールドにデータが含まれている場合にのみ表示されることを示します。 書式の後にあるノートには、いくつかのフィールドに関する情報があります。
Received event reported by Oracle Enterprise Manager: Occurred Date: <OccurredDate> ReportedDate: <ReportedDate> Event Class: <EventClass> Event Name: <EventName> Target Type: <SourceInfo/TargetInfo/TargetTypeLabel> Target Name: <SourceInfo/TargetInfo/TargetName> Severity: <Severity> Message: <Message> URL: <EventURL> Target Properties:** <TargetProperty/Name>: <TargetProperty/Value>** Event Context:** <EventContextAttributes/StringAttribute/Name>: < EventContextAttributes/StringAttribute /Value>**
ノート
-
Target Propertiesセクションは、イベントにターゲット・プロパティ値が含まれている場合にのみ存在します。 次に、いくつかのサンプル・ターゲット・プロパティの名前と値のペアを示します。
Line of business: Finance Owner: Finance-DB Team
-
Event Contextセクションは、イベントにイベント・コンテキスト属性値が含まれている場合にのみ存在します。 名前と値のペアを含むStringAttributeまたはNumberAttribute値です。
-
URLは、Enterprise Managerの「イベントの詳細」ページのURLに設定されます。 URLは、直接クリックしてEnterprise Managerのイベントを表示できるリンクとして設定されます。
重大度のマッピング
OMUメッセージの重大度は、Enterprise Managerのイベントの重大度の値に基づいて設定されます。 表5-4に、OMUでメッセージを作成するときに使用される値を示します。
表5-4 OMUメッセージの重大度のマッピング
インシデントの重大度 | チケットの重大度の設定 |
---|---|
致命的 |
クリティカル |
クリティカル |
クリティカル |
警告 |
警告 |
マイナー警告 |
警告 |
情報 |
標準 |
イベント・マッピングのカスタマイズ
大部分の実装についてはデフォルト・マッピングで十分ですが、必要に応じて変更が可能です。 この後の項では、次のことを説明します。
ユーザーがXSLについて十分に理解しているものと仮定します。
OMUマッピングの参照情報は、Microsoft HP Operations Managerのカスタマイズを参照してください。
Oracle Enterprise ManagerイベントのXML書式
例5-1は、Oracle Enterprise Managerでのイベントの作成または更新時に、Oracle Enterprise Managerコネクタ・フレームワークで提供される書式を示しています。
例5-1 イベントのXML書式
<EMEvent xmlns="http://xmlns.oracle.com/sysman/connector"> <ExternalEventID/> <SystemAttributes> <EventClass/> <OccurredDate/> <ReportedDate/> <EventName/> <Severity/> <SeverityCode/> <SourceInfo> <TargetInfo> <TargetName/> <TargetTypeLabel/> <TargetProperty> <Name/> <Value/> </TargetProperty> </TargetInfo> </SourceInfo> <Message/> <EventURL/> </SystemAttributes> <EventContextAttributes> <NumberAttribute> <Name/> <Value/> </NumberAttribute> <StringAttribute> <Name/> <Value/> </StringAttribute> </EventContextAttributes> </EMEvent>
表5-5 XML書式のフィールドの説明
フィールド | 説明 |
---|---|
ExternalEventId |
HP Operations Managerにおけるメッセージの一意の識別子。 これは更新に対してのみ設定されます。 |
EventClass |
イベントのタイプを識別します。 |
OccurredDate |
イベントが発生した日時。 |
ReportedDate |
イベントがOMSによって報告された日時。 |
EventName |
イベントを説明する名前。 |
Severity |
イベントの重大度: Fatal、Critical、Warning、Minor_Warning、InformationalまたはClear |
SeverityCode |
イベントの重大度コード: FATAL、CRITICAL、WARNING、MINOR_WARNING、INFORMATIONALまたはCLEAR。 |
TargetType |
ターゲット・タイプの一意のインスタンスであるターゲット名。 |
TargetTypeLabel |
イベントが生成されたターゲット・タイプの表示名。 |
TargetProperty |
イベント・モデル(名前:値のペア)に特定のフィールドがない追加のターゲット・プロパティ。 |
Message |
イベントの説明 |
EventURL |
イベントのWebページへのリンク。 |
EventContextAttributes |
イベント・モデル(名前:値のペア)に特定のフィールドがない追加のイベント・プロパティ。 |
マッピングの変更
-
Enterprise ManagerからデフォルトのテンプレートXSLTファイルをエクスポートし、ベースラインとして使用します。 テンプレート・ファイルのエクスポートの手順に従って、デフォルトのテンプレート・ファイルのコピーを取得します。
-
変更するXSLファイルのバックアップ・コピーを作成します。
-
テンプレート・ファイルに必要なマッピング変更を追加します。 マッピングの変更の詳細は、テンプレートの変更を参照してください。
-
テンプレートの登録の指定に従って、新しいテンプレートをEnterprise Managerに登録します。
テンプレートのカスタマイズ方法の例は、テンプレートのカスタマイズの例を参照してください。
テンプレート・ファイルのエクスポート
コネクタのインストールjarファイルは、Enterprise Managerへのコネクタのインストールでインストールした自己更新アーカイブに含まれています。
インストール・ファイルを抽出するには:
-
アダプタ・インストール・ファイルのエクスポートに必要なコマンドを判別します。 これを行うには、次のステップを実行します:
-
Enterprise Managerコンソールの「設定」メニューから、「拡張性」、「自己更新」の順に選択します。
-
「管理コネクタ」リンクをクリックします。
-
OMUコネクタをクリックし、「アクション」リストから「エクスポート」を選択します。
ポップアップ・ウィンドウに、ファイルをエクスポートするために必要なコマンドが表示されます。 図5-1に、ウィンドウの例を示します。
図5-1 エクスポート・コマンドの例
-
-
管理サーバーのホスト・システムでコマンド・ウィンドウを開き、ファイルをコピーできる一時ディレクトリに移動します。
-
次のコマンドを使用して、EM CLIにログインします。 sysmanアカウントのパスワード情報の入力を求めるプロンプトが表示されます。
emcli login -username=sysman
ノート:
EM CLIはOMSホストから実行する必要があります。 EM CLIの設定に関する詳細は、『Oracle Enterprise Managerコマンドライン・インタフェース』を参照してください。
-
<dirname>を一時ディレクトリのフルパスに変更して、システムからEM CLI export_updateコマンドを実行します。
zipファイルが作成されます。 ファイル名は、export_updateコマンドで指定したid値と.zip拡張子で構成されます。 図5-1のコマンドの例では、zipファイル名は次のようになります。
E9F684312AE7A18E98340715D079E58D.zip
-
次のコマンドを使用して、zipファイルからアダプタのインストールjarファイルを抽出します。
unzip *.zip archives/*connector.jar
-
次のコマンドを使用して、コネクタjarファイルからテンプレートを抽出します。
$JAVA_HOME/bin/jar xf archives/*.jar createEvent_request.xsl updateEvent_request.xsl
ノート:
コネクタ・ファイルがあるシステムにJDKがインストールされていない場合は、jarファイルの内容を抽出できません。 JDKがインストールされているシステムにjarファイルをコピーして内容を抽出した後に、そのテンプレート・ファイルを転送する必要があります。
テンプレートの変更
テンプレートは、入力XMLの書式を出力XMLの書式に変換するXSLTファイルです。 マッピングを変更するには、変換される入力XML書式とテンプレートによって生成される出力XMLを理解する必要があります。 入力ドキュメントは、Enterprise Managerのイベント情報が含まれているXMLドキュメントです。 出力ドキュメントはOMU Webサービスに送信されるリクエストです。 出力XMLドキュメントは、OMU EventService WSDLに指定されているデータ書式に準拠する必要があります。
Enterprise Managerのイベントの書式には、Enterprise Managerによって生成されたイベント・データの書式について詳細が記載されています。 OMU WebサービスのWSDLの書式には、OMUのEventService Webサービスで必要とされるXML書式の詳細が記載されています。 XML書式とメッセージ・フィールド名とのマッピングには、OMU EventService WebサービスのフィールドとOMUのフィールド名の間のマッピングが記載されています。 次のリストに、テンプレート・ファイルを変更する際に従う必要があるステップを示します。
テンプレートを変更するには:
-
変更しようとしているOMU Webサービスのフィールドの名前を特定するには、XML書式とメッセージ・フィールド名とのマッピングおよびOMU WebサービスのWSDLの書式を確認してください。 たとえば、OMUのSourceフィールドに値を設定する必要がある場合は、XML書式とメッセージ・フィールド名とのマッピングでフィールドを確認すると、OMU Webサービスが/create/event/source/nameのXMLパスのデータを期待していることがわかります。
-
イベントのデータを使用する予定の場合は、Enterprise Managerのイベントの書式を確認して、マッピングに使用するフィールドを特定します。 Enterprise Managerのイベントの例には、Enterprise ManagerのXMLドキュメントに存在するデータを識別する際に大変に役立つサンプル・トランザクションがあります。
-
XSLTファイルの作成に使用できるテキスト・エディタまたはユーティリティで、カスタム・テンプレート・ファイルを開きます。
-
カスタム・テンプレート・ファイルに必要な変更を加えて保存します。
-
変更が非常に単純な場合を除き、付録Eのサンプル・データを使用して変更した内容をテストする必要があります。 これには、XSLT変換を実行するユーティリティが必要です。
テンプレートの登録
カスタマイズされたテンプレートがEnterprise Managerで認識されるようにするには、まずそれらを登録する必要があります。
カスタマイズされたテンプレートごとに、emctlに対する実行権限およびテンプレートの読取り権限があるユーザーとして、次のemctl register_templateコネクタ・コマンドを実行します。
$ORACLE_HOME/bin/emctl register_template connector -t <template.xsl> -repos_pwd <reposPassword> -cname <connectorName> -iname <internalName> -tname <templateName> -ttype 2 [-d <description>]
説明:
<template.xsl>は、テンプレート・ファイルのフル・パス名です。
<reposPassword>は、Enterprise Managerのルート(SYSMAN)のパスワードです。
<connectorName>は、コネクタ・インスタンスの作成のステップ5でインストールしたコネクタ・インスタンスの名前です。
<internalName>は、テンプレートに使用する内部名です。
<templateName>は、テンプレートに表示する名前です。
<description>は、テンプレートの説明です。
たとえば、次のコマンドは、「OMU」という名前のコネクタ・インスタンスに対するcreateEventテンプレートを更新します。
emctl register_template connector -t /home/oracle/customized_templates/createEvent_request.xml -repos_pwd sysmanpass -cname "OMU" -iname "createEvent" -tname "Create Event Request" -ttype 2 -d "Demo template"
テンプレートのカスタマイズの例
このシナリオでは、顧客は、デフォルトのマッピングが自身の環境で機能しないと判断しました。 顧客は、ターゲット・タイプ情報をアプリケーション・フィールドに配置するかわりに、アプリケーション・フィールドを「Oracle Enterprise Manager」にハードコードすることを希望しています。 また、顧客は、ターゲット・タイプ情報をTargetTypeという名前のCMAフィールドに配置することも希望しています。 顧客は、OMSサーバー・システムの/home/oracle/customized_templatesに一時ディレクトリを作成してテンプレートを格納しました。
次のステップでは、顧客が要件にあわせてテンプレートをカスタマイズする方法について説明します。
-
管理コネクタの更新ページに移動し、OMUコネクタをエクスポートします。 後で使用するために、「エクスポート・ステップ」ウィンドウにリストされている最初のEM CLIコマンドをコピーします。
emcli export_update -id=DD4E9161C5E7129F9641447FB4F0497B -omslocal -dir=<dirname>
-
OMSサーバー・システムでコマンド・ウィンドウを開き、作業ディレクトリを一時ディレクトリに変更します。
cd /home/oracle/customized_templates
-
EM CLIにログインします。
emcli login -username=sysman
-
ステップ1からEM CLIコマンドを実行して、zipファイルを一時ディレクトリにエクスポートします。
emcli export_update -id=DD4E9161C5E7129F9641447FB4F0497B -omslocal -dir=/home/oracle/customized_templates
-
zipファイルからコネクタjarファイルを抽出します。
unzip *.zip archives/*connector.jar
-
jarファイルからテンプレート・ファイルを抽出します。 このコマンドは、createEventおよびupdateEventテンプレート・ファイルを抽出します。
$JAVA_HOME/bin/jar xf archives/*.jar createEvent_request.xsl updateEvent_request.xsl
-
変更するテンプレート・ファイルのバックアップ・コピーを作成します。
cp createEvent_request.xsl createEvent_request.xsl.orig cp updateEvent_request.xsl updateEvent_request.xsl.orig
-
テキスト・エディタでcreateEvent_request.xslを開きます。
-
extended-fieldsセクションを、新規のマッピングが反映されるように変更します。
-
変更前
次のコードは、変更前のファイルのextended-fieldsセクションを示しています。
<extended-fields> <!-- OMU Application --> <string-field name="application"> <xsl:value-of select="a:SystemAttributes/a:SourceInfo/a:TargetInfo/a:TargetTypeLabel"/> </string-field> <!-- Do not add CMA data --> <string-field name="ovo_ts_field">NONE</string-field> <!-- Own the event after it is created --> <string-field name="own">true</string-field> </extended-fields>
-
変更後
次のコードは、変更後のファイルのextended-fieldsセクションを示しています。 変更箇所は太字のイタリック体で示されています。
<extended-fields> <!-- OMU Application --> <string-field name="application">Oracle Enterprise Manager</string-field> <!-- Do not add CMA data --> <string-field name="ovo_ts_field">NONE</string-field> <!-- Own the event after it is created --> <string-field name="own">true</string-field> <string-field name="TargetType"> <xsl:value-of select="a:SystemAttributes/a:SourceInfo/a:TargetInfo/a:TargetTypeLabel"/> </string-field> </extended-fields>
-
-
更新後に変更を保存します。
-
updateEvent_request.xslファイルを開き、同じ変更を追加します。 この場合、extended-fieldsセクションの切取りおよび貼付けはできません。作成と更新の変換の間には相違点がいくつかあるためです。 これらは個別に編集する必要があります。
-
更新後に変更を保存します。
-
テスト用に設定するには、create.xmlおよびupdate.xmlファイルを作成し、それらをテキスト・エディタで開きます。
-
Enterprise Managerのイベントの例の作成の例の項にあるXMLドキュメントのコンテンツをcreate.xmlファイルにコピーして保存します。
-
Enterprise Managerのイベントの例の更新の例の項にあるXMLドキュメントのコンテンツをupdate.xmlファイルにコピーして保存します。
-
create.xmlおよびupdate.xmlファイルのそれぞれを入力XMLドキュメントとして使用して、XSLT変換を実行するユーティリティを使用して、新しいテンプレートをテストします。
-
出力XMLドキュメントを調査し、結果が適切であることを確認してください。
ノート:
また、XMLクライアントを使用して、XML出力ドキュメントをOMU Webサービスに送信し、Webサービスが受け入れる書式になっていることも確認できます。
-
OMSサーバー・システムで、次のコマンドを実行して、カスタマイズされたcreateEventテンプレートを再登録します。
emctl register_template connector -t /home/oracle/customized_templates/createEvent_request.xsl -repos_pwd sysmanpass -cname "OMU" -iname "createEvent" -tname "Create Event Request" -ttype 2 -d " This is the customized request xsl file for the createEvent method"
-
OMSサーバー・システムで、次のコマンドを実行して、カスタマイズされたupdateEventテンプレートを再登録します。
emctl register_template connector -t /home/oracle/customized_templates/updateEvent_request.xsl -repos_pwd sysmanpass -cname "OMU" -iname "updateEvent" -tname "Update Event Request" -ttype 2 -d " This is the customized request xsl file for the updateEvent method"6