ヘッダーをスキップ
Oracle Enterprise Manager Connectors統合ガイド
10gリリース4(10.2.0.4)
E05925-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 ヘルプ・デスク・コネクタの作成

この章では、ヘルプ・デスク・コネクタを作成し、Enterprise Managerと統合するために必要な情報を提供します。この章の内容は次のとおりです。

概要

Oracle Enterprise Manager 10gには、Management Connectorフレームワーク(Connectorフレームワークとも呼ばれる)が導入され、開発者はメタデータ(XMLおよびXSL)に基いてヘルプ・デスク・コネクタを作成できます。

このフレームワークで作成されるヘルプ・デスク・コネクタには、次の機能が継承されます。

ユーザー独自のヘルプ・デスク・システムでこれらのチケッティング機能を使用するには、一連のメタデータ・ファイルを提供する必要があります。表2-1にヘルプ・デスク・コネクタの作成に必要なメタデータ・ファイルのカテゴリをリストします。

表2-1 メタデータ・ファイルのカテゴリ

カテゴリ タイプ 説明

コネクタ記述子

XML

チケッティング・システムの統合をカスタマイズできます。このファイル内での構成UIページの作成方法をXMLで記述します。

チケット・テンプレート

XSLT

イベントのコンテキスト内でのチケットの記入方法を記述します。チケット・テンプレートでは、XSLT言語で、チケットの作成および更新時のEnterprise Managerのアラート・データ・フィールドから対応するチケット・データ・フィールドへのマッピングを説明してします。

レスポンス変換

XSLT

チケッティング・システムWebサービスのレスポンス・データを、チケットConnectorフレームワークに対応した形式に正規化します。


前提条件

ヘルプ・デスク・コネクタを作成する前に、チケッティング・システムが次の前提条件を満たしていることを確認してください。

XMLファイルおよびXSLファイルの定義

この項では、ヘルプ・デスク・コネクタを作成するために定義が必要な、様々なXMLファイルおよびXSLファイルの詳細を説明します。

次の場所にあるメタデータ・ファイルの例を参照することをお薦めします。

$OMS_HOME/sysman/connector/Remedy_Connector


注意:

この場所にあるファイルは変更しないでください。

コネクタ記述子XMLファイル

コネクタ記述子XMLファイルを定義し、コネクタ・メタデータおよびコネクタの構成プロパティ(Webサービスのエンドポイント、認証スキーマおよびチケットのURLパターンなど)を記述します。このXMLファイルで、コネクタに対して構成ページを動的に作成する方法を定義します。

例2-1は、connectorType.XSDファイルに準拠しています。ハイライトされた要素を適切な値に置換すると、テンプレートとして使用できます。


注意:

サンプル・ファイルは、次のディレクトリにあります。

$ORACLE_HOME/sysman/connector/common/schema/connectorType.xsd

Remedy Connectorの記述子XMLファイルは、RemedyDeploy.xmlです。


例2-1 サンプル・コネクタ記述子XMLファイル

<?xml version='1.0' encoding='UTF-8'?>
<ManagementConnector xmlns="http://xmlns.oracle.com/sysman/connector">
  <Name>specify the connector name</Name>
  <Version>specify the 5-digit version, e.g., 1.0.0.0.0</Version>
  <Description>specify a short description</Description>
  <!-- Category is fixed to TicketingConnector. -->
  <Category>TicketingConnector</Category>
  <TicketingConnector>
    <!-- authentication element is optional. If authentication is required, the
SOAP header should match the Data element in this section. Other elements are
displayed on the default UI to collect data to generate the Data element. -->
    <Authentication>
      <Username>
        <AttributeName>specify the username_element_name</AttributeName>
        <DisplayName>specify the label</DisplayName>
      </Username>
      <Password>
        <AttributeName>specify the password_element_name</AttributeName>
        <DisplayName>specify the display label</DisplayName>
      </Password>
      <Attribute>
        <AttributeName>specify attribute other than username and password</AttributeName>
        <DisplayName>specify display label</DisplayName>
      </Attribute>
      <!-- Attribute element can repeat. -->
      <Data>
        <![CDATA[
          specify how authentication element should appear in SOAP header
        ]]>
      </Data>
    </Authentication>
    <TicketingService>
      <Method>createTicket</Method>
      <WebServiceEndpoint>
        <![CDATA[specify URL]]>
      </WebServiceEndpoint>
      <SOAPAction>specify the SOAP action</SOAPAction>
      <Namespace>specify the namespace</Namespace>
      <NamespacePrefix>specify the namespace prefix</NamespacePrefix>
    </TicketingService>
    <TicketingService>
      <Method>updateTicket</Method>
      <WebServiceEndpoint>
        <![CDATA[specify the URL]>
      </WebServiceEndpoint>
      <SOAPAction>specify the SOAP action</SOAPAction>
      <Namespace>specify the namespace</Namespace>
      <NamespacePrefix>specify the namespace prefix</NamespacePrefix>
    </TicketingService>
  <!-- BaseURL element is for the default UI for ticketing connectors, the following value should not be changed. -->
  <BaseURL>/em/console/connector/ticket/ticketConnectorConfig</BaseURL>
    <!-- ExternalURL is used to generate the ticket URL. -->
    <ExternalURL>
      <!-- Strings in brackets ([]) are user variables, i.e., the values to be
collected from UI. Strings in {} are substitution variables, i.e., the values to
be collected from the web service response (they need to have the same element
names as the ones from the response XML. The following is an example. -->
      <Pattern>
        <![CDATA[specify the URL as http://[Web
Server]/arsys/servlet/ViewFormServlet?form=[HelpDesk Case Form
Name]&server=[ARServer Name]&eid={Case_ID}]]>
      </Pattern>
      <UserVariable>specify the Web server</UserVariable>
      <UserVariable>specify the HelpDesk Case Form Name</UserVariable>
      <UserVariable>specify the ARServer Name</UserVariable>
      <SubstitutionVariable>specify the Case_ID</SubstitutionVariable>
    </ExternalURL>
  </TicketingConnector>
</ManagementConnector>

表2-2では、ファイルを分割して、各セクションの実行内容を説明します。

表2-2 コネクタ記述子XMLファイルの説明

メタデータ・ファイル・セクション 説明
    <Authentication>
      <Username>
        <AttributeName>specify the username_element_name</AttributeName>
        <DisplayName>specify the label</DisplayName>
      </Username>
      <Password>
        <AttributeName>specify the password_element_name</AttributeName>
        <DisplayName>specify the display label</DisplayName>
      </Password>
      <Attribute>
        <AttributeName>specify attribute other than username and password</AttributeName>
        <DisplayName>specify display label</DisplayName>
      </Attribute>
      <!-- Attribute element can repeat. -->
      <Data>
        <![CDATA[
          specify how authentication element should appear in SOAP header
        ]]>
      </Data>
    </Authentication>

(オプション)このセクションでは、チケッティング・システムWebサービスの認証スキーマを記述できます。

「管理コネクタの構成」ページ(図2-2)は、このセクションに基づいて生成されます。

ユーザー名、パスワードおよび追加のテキスト・フィールドは、このセクションに基づいて移入されます。

  • <AttributeName>タグで、WebサービスXML文書内の属性の名前がマーク付けされます。

  • <DisplayName>タグで、対応するテキスト・ボックスのラベル付けの方法が記述されます。

    <TicketingService>
      <Method>createTicket</Method>
      <WebServiceEndpoint>
        <![CDATA[specify URL]]>
      </WebServiceEndpoint>
      <SOAPAction>specify the SOAP action</SOAPAction>
      <Namespace>specify the namespace</Namespace>
      <NamespacePrefix>specify the namespace prefix</NamespacePrefix>
    </TicketingService>
    <TicketingService>
      <Method>updateTicket</Method>
      <WebServiceEndpoint>
        <![CDATA[specify the URL]>
      </WebServiceEndpoint>
      <SOAPAction>specify the SOAP action</SOAPAction>
      <Namespace>specify the namespace</Namespace>
      <NamespacePrefix>specify the namespace prefix</NamespacePrefix>
    </TicketingService>
  <BaseURL>/em/console/connector/ticket/ticketConnectorConfig</BaseURL>

このセクションで、チケッティング・システムWebサービス固有の構成を指定できます。

フレームワークが適切にチケッティング・システムと通信できるよう、チケッティング・システムのcreate ticketおよびupdate ticket Webサービスに、対応するSOAPアクションおよびネームスペース接頭辞を記述する必要があります。

  • <WebServiceEndpoint>タグでは、デフォルトのWebサービス・エンドポイント文字列が「管理コネクタ」ページ(図2-2)の「Webサービス」セクションに表示されるように記述されます。

  • <BaseURL>タグは、ヘルプ・デスク・コネクタのデフォルトのUIに対応しています。この値は編集できません。

    <ExternalURL>
      <Pattern>
        <![CDATA[specify the URL as http://[Web
Server]/arsys/servlet/ViewFormServlet?form=[HelpDesk Case Form
Name]&server=[ARServer Name]&eid={Case_ID}]]>
      </Pattern>
      <UserVariable>specify the Web server</UserVariable>
      <UserVariable>specify the HelpDesk Case Form Name</UserVariable>
      <UserVariable>specify the ARServer Name</UserVariable>
      <SubstitutionVariable>specify the Case_ID</SubstitutionVariable>
    </ExternalURL>
  </TicketingConnector>

このセクションでは、チケットConnectorフレームワークを構成して独自のチケッティング・システムに対するチケットURLを作成できます。

  • <Pattern>タグの値には、URL文字列と、そこにユーザー構成の変数をどのように挿入するかが記述されます。

  • <UserVariable>タグのWebconsoleセクションには、テキスト・ボックスとラベルのペアが挿入されます。

    URLパターン文字列には、各ユーザー変数にユーザーが提供する値が適宜挿入されます。"X"というユーザー変数が存在する場合は、チケットURLが生成される際に、ユーザー入力値が"[X]"に置き換えられます。

  • <SubstitutionVariable>タグでは、Webサービス・チケット作成レスポンスのどのタグをURLパターン文字列にマップするかが記述されます。たとえば、チケッティング・システムのチケット作成Webサービスがタグ<TicketID>を戻す場合、チケットURLパターン{TicketID}内のテキストに置き換えられます。


connectorType.XSD

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://xmlns.oracle.com/sysman/connector"
            targetNamespace="http://xmlns.oracle.com/sysman/connector"
            elementFormDefault="qualified" >

  <xsd:element name="ManagementConnector">
    <xsd:annotation>
      <xsd:documentation>Deployment Descriptor for Management Connectors</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Name" type="xsd:string"/>
        <xsd:element name="Version" type="xsd:string"/>
        <xsd:element name="Description" type="xsd:string"/>
        <xsd:element name="Category">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="EventConnector"/>
              <xsd:enumeration value="TicketingConnector"/>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
        <xsd:choice>
          <xsd:element name="EventConnector" type="EventConnector"/>
          <xsd:element name="TicketingConnector" type="TicketingConnector"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="EventConnector">
    <xsd:sequence>
    <xsd:element name="IsNewTargetType" type="xsd:boolean"/>
      <xsd:element name="Authentication" type="Authentication" minOccurs="0"/>
      <xsd:element name="EventService" type="EventService" minOccurs="1" maxOccurs="unbounded"/>
      <xsd:element name="TargetResponse" type="Response" minOccurs="0"/>
      <xsd:element name="BaseURL" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="TicketingConnector">
    <xsd:sequence>
      <xsd:element name="Authentication" type="Authentication" minOccurs="0"/>
      <xsd:element name="TicketingService" type="TicketingService" minOccurs="1" maxOccurs="unbounded"/>
      <xsd:element name="BaseURL" type="xsd:string"/>
      <xsd:element name="ExternalURL" type="ExternalURL"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="EventService">
    <xsd:sequence>
      <xsd:element name="Method" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="getNewAlerts"/>
            <xsd:enumeration value="getUpdatedAlerts"/>
            <xsd:enumeration value="acknowledgeAlerts"/>
            <xsd:enumeration value="setup"/>
            <xsd:enumeration value="initialize"/>
            <xsd:enumeration value="uninitialize"/>
            <xsd:enumeration value="cleanup"/>
            <xsd:enumeration value="updateAlerts"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="WebServiceEndpoint" type="xsd:string"/>
      <xsd:element name="SOAPAction" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Namespace" type="xsd:string"/>
      <xsd:element name="NamespacePrefix" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
 <xsd:complexType name="TicketingService">
    <xsd:sequence>
      <xsd:element name="Method" maxOccurs="1">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
            <xsd:enumeration value="createTicket"/>
            <xsd:enumeration value="updateTicket"/>
            <xsd:enumeration value="getTicket"/>
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
      <xsd:element name="WebServiceEndpoint" type="xsd:string"/>
      <xsd:element name="SOAPAction" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Namespace" type="xsd:string"/>
      <xsd:element name="NamespacePrefix" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Authentication">
    <xsd:sequence>
      <xsd:element name="Username" type="Username"/>
      <xsd:element name="Password" type="Password"/>
      <xsd:element name="Attribute" type="Attribute" maxOccurs="unbounded" minOccurs="0"/>
      <xsd:element name="Data" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Username">
    <xsd:sequence>
      <xsd:element name="AttributeName" type="xsd:string"/>
      <xsd:element name="DisplayName" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Password">
    <xsd:sequence>
      <xsd:element name="AttributeName" type="xsd:string"/>
      <xsd:element name="DisplayName" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Attribute">
    <xsd:sequence>
      <xsd:element name="AttributeName" type="xsd:string"/>
      <xsd:element name="DisplayName" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Response">
    <xsd:sequence>
      <xsd:element name="ScriptName" type="xsd:string"/>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ExternalURL">
    <xsd:sequence>
      <xsd:element name="Pattern" type="xsd:string"/>
      <xsd:element name="UserVariable" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/>
      <xsd:element name="SubstitutionVariable" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

デフォルト・チケット・テンプレートXSLファイル

チケット・テンプレートには、Enterprise Managerのアラートをチケッティング・システムで要求されるメッセージ(SOAP本文XML)に変換する方法が記述されます。生成されるチケットとヘルプ・デスクとの互換性を確実にするために、チケット・テンプレートを使用して、Enterprise Managerのアラートに基づきチケットをオープンまたは更新する際に、チケット・フィールドにどのように事前入力するかを指定できます。

新規チケット・テンプレートを追加するか、既存のチケット・テンプレートを変更できます。ヘルプ・デスク・コネクタには、1つ以上のチケット・テンプレートを提供する必要があります。テンプレートには、次のリクエストの変換方法に関するロジックが含まれている必要があります。

  • チケットの作成

  • チケットの取得

  • チケットの更新

  • チケットの再オープン

  • チケットのクローズ

必要に応じた数のテンプレートを送信できます。たとえば、本番データベース、開発データベースおよびテスト・データベースなどのカテゴリ、または優先度、あるいはその両方の組合せに基づいてテンプレートを選択し送信できます。自動クローズするものとしないものの最低2セットのテンプレートを送信することをお薦めします。

必要に応じて、これらのテンプレートを変更したり、他のテンプレートを追加できます。チケット・テンプレートは、ユーザー・インタフェースから削除したり、emctlを使用してアップロードできます。

チケットにマップできるフィールドを、表2-3に示します。

表2-3 Enterprise Managerデータ・フィールド

データ・フィールド 説明

EMUser

  • 自動チケッティングの場合、通知ルールの所有者。

  • 手動チケッティングの場合、チケット作成をトリガーしたコンソール・ユーザー。

HDUser

コネクタと一緒に登録されているヘルプ・デスク・ユーザー。これは、WS認証に指定されているユーザー名と同一です。

TicketID

現在のアラートに関連付けられたチケットを識別します(チケット作成後に有効)。

ConnectorID

イベントを処理し、チケットの作成またはチケットの更新を実行したヘルプ・デスク・コネクタを識別します。

TargetType

アラートが関連付けられているターゲットのタイプ。例: host

TargetName

アラートが関連付けられているターゲットの名前。例: Database1またはstadc40.us.oracle.com

MetricColumn

アラートをトリガーしたメトリックの名前。例: CPU使用率(%)。

MetricName

メトリックのカテゴリ。例: メモリー使用率アラートに対するLoad

KeyColumn

一連のオブジェクトをモニターするメトリックでは、KeyColumnはモニターされるオブジェクトのタイプを示します。たとえば、表領域オブジェクトをモニターする「表領域使用率(%)」メトリックの場合、KeyColumnは「表領域名」となります。

KeyValues

キー値に基づくアラートに関連付けられたキー値。

一連のオブジェクトをモニターするメトリックでは、KeyValuesは重大度をトリガーした特定のオブジェクトを示します。たとえば、表領域オブジェクトをモニターする「表領域使用率(%)」メトリックでは、USERS表領域が警告またはクリティカルの重大度でトリガーすれば、KeyValuesは「USERS」になります。

Message

アラートの説明。例: 「CPU使用率は100%で、警告(80)またはクリティカル((95)のしきい値を超えています。」。

Severity

アラートの重大度。criticalwarningclearまたはdownがあります。

CollectionTime

アラート発生のタイムスタンプ。

EventPageURL

アラートのアラート詳細ページへのEnterprise ManagerコンソールURL。

NotificationRuleName

自動チケッティング中に通知を作成する通知ルールの名前。

TargetTimezone

アラートに関連付けられたターゲットのタイムゾーン。

GracePeriodCheckMade

値がYesの場合、構成された猶予期間の範囲内で、前回の更新または作成以降のアラートが消去されます。

TargetHost

アラートを作成したターゲットをホストしているサーバーの名前


スキーマ

次のスキーマは、表2-3内の属性を含むモデルを記述しています。

<?xml version="1.0" encoding="US-ASCII" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns="http://xmlns.oracle.com/sysman/connector/tt"
            targetNamespace="http://xmlns.oracle.com/sysman/connector/tt"
            elementFormDefault="qualified">

  <xsd:element name= "EventModel" type="EMEventModel"/>

  <xsd:complexType name="EMEventModel">
                <xsd:sequence>
      <xsd:element name="TicketId" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="ConnectorId" type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="EventId" type="EventIdType" minOccurs="1" maxOccurs="1" />
        <xsd:element name="TargetType" type="xsd:string" minOccurs="1" maxOccurs="1" />
        <xsd:element name="TargetName" type="xsd:string" minOccurs="1" maxOccurs="1" />
        <xsd:element name="MetricColumn" type="xsd:string" minOccurs="1" maxOccurs="1" />
        <xsd:element name="MetricName" type="xsd:string" minOccurs="1" maxOccurs="1" />
        <xsd:element name="KeyColumn" type="xsd:string" minOccurs="0" maxOccurs="1" />
        <xsd:element name="KeyValues" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
        <xsd:element name="Message" type="xsd:string" minOccurs="1" maxOccurs="1" />
        <xsd:element name="Severity" type="SeverityType" minOccurs="1" maxOccurs="1" />
        <xsd:element name="SeverityCode" type="SeverityCodeType" minOccurs="1" maxOccurs="1" />
        <xsd:element name="CollectionTime" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
        <xsd:element name="EventPageURL" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="EMUser" type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="HDUser" type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="NotificationRuleName" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TargetHost" type="xsd:string" minOccurs="1" maxOccurs="1" />
      <xsd:element name="GracePeriodCheckMade" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="TargetTimezone" type="xsd:string" minOccurs="1" maxOccurs="1" />
    </xsd:sequence>
        </xsd:complexType>

  <xsd:complexType name="EventIdType">
    <xsd:sequence>
      <xsd:element name="TargetId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="MetricId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="KeyId" type="xsd:string" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

        <xsd:simpleType name="SeverityType">
        <xsd:restriction base="xsd:string">
        <xsd:enumeration value="Clear" />
        <xsd:enumeration value="Info" />
        <xsd:enumeration value="Warning" />
        <xsd:enumeration value="Critical" />
        <xsd:enumeration value="Agent Unreachable Clear" />
      <xsd:enumeration value="Blackout End" />
      <xsd:enumeration value="Blackout Start" />
      <xsd:enumeration value="Metric Error End" />
      <xsd:enumeration value="Metric Error Start" />
      <xsd:enumeration value="Unknown" />
        </xsd:restriction>
        </xsd:simpleType>

        <xsd:simpleType name="SeverityCodeType">
        <xsd:restriction base="xsd:string">
        <xsd:enumeration value="15" />
        <xsd:enumeration value="18" />
        <xsd:enumeration value="20" />
        <xsd:enumeration value="25" />
        <xsd:enumeration value="115" />
      <xsd:enumeration value="125" />
      <xsd:enumeration value="215" />
      <xsd:enumeration value="225" />
      <xsd:enumeration value="315" />
      <xsd:enumeration value="325" />
        </xsd:restriction>
        </xsd:simpleType>
</xsd:schema>

サンプル・テンプレート

例2-2は、Remedy Connectorのサンプル・チケット・テンプレートです。デフォルトの分類high priorityによりRemedyチケットを作成して、説明にアラート情報を埋め込みます。


注意:

サンプル・ファイルは、次のディレクトリにあります。

$ORACLE_HOME/sysman/connector/Remedy_Connector


更新時、作業ログのフィールドは、最新の変更内容の履歴によって更新されます。アラートが消去されると、テンプレートによりチケットはクローズされます。

例2-2 Remedy Connectorのサンプル・チケット・テンプレート

<?xml version='1.0' encoding='UTF-8'?>
<xsl:transform version="1.0"
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns:ns0="http://xmlns.oracle.com/sysman/connector/tt"
               targetNamespace="http://xmlns.oracle.com/sysman/connector/tt"
               elementFormDefault="qualified">
  <!--
  This template creates an incident type ticket with default categorization
  (Category: Default, Type:Default, Item:Default), and high priority. On update,
  the description and message fields are updated, and the ticket is closed if the
  associated alert has cleared.
  -->

  <xsl:template match="ns0:EventModel">
    <xsl:choose>
      <xsl:when test="normalize-space(ns0:TicketId) = ''">
        <urn:Create_Helpdesk_Case xmlns:urn="urn:HelpDesk_Submit_Service">

           <!-- EDIT THE TAG VALUES BELOW TO CHANGE HOW A TICKET IS FILLED
                DURING TICKET CREATION. REFER TO THE REMEDY HELPDESK MANUAL
                FOR DESCRIPTION OF THESE HELPDESK SUPPORT DATAFIELDS-->
                      <urn:Case_Type>Incident</urn:Case_Type>
          <urn:Category>Default</urn:Category>
          <urn:Department></urn:Department>
          <urn:Description>
              Ticket created by EM Remedy Connector.
              --------------------------------------
              EM User: <xsl:value-of select="ns0:EMUser"/>
              Event Information:
              Target Type: <xsl:value-of select="ns0:TargetType"/>
              Metric Column: <xsl:value-of select="ns0:MetricColumn"/>
              Metric Name: <xsl:value-of select="ns0:MetricName"/>
              <xsl:choose>
              <xsl:when test="normalize-space(ns0:KeyColumn) != ''">
              Key Column: <xsl:value-of select="ns0:KeyColumn"/>
              Key Values: <xsl:value-of select="ns0:KeyValues"/>
               </xsl:when>
              </xsl:choose>
               Severity: <xsl:value-of select="ns0:Severity"/>
              Collection Time: <xsl:value-of select="ns0:CollectionTime"/>
              Target Host: <xsl:value-of select="ns0:TargetHost"/>
              <xsl:choose>
              <xsl:when test="normalize-space(ns0:NotificationRuleName) != ''">
              Notification Rule: <xsl:value-of select="ns0:NotificationRuleName"/>
               </xsl:when>
 </xsl:choose>
              URL: <xsl:value-of select="ns0:EventPageURL"/>
          </urn:Description>
          <urn:Escalated></urn:Escalated>
          <urn:Hotlist></urn:Hotlist>
          <urn:Item>Default</urn:Item>
          <urn:Office></urn:Office>
          <urn:Orig_Submitter>
            <xsl:value-of select="ns0:HDUser"/>
          </urn:Orig_Submitter>
          <urn:Pending></urn:Pending>
          <urn:Phone_Number></urn:Phone_Number>
          <urn:Priority>High</urn:Priority>
          <urn:Region></urn:Region>
          <urn:Request_Urgency>High</urn:Request_Urgency>
          <urn:Requester_Login_Name>
            <xsl:value-of select="ns0:HDUser"/>
          </urn:Requester_Login_Name>
          <urn:Requester_Name>
            <xsl:value-of select="ns0:HDUser"/>
          </urn:Requester_Name>
          <urn:Site></urn:Site>
          <urn:Source>NMP</urn:Source>
          <urn:Status>New</urn:Status>
          <urn:Summary>
            <xsl:value-of select="ns0:Message"/>
          </urn:Summary>
          <urn:Type>Default</urn:Type>
          <urn:WorkLog>
              Severity: <xsl:value-of select="ns0:Severity"/>
              Collection Time: <xsl:value-of select="ns0:CollectionTime"/>
          </urn:WorkLog>
          <urn:Create_Time></urn:Create_Time>
        </urn:Create_Helpdesk_Case>
      </xsl:when>
      <xsl:otherwise>
        <urn:SetBy_Case_ID xmlns:urn="urn:HelpDesk_Modify_Service_w_Wlog">

          <!--  UNCOMMENT THE TAGS YOU WISH TO HAVE MODIFIED WHENEVER
              THE TICKET IS UPDATED, AND GIVE THEM DESIRED VALUES   -->

         <!-- <urn:Accounting_Code></urn:Accounting_Code>           -->
         <!--  <urn:Assignee_Login_Name></urn:Assignee_Login_Name>  -->
         <!--  <urn:Case_Type></urn:Case_Type>                      -->
         <!--  <urn:Category></urn:Category>                        -->
         <!--  <urn:Department></urn:Department>                    -->
              <urn:Description>
              Ticket updated by EM Remedy Connector.
              --------------------------------------
              EM User: <xsl:value-of select="ns0:EMUser"/>

              Event Information:
              Target Type: <xsl:value-of select="ns0:TargetType"/>
              Metric Column: <xsl:value-of select="ns0:MetricColumn"/>
              Metric Name: <xsl:value-of select="ns0:MetricName"/>
              <xsl:choose>
              <xsl:when test="normalize-space(ns0:KeyColumn) != ''">
              Key Column: <xsl:value-of select="ns0:KeyColumn"/>
              Key Values: <xsl:value-of select="ns0:KeyValues"/>
              </xsl:when>
              </xsl:choose>
              Severity: <xsl:value-of select="ns0:Severity"/>
              Collection Time: <xsl:value-of select="ns0:CollectionTime"/>
              Target Host: <xsl:value-of select="ns0:TargetHost"/>
              <xsl:choose>
              <xsl:when test="normalize-space(ns0:NotificationRuleName) != ''">
              Notification Rule: <xsl:value-of select="ns0:NotificationRuleName"/>
              </xsl:when>
              </xsl:choose>
              URL: <xsl:value-of select="ns0:EventPageURL"/>
          </urn:Description>
          <!-- <urn:Escalated></urn:Escalated>                      -->
          <!-- <urn:Hotlist></urn:Hotlist>                          -->
          <!-- <urn:Item></urn:Item>                                -->
          <!-- <urn:Office></urn:Office>                            -->
          <!-- <urn:Pending></urn:Pending>                          -->
          <!-- <urn:Phone_Number></urn:Phone_Number>                -->
          <!-- <urn:Priority></urn:Priority>                        -->
          <!-- <urn:Region></urn:Region>                            -->
          <!-- <urn:Request_Urgency></urn:Request_Urgency>          -->
          <!-- <urn:Requester_Login></urn:Requester_Login>          -->
          <!-- <urn:Requester_Name></urn:Requester_Name>            -->
          <!-- <urn:Site></urn:Site>                                -->
          <!-- <urn:Solution_Description></urn:Solution_Description>-->
          <!-- <urn:Solution_Summary></urn:Solution_Summary>        -->
          <!-- <urn:Source></urn:Source>                            -->
          <!-- <urn:Status></urn:Status>                            -->
          <xsl:choose>
           <xsl:when test="ns0:Severity = 'Clear'">
              <urn:Status>Closed</urn:Status>
            </xsl:when>
            <xsl:when test="ns0:Severity = 'Agent Unreachable Clear'">
              <urn:Status>Closed</urn:Status>
            </xsl:when>
            <xsl:when test="ns0:GracePeriodCheckMade = 'Yes'">
              <urn:Status>Assigned</urn:Status>
            </xsl:when>
          </xsl:choose>
          <!-- <urn:Submitted_By></urn:Submitted_By>                -->
          <!-- <urn:Summary></urn:Summary>                          -->
          <!-- <urn:Type></urn:Type>                                -->
          <urn:Case_ID>
            <xsl:value-of select="ns0:TicketId"/>
          </urn:Case_ID>
          <urn:WorkLog>
              Severity: <xsl:value-of select="ns0:Severity"/>
              Collection Time: <xsl:value-of select="ns0:CollectionTime"/>
          </urn:WorkLog>
        </urn:SetBy_Case_ID>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
</xsl:transform>

レスポンスXSLファイル

レスポンスXSLファイルは、アクションCreate Ticketに必要です。このファイルは、次のように名前を付けてください。

getTicket_response.xsl


関連項目:

Get Ticket操作の詳細は、「ヘルプ・デスク・コネクタ構成のテスト」を参照してください。

レスポンスXSLファイルは、チケッティング・システムからの出力をEnterprise Managerの要求する形式、具体的にはTicketIDに変換します。

Remedyのレスポンス変換の例を、例2-3に示します。Remedy CaseIDチケット属性をEnterprise ManagerのTicketID属性にマップします。

例2-3 Remedyのレスポンス変換の例

<?xml version='1.0' encoding='UTF-8'?>
<xsl:transform version="1.0"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
              xmlns:urn="urn:HelpDesk_Submit_Service"
              xmlns="http://xmlns.oracle.com/sysman/connector/tt"
              targetNamespace="http://xmlns.oracle.com/sysman/connector/tt"
              elementFormDefault="qualified">
  <xsl:template match="urn:Create_Helpdesk_CaseResponse">
      <CreateTicketResponse>
        <TicketId><xsl:value-of select="urn:Case_ID"/></TicketId>
      </CreateTicketResponse>
  </xsl:template>
</xsl:transform>

ヘルプ・デスク・コネクタのパッケージおよびデプロイ

コネクタの統合を完了するには、すべてのXMLおよびXSLファイル(「XMLおよびXSLファイルの定義」の項で定義)を.jarファイルとしてパッケージした後、デプロイ、登録および構成します。手順は、次のとおりです。

  1. .jarファイルを、Oracle管理サービス(OMS)を実行中のホストにコピーします。OMSが複数ある場合は、すべてのOMSに対して.jarファイルをコピーする必要があります。

  2. すべてのOMSで次のコマンドを実行します。

    emctl extract_jar connector jar_file_name connector_name

    ファイルは.jarファイルから次のディレクトリに抽出されます。

    $ORACLE_HOME/sysman/connector/connector name


    注意:

    connector nameは、スペース(含まれていた場合)がアンダースコア("_")に置き換えられたコネクタ名です。

  3. 次のコマンドを実行して、コネクタをデプロイします。

    emctl register_connector connector connectorType.xml server name port databaseSid username password

    例2-4 ヘルプ・デスク・コネクタのデプロイ

    emctl register_connector connector Remedy_Connector.xml  $emHost $emPort $emSID sysman $sysmanPwd
    

    コネクタは、デプロイ後、「管理コネクタ」ページ(図2-1)に表示されます。コネクタは、構成後に有効となります。


    注意:

    emctlパラメータも参照してください。

  4. コネクタの一部として送信されたすべてのチケット・テンプレートに対し、次のコマンドを実行します。

    emctl register_ticket_template connector ticketTemplate.xml server port database_SID username password connectorTypeName connectorName templateName description

    例2-5 新規または修正済ヘルプ・デスク・コネクタのアップロード

    emctl register_ticket_template connector Remedy_DefaultCategory_LowPriority.xsl
    $emHost $dbPort $dbSID sysman $sysmanPwd "Remedy Connector" "Remedy Connector"
    "Low Priority Template" "This template creates a ticket with low priority and
    default categorization"
    
  5. Enterprise Managerコンソールにログインし、必要な構成を実行します。

表2-4に、emctlパラメータの説明を示します。

表2-4 emctlパラメータ

パラメータ 説明

connectorType.xml

コネクタ・デプロイメント・ディスクリプタ。

ticketTemplate.xsl

チケット・テンプレート・ファイルの完全修飾名。ファイルは、次のConnectorホーム・ディレクトリに常駐します。

$OMS_HOME/sysman/connector/Remedy_Connector

同じ名前で作成された複数の通知メソッドが存在すると、自動チケッティング機能を使用する際に選択が必要となるため、直感的な名前を使用することをお薦めします。

この形式はXSLTであるため、ファイル拡張子にはxslを使用します。例: Remedy_DefaultCategory_LowPriority.xsl

ファイルが別のディレクトリに存在する場合は、そのファイルへの完全パスを指定します。

server

Enterprise Managerリポジトリのホスト名。

port

リポジトリのリスナー・ポート。

database_sid/ Service Name for RAC DB

リポジトリ・データベース・インスタンスID、またはリポジトリとしてRACデータベースを使用している場合はサービス名。

username

SYSMAN.を指定します。

password

SYSMAN.のパスワード。

connectorTypeName

connectorType.xmlで定義しているコネクタ・タイプ名。たとえば、"My Ticketing Connector"などです。二重引用符("")は必須です。

connectorName

コネクタ名。これは、コネクタ・タイプ名と同じ名前にしてください。例: " My Ticketing Connector"

templateName

Enterprise Managerに表示されるチケット・テンプレートの直感的な名前。

description

チケット・テンプレートの短い説明。この説明も、Enterprise Managerに表示されます。


ヘルプ・デスク・コネクタの構成

ヘルプ・デスク・コネクタを構成する手順は、次のとおりです。

  1. スーパー管理者として、Enterprise Managerコンソールにログインします。

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

    「設定の概要」ページが表示されます(図2-1)。

    図2-1 「管理コネクタ」ページ

    図2-1は、周囲のテキストで説明されています。
  3. 左側のペインの「管理コネクタ」をクリックします。

    「管理コネクタの設定」ページが表示されます。このページに、ヘルプ・デスク・コネクタの行が表示されます。

  4. 登録したコネクタの「構成」アイコンをクリックします。

    「管理コネクタの構成」ページの「一般」タブが表示されます(図2-2)。

    図2-2 Remedy Connectorの「管理コネクタの構成」ページ

    図2-2は、周囲のテキストで説明されています。
  5. 次を構成します。

    • 接続設定

      • WSのエンドポイント

      • 関連フィールド

    • Webコンソール設定

    • 猶予期間

  6. 「OK」をクリックします。「管理コネクタの設定」ページが再表示されます。ヘルプ・デスク・コネクタ行の「構成済」列に、チェックマークが表示されます。

  7. 「管理コネクタの構成」ページから「チケット・テンプレート」タブを開き、チケット・テンプレートが正常にロードされていることを確認します。

構成情報の詳細は、『Oracle Enterprise Manager Connectorインストレーションおよび構成ガイド』の、使用するヘルプ・デスク・コネクタ(RemedyまたはSiebelなど)に関する章を参照してください。

ヘルプ・デスク・コネクタ構成のテスト

構成が意図したとおりの正しいものであるかを確認せずに保存するかわりに、表2-2の「チケット番号」フィールドを使用して、システムへの接続をテストできます。テストを目的に応じてカスタマイズするために、Oracleでは、他のヘルプ・デスク・チケッティング・システム(Siebelなど)用に変更可能な、必要なデフォルトのRemedyファイルを提供しています。これらのファイルの基本的な使用方法は、次のとおりです。

  1. 変換ファイル(XSLT)を変更して、汎用getTicketリクエストをコネクタ準拠XMLデータに変換します。

  2. 変換ファイル(XSLT)を変更して、コネクタ準拠getTicketレスポンスを汎用XMLデータに再変換します。

次の項では、このプロセスで使用されるファイルおよびコードについて説明しています。

リクエストのコネクタ準拠XMLデータへの変換

汎用getTicketリクエストは、次の場所にあるXMLスキーマgetTicket_request.xsdで定義されます。

$ORACLE_HOME/sysman/connector/common/schema

このファイルのコンテンツは、次のとおりです。

<?xml version="1.0" encoding="US-ASCII" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="getTicketRequest">
 <xsd:complexType>
  <xsd:sequence>
   <xsd:element name="ticketID" type="xs:string"/>
  </xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

このスキーマでは、ヘルプ・デスク・コネクタ用の汎用getTicketリクエストのサンプルは、次のとおりです。

<getTicketRequest>
             <ticketID> … </ticketID>
</getTicketRequest>

これはManagement Connectorフレームワークにより生成され、XSLT変換ファイルgetTicket_request.xslでコネクタ準拠XMLデータに変換する必要があります。Remedy Connectorの変換ファイルは、次の場所にあります。

$ORACLE_HOME/sysman/connector/<Remedy_Connector>/getTicket_request.xsl

このXSLTファイルのコンテンツは、次のとおりです。

<?xml version='1.0' encoding='UTF-8'?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="getTicketRequest">
        <urn:GetListBy_Case_ID xmlns:urn="urn:HelpDesk_Query_Service">
                <urn:Case_ID>
                        <xsl:value-of select="ticketID/text()"/>
                </urn:Case_ID>
        </urn:GetListBy_Case_ID>
    </xsl:template>
</xsl:transform>

Remedy以外のヘルプ・デスク・コネクタでは、このXSLTファイルを変更し、前述のRemedy Connectorと類似した場所に置く必要があります。このファイルは、次に示すRemedyシステムのケースのように、汎用getTicketリクエストをチケッティング・システムで受入れ可能なデータに変換する必要があります。

<urn:GetListBy_Case_ID xmlns:urn="urn:HelpDesk_Query_Service" >
        <urn:Case_ID>HD0000000016686</urn:Case_ID>
</urn:GetListBy_Case_ID>

レスポンスの汎用XMLデータへの再変換

XMLスキーマgetTicket_response.xsdで定義される、管理コネクタ・フレームワークで受入れ可能な汎用getTicketレスポンスは、次のとおりです。

$ORACLE_HOME/sysman/connector/common/schema

このファイルのコンテンツは、次のとおりです。

<?xml version="1.0" encoding="US-ASCII" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="getTicketResponse">
 <xsd:complexType>
  <xsd:sequence>
   <xsd:element name="ticketID" type="xs:string"/>
  </xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

このスキーマでは、ヘルプ・デスク・コネクタ用の汎用getTicketレスポンスのサンプルは、次のとおりです。

<getTicketResponse>
          <ticketID> … </ticketID>
</getTicketResponse>

getTicket_response.xsl変換ファイルを使用して、コネクタ準拠getTicketレスポンスを汎用XMLデータに再変換します。Remedy Connectorの変換ファイルは、次の場所にあります。

$ORACLE_HOME/sysman/connector/<Remedy_Connector>/getTicket_response.xsl

Remedy Connector用のXSLTファイルのコンテンツは、次のとおりです。

<?xml version='1.0' encoding='UTF-8'?>
<xsl:transform version="1.0"
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
              xmlns:urn="urn:HelpDesk_Query_Service"
              xmlns="http://xmlns.oracle.com/sysman/connector/tt"
              targetNamespace="http://xmlns.oracle.com/sysman/connector/tt"
              elementFormDefault="qualified">
  <xsl:template match="urn:getListValues">
      <getTicketResponse>
        <ticketID><xsl:value-of select="urn:Case_ID/text()"/></ticketID>
      </getTicketResponse>
  </xsl:template>
</xsl:transform>

Remedy以外のヘルプ・デスク・コネクタでは、このgetTicket_response.xslファイルを変更し、前述のRemedy Connectorと類似した場所に置く必要があります。

HTTPSへのSSL接続の有効化

外部チケッティング・システムとEnterprise Manager間の接続を確立するプロトコルとしてHTTPSを選択している場合は、この項で説明している手順に従ってください。

証明書リクエスト・ファイルの作成

外部チケッティング・システムに対する証明書リクエスト・ファイルを作成し、たとえばVeriSignなどの認証局に送信します。


注意:

証明書リクエスト・ファイルは、外部チケッティング・システムに使用されているWebサーバーに依存します。

認証局からの証明書のインポート

証明書の取得後、外部チケッティング・システムに使用されているWebサーバーにインポートします。インポート・メカニズムは、外部チケッティング・システムに使用されているWebサーバーによって異なります。

Wallet Managerへの署名済証明書の追加


注意:

Oracle Wallet Managerは、OMS上の$ORACLE_HOME/binで参照できます。詳細は、『Oracle Application Server管理者ガイド』を参照してください。

  1. スーパー管理者として、次のコマンドとともにorapki utilityを使用して、ウォレットを作成します。

    orapki wallet create -wallet client -auto_login


    注意:

    orapkiは、OMS上の$ORACLE_HOME/binで参照できます。

  2. 次のコマンドを使用して、信頼できる証明書をウォレットに追加します。

    orapki wallet add -wallet client -trusted_cert -cert verisignCert.cer

  3. ウォレットのコンテンツを表示するには、次のコマンドを実行します。

    orapki wallet display -wallet client

    ewallet.p12という名前のファイルが有効であることを確認します。

  4. Oracle Wallet Managerで、クライアント証明書ewallet.p12を開きます。

  5. 信頼できる証明書の選択へ進み、メイン・メニューで「操作」を選択します。

  6. 「すべての信頼できる証明書のエクスポート」を選択します。

  7. ファイルをcertdb.txtという名前で保存します。

  8. certdb.txtを、コネクタのホーム・ルート・ディレクトリ($OMS_HOME/sysman/connector)に配置します。

    コネクタのホーム・ルート・ディレクトリにすでにcertdb.txtが存在する場合は、このファイルを開き、作成したcertdb.txtファイルのコンテンツを既存のコンテンツに追加します。

これで、Java SSLでこのファイルを使用し、情報を取得できるようになります。


関連項目:

Oracleウォレットの作成の詳細は、『Oracle Database Advanced Security管理者ガイド』の、orapkiを使用したOracleウォレットの作成および表示に関する項を参照してください。

参考文献