プライマリ・コンテンツに移動
Oracle® Enterprise Manager HP Operations Manager Connectorインストレーションおよび構成ガイド
13c リリース2
E94907-02
目次へ移動
目次

前
次

5.4 イベント・マッピングのカスタマイズ

大部分の実装についてはデフォルト・マッピングで十分ですが、必要に応じて変更が可能です。この後の項では、次のことを説明します。

ユーザーがXSLについて十分に理解しているものと仮定します。

OMUマッピングの参照情報は、Microsoft HP Operations Managerのカスタマイズを参照してください。

5.4.1 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は、例5-1で示したフィールドの説明です。

表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

イベント・モデル(名前:値のペア)に特定のフィールドがない追加のイベント・プロパティ。

5.4.2 マッピングの変更

次の手順は、マッピングの変更に必要な手順です。

  1. Enterprise ManagerからデフォルトのテンプレートXSLTファイルをエクスポートし、ベースラインとして使用します。テンプレート・ファイルのエクスポートの手順に従って、デフォルトのテンプレート・ファイルのコピーを取得します。

  2. 変更するXSLファイルのバックアップ・コピーを作成します。

  3. テンプレート・ファイルに必要なマッピング変更を追加します。マッピングの変更の詳細は、テンプレートの変更を参照してください。

  4. テンプレートの登録の指定に従って、新しいテンプレートをEnterprise Managerに登録します。

テンプレートのカスタマイズ方法の例は、テンプレートのカスタマイズの例を参照してください。

5.4.2.1 テンプレート・ファイルのエクスポート

コネクタのインストールjarファイルは、Enterprise Managerへのコネクタのインストールでインストールした自己更新アーカイブに含まれています。

インストール・ファイルを抽出する手順は、次のとおりです。

  1. アダプタ・インストール・ファイルのエクスポートに必要なコマンドを判別します。これを行うには、次の手順を実行します:

    1. Enterprise Managerコンソールの「設定」メニューから、「拡張性」「自己更新」の順に選択します。

    2. 「管理コネクタ」リンクをクリックします。

    3. OMUコネクタをクリックし、「アクション」リストから「エクスポート」を選択します。

      ポップアップ・ウィンドウに、ファイルをエクスポートするために必要なコマンドが表示されます。図5-1に、ウィンドウの例を示します。

      図5-1 エクスポート・コマンドの例


      エクスポート・コマンドの例

  2. 管理サーバーのホスト・システムでコマンド・ウィンドウを開き、ファイルをコピーできる一時ディレクトリに移動します。

  3. 次のコマンドを使用して、EM CLIにログインします。sysmanアカウントのパスワード情報の入力を求めるプロンプトが表示されます。

    emcli login -username=sysman

    注意:

    EM CLIはOMSホストから実行する必要があります。EM CLIの設定に関する詳細は、『Oracle Enterprise Managerコマンドライン・インタフェース』を参照してください。

  4. <dirname>を一時ディレクトリのフルパスに変更して、システムからEM CLI export_updateコマンドを実行します。

    zipファイルが作成されます。ファイル名は、export_updateコマンドで指定したid値と.zip拡張子で構成されます。図5-1のコマンドの例では、zipファイル名は次のようになります。

    E9F684312AE7A18E98340715D079E58D.zip
    
  5. 次のコマンドを使用して、zipファイルからアダプタのインストールjarファイルを抽出します。

    unzip *.zip archives/*connector.jar
    
  6. 次のコマンドを使用して、コネクタjarファイルからテンプレートを抽出します。

    $JAVA_HOME/bin/jar xf archives/*.jar createEvent_request.xsl 
    updateEvent_request.xsl

    注意:

    コネクタ・ファイルがあるシステムにJDKがインストールされていない場合は、jarファイルの内容を抽出できません。JDKがインストールされているシステムにjarファイルをコピーして内容を抽出した後に、そのテンプレート・ファイルを転送する必要があります。

5.4.2.2 テンプレートの変更

テンプレートは、入力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のフィールド名の間のマッピングが記載されています。次のリストに、テンプレート・ファイルを変更する際に従う必要がある手順を示します。

テンプレートを変更するには:

  1. 変更しようとしているOMU Webサービスのフィールドの名前を特定するには、XML書式とメッセージ・フィールド名とのマッピングおよびOMU WebサービスのWSDLの書式を確認してください。たとえば、OMUのSourceフィールドに値を設定する必要がある場合は、XML書式とメッセージ・フィールド名とのマッピングでフィールドを確認すると、OMU Webサービスが/create/event/source/nameのXMLパスのデータを期待していることがわかります。

  2. イベントのデータを使用する予定の場合は、Enterprise Managerのイベントの書式を確認して、マッピングに使用するフィールドを特定します。Enterprise Managerのイベントの例には、Enterprise ManagerのXMLドキュメントに存在するデータを識別する際に大変に役立つサンプル・トランザクションがあります。

  3. XSLTファイルの作成に使用できるテキスト・エディタまたはユーティリティで、カスタム・テンプレート・ファイルを開きます。

  4. カスタム・テンプレート・ファイルに必要な変更を加えて保存します。

  5. 変更が非常に単純な場合を除き、付録Eのサンプル・データを使用して変更した内容をテストする必要があります。これには、XSLT変換を実行するユーティリティが必要です。

5.4.2.3 テンプレートの登録

カスタマイズされたテンプレートが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"

5.4.2.4 テンプレートのカスタマイズの例

このシナリオでは、顧客は、デフォルトのマッピングが自身の環境で機能しないと判断しました。顧客は、ターゲット・タイプ情報をアプリケーション・フィールドに配置するかわりに、アプリケーション・フィールドを「Oracle Enterprise Manager」にハードコードすることを希望しています。また、顧客は、ターゲット・タイプ情報をTargetTypeという名前のCMAフィールドに配置することも希望しています。顧客は、OMSサーバー・システムの/home/oracle/customized_templatesに一時ディレクトリを作成してテンプレートを格納しました。

次の手順では、顧客が要件にあわせてテンプレートをカスタマイズする方法について説明します。

  1. 管理コネクタの更新ページに移動し、OMUコネクタをエクスポートします。後で使用するために、「エクスポート・ステップ」ウィンドウにリストされている最初のEM CLIコマンドをコピーします。

    emcli export_update -id=DD4E9161C5E7129F9641447FB4F0497B -omslocal -dir=<dirname>
    
  2. OMSサーバー・システムでコマンド・ウィンドウを開き、作業ディレクトリを一時ディレクトリに変更します。

    cd /home/oracle/customized_templates
    
  3. EM CLIにログインします。

    emcli login -username=sysman
    
  4. 手順1からEM CLIコマンドを実行して、zipファイルを一時ディレクトリにエクスポートします。

    emcli export_update -id=DD4E9161C5E7129F9641447FB4F0497B -omslocal -dir=/home/oracle/customized_templates
    
  5. zipファイルからコネクタjarファイルを抽出します。

    unzip *.zip archives/*connector.jar
    
  6. jarファイルからテンプレート・ファイルを抽出します。このコマンドは、createEventおよびupdateEventテンプレート・ファイルを抽出します。

    $JAVA_HOME/bin/jar xf archives/*.jar createEvent_request.xsl 
    updateEvent_request.xsl
    
  7. 変更するテンプレート・ファイルのバックアップ・コピーを作成します。

    cp createEvent_request.xsl createEvent_request.xsl.orig
    cp updateEvent_request.xsl updateEvent_request.xsl.orig
    
  8. テキスト・エディタでcreateEvent_request.xslを開きます。

  9. 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>
      
  10. 更新後に変更を保存します。

  11. updateEvent_request.xslファイルを開き、同じ変更を追加します。この場合、extended-fieldsセクションの切取りおよび貼付けはできません。作成と更新の変換の間には相違点がいくつかあるためです。これらは個別に編集する必要があります。

  12. 更新後に変更を保存します。

  13. テスト用に設定するには、create.xmlおよびupdate.xmlファイルを作成し、それらをテキスト・エディタで開きます。

  14. Enterprise Managerのイベントの例作成の例の項にあるXMLドキュメントのコンテンツをcreate.xmlファイルにコピーして保存します。

  15. Enterprise Managerのイベントの例更新の例の項にあるXMLドキュメントのコンテンツをupdate.xmlファイルにコピーして保存します。

  16. create.xmlおよびupdate.xmlファイルのそれぞれを入力XMLドキュメントとして使用して、XSLT変換を実行するユーティリティを使用して、新しいテンプレートをテストします。

  17. 出力XMLドキュメントを調査し、結果が適切であることを確認してください。

    注意:

    また、XMLクライアントを使用して、XML出力ドキュメントをOMU Webサービスに送信し、Webサービスが受け入れる書式になっていることも確認できます。

  18. XMLドキュメントに問題がある場合は、必要な修正を加えて手順1617を繰り返します。

  19. 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"
    
  20. 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