この章では、ヘルプ・デスク・コネクタを作成し、Enterprise Managerと統合するために必要な情報を提供します。この章の内容は次のとおりです。
ヘルプ・デスク・コネクタ構成のテスト
Oracle Enterprise Manager 10gには、Management Connectorフレームワーク(Connectorフレームワークとも呼ばれる)が導入され、開発者はメタデータ(XMLおよびXSL)に基いてヘルプ・デスク・コネクタを作成できます。
このフレームワークで作成されるヘルプ・デスク・コネクタには、次の機能が継承されます。
自動チケッティング: Enterprise Manager内でアラートがトリガーされた場合は常に自動的にチケットをオープンまたは更新するよう、コネクタに記述できます。チケットのオープンを必要とする一連のアラートと、それを条件付けるアラートの重大度を指定できます。これは、アラートに対する通知の送信基準を定義するユーザー定義ルールである「通知ルール」で指定できます。
手動チケッティング: Enterprise Manager内のオープン・アラートに基づき、Enterprise Managerコンソールから手動でチケットをオープンできます。コネクタにより、アラートおよびチケット・テンプレートに基づいて、チケットに詳細が移入されます。
ユーザー独自のヘルプ・デスク・システムでこれらのチケッティング機能を使用するには、一連のメタデータ・ファイルを提供する必要があります。表2-1にヘルプ・デスク・コネクタの作成に必要なメタデータ・ファイルのカテゴリをリストします。
表2-1 メタデータ・ファイルのカテゴリ
カテゴリ | タイプ | 説明 |
---|---|---|
コネクタ記述子 |
XML |
チケッティング・システムの統合をカスタマイズできます。このファイル内での構成UIページの作成方法をXMLで記述します。 |
チケット・テンプレート |
XSLT |
イベントのコンテキスト内でのチケットの記入方法を記述します。チケット・テンプレートでは、XSLT言語で、チケットの作成および更新時のEnterprise Managerのアラート・データ・フィールドから対応するチケット・データ・フィールドへのマッピングを説明してします。 |
レスポンス変換 |
XSLT |
チケッティング・システムWebサービスのレスポンス・データを、チケットConnectorフレームワークに対応した形式に正規化します。 |
この項では、ヘルプ・デスク・コネクタを作成するために定義が必要な、様々なXMLファイルおよびXSLファイルの詳細を説明します。
次の場所にあるメタデータ・ファイルの例を参照することをお薦めします。
$OMS_HOME/sysman/connector
/Remedy_Connector
注意: この場所にあるファイルは変更しないでください。 |
コネクタ記述子XMLファイルを定義し、コネクタ・メタデータおよびコネクタの構成プロパティ(Webサービスのエンドポイント、認証スキーマおよびチケットのURLパターンなど)を記述します。このXMLファイルで、コネクタに対して構成ページを動的に作成する方法を定義します。
例2-1は、connectorType.XSDファイルに準拠しています。ハイライトされた要素を適切な値に置換すると、テンプレートとして使用できます。
注意: サンプル・ファイルは、次のディレクトリにあります。
Remedy Connectorの記述子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 theHelpDesk 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> |
(オプション)このセクションでは、チケッティング・システムWebサービスの認証スキーマを記述できます。 「管理コネクタの構成」ページ(図2-2)は、このセクションに基づいて生成されます。 ユーザー名、パスワードおよび追加のテキスト・フィールドは、このセクションに基づいて移入されます。
|
<TicketingService> <Method>createTicket</Method> <WebServiceEndpoint> <![CDATA[ |
このセクションで、チケッティング・システムWebサービス固有の構成を指定できます。 フレームワークが適切にチケッティング・システムと通信できるよう、チケッティング・システムの
|
<ExternalURL> <Pattern> <![CDATA[ |
このセクションでは、チケットConnectorフレームワークを構成して独自のチケッティング・システムに対するチケットURLを作成できます。
|
<?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>
チケット・テンプレートには、Enterprise Managerのアラートをチケッティング・システムで要求されるメッセージ(SOAP本文XML)に変換する方法が記述されます。生成されるチケットとヘルプ・デスクとの互換性を確実にするために、チケット・テンプレートを使用して、Enterprise Managerのアラートに基づきチケットをオープンまたは更新する際に、チケット・フィールドにどのように事前入力するかを指定できます。
新規チケット・テンプレートを追加するか、既存のチケット・テンプレートを変更できます。ヘルプ・デスク・コネクタには、1つ以上のチケット・テンプレートを提供する必要があります。テンプレートには、次のリクエストの変換方法に関するロジックが含まれている必要があります。
チケットの作成
チケットの取得
チケットの更新
チケットの再オープン
チケットのクローズ
必要に応じた数のテンプレートを送信できます。たとえば、本番データベース、開発データベースおよびテスト・データベースなどのカテゴリ、または優先度、あるいはその両方の組合せに基づいてテンプレートを選択し送信できます。自動クローズするものとしないものの最低2セットのテンプレートを送信することをお薦めします。
必要に応じて、これらのテンプレートを変更したり、他のテンプレートを追加できます。チケット・テンプレートは、ユーザー・インタフェースから削除したり、emctl
を使用してアップロードできます。
チケットにマップできるフィールドを、表2-3に示します。
表2-3 Enterprise Managerデータ・フィールド
データ・フィールド | 説明 |
---|---|
EMUser |
|
HDUser |
コネクタと一緒に登録されているヘルプ・デスク・ユーザー。これは、WS認証に指定されているユーザー名と同一です。 |
TicketID |
現在のアラートに関連付けられたチケットを識別します(チケット作成後に有効)。 |
ConnectorID |
イベントを処理し、チケットの作成またはチケットの更新を実行したヘルプ・デスク・コネクタを識別します。 |
TargetType |
アラートが関連付けられているターゲットのタイプ。例: |
TargetName |
アラートが関連付けられているターゲットの名前。例: |
MetricColumn |
アラートをトリガーしたメトリックの名前。例: CPU使用率(%)。 |
MetricName |
メトリックのカテゴリ。例: メモリー使用率アラートに対する |
KeyColumn |
一連のオブジェクトをモニターするメトリックでは、KeyColumnはモニターされるオブジェクトのタイプを示します。たとえば、表領域オブジェクトをモニターする「表領域使用率(%)」メトリックの場合、KeyColumnは「表領域名」となります。 |
KeyValues |
キー値に基づくアラートに関連付けられたキー値。 一連のオブジェクトをモニターするメトリックでは、KeyValuesは重大度をトリガーした特定のオブジェクトを示します。たとえば、表領域オブジェクトをモニターする「表領域使用率(%)」メトリックでは、USERS表領域が警告またはクリティカルの重大度でトリガーすれば、KeyValuesは「USERS」になります。 |
Message |
アラートの説明。例: 「CPU使用率は100%で、警告(80)またはクリティカル((95)のしきい値を超えています。」。 |
Severity |
アラートの重大度。 |
CollectionTime |
アラート発生のタイムスタンプ。 |
EventPageURL |
アラートのアラート詳細ページへのEnterprise ManagerコンソールURL。 |
NotificationRuleName |
自動チケッティング中に通知を作成する通知ルールの名前。 |
TargetTimezone |
アラートに関連付けられたターゲットのタイムゾーン。 |
GracePeriodCheckMade |
値が |
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チケットを作成して、説明にアラート情報を埋め込みます。
注意: サンプル・ファイルは、次のディレクトリにあります。
|
更新時、作業ログのフィールドは、最新の変更内容の履歴によって更新されます。アラートが消去されると、テンプレートによりチケットはクローズされます。
例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ファイルは、アクションCreate Ticket
に必要です。このファイルは、次のように名前を付けてください。
getTicket_response.xsl
関連項目: Get Ticket操作の詳細は、「ヘルプ・デスク・コネクタ構成のテスト」を参照してください。 |
レスポンスXSLファイルは、チケッティング・システムからの出力をEnterprise Managerの要求する形式、具体的にはTicketIDに変換します。
Remedyのレスポンス変換の例を、例2-3に示します。Remedy CaseIDチケット属性をEnterprise ManagerのTicketID属性にマップします。
<?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
ファイルとしてパッケージした後、デプロイ、登録および構成します。手順は、次のとおりです。
.jar
ファイルを、Oracle管理サービス(OMS)を実行中のホストにコピーします。OMSが複数ある場合は、すべてのOMSに対して.jar
ファイルをコピーする必要があります。
すべてのOMSで次のコマンドを実行します。
emctl extract_jar connector
jar_file_name
connector_name
ファイルは.jar
ファイルから次のディレクトリに抽出されます。
$ORACLE_HOME/sysman/connector/
connector name
注意: connector name は、スペース(含まれていた場合)がアンダースコア("_")に置き換えられたコネクタ名です。 |
次のコマンドを実行して、コネクタをデプロイします。
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 register_ticket_template connector
ticketTemplate.xml server port database_SID username password connectorTypeName connectorName templateName description
Enterprise Managerコンソールにログインし、必要な構成を実行します。
表2-4に、emctl
パラメータの説明を示します。
パラメータ | 説明 |
---|---|
|
コネクタ・デプロイメント・ディスクリプタ。 |
|
チケット・テンプレート・ファイルの完全修飾名。ファイルは、次のConnectorホーム・ディレクトリに常駐します。
同じ名前で作成された複数の通知メソッドが存在すると、自動チケッティング機能を使用する際に選択が必要となるため、直感的な名前を使用することをお薦めします。 この形式はXSLTであるため、ファイル拡張子には ファイルが別のディレクトリに存在する場合は、そのファイルへの完全パスを指定します。 |
|
Enterprise Managerリポジトリのホスト名。 |
|
リポジトリのリスナー・ポート。 |
|
リポジトリ・データベース・インスタンスID、またはリポジトリとしてRACデータベースを使用している場合はサービス名。 |
|
|
|
|
|
|
|
コネクタ名。これは、コネクタ・タイプ名と同じ名前にしてください。例: |
|
Enterprise Managerに表示されるチケット・テンプレートの直感的な名前。 |
|
チケット・テンプレートの短い説明。この説明も、Enterprise Managerに表示されます。 |
スーパー管理者として、Enterprise Managerコンソールにログインします。
「設定」をクリックします。
「設定の概要」ページが表示されます(図2-1)。
左側のペインの「管理コネクタ」をクリックします。
「管理コネクタの設定」ページが表示されます。このページに、ヘルプ・デスク・コネクタの行が表示されます。
登録したコネクタの「構成」アイコンをクリックします。
「管理コネクタの構成」ページの「一般」タブが表示されます(図2-2)。
次を構成します。
接続設定
WSのエンドポイント
関連フィールド
Webコンソール設定
猶予期間
「OK」をクリックします。「管理コネクタの設定」ページが再表示されます。ヘルプ・デスク・コネクタ行の「構成済」列に、チェックマークが表示されます。
「管理コネクタの構成」ページから「チケット・テンプレート」タブを開き、チケット・テンプレートが正常にロードされていることを確認します。
構成情報の詳細は、『Oracle Enterprise Manager Connectorインストレーションおよび構成ガイド』の、使用するヘルプ・デスク・コネクタ(RemedyまたはSiebelなど)に関する章を参照してください。
構成が意図したとおりの正しいものであるかを確認せずに保存するかわりに、表2-2の「チケット番号」フィールドを使用して、システムへの接続をテストできます。テストを目的に応じてカスタマイズするために、Oracleでは、他のヘルプ・デスク・チケッティング・システム(Siebelなど)用に変更可能な、必要なデフォルトのRemedyファイルを提供しています。これらのファイルの基本的な使用方法は、次のとおりです。
変換ファイル(XSLT)を変更して、汎用getTicket
リクエストをコネクタ準拠XMLデータに変換します。
変換ファイル(XSLT)を変更して、コネクタ準拠getTicket
レスポンスを汎用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スキーマ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と類似した場所に置く必要があります。
外部チケッティング・システムとEnterprise Manager間の接続を確立するプロトコルとしてHTTPSを選択している場合は、この項で説明している手順に従ってください。
外部チケッティング・システムに対する証明書リクエスト・ファイルを作成し、たとえばVeriSignなどの認証局に送信します。
注意: 証明書リクエスト・ファイルは、外部チケッティング・システムに使用されているWebサーバーに依存します。 |
証明書の取得後、外部チケッティング・システムに使用されているWebサーバーにインポートします。インポート・メカニズムは、外部チケッティング・システムに使用されているWebサーバーによって異なります。
注意: Oracle Wallet Managerは、OMS上の$ORACLE_HOME/bin で参照できます。詳細は、『Oracle Application Server管理者ガイド』を参照してください。 |
スーパー管理者として、次のコマンドとともにorapki utility
を使用して、ウォレットを作成します。
orapki wallet create -wallet client -auto_login
注意: orapki は、OMS上の$ORACLE_HOME/bin で参照できます。 |
次のコマンドを使用して、信頼できる証明書をウォレットに追加します。
orapki wallet add -wallet client -trusted_cert -cert
verisignCert.cer
ウォレットのコンテンツを表示するには、次のコマンドを実行します。
orapki wallet display -wallet client
ewallet.p12
という名前のファイルが有効であることを確認します。
Oracle Wallet Managerで、クライアント証明書ewallet.p12
を開きます。
信頼できる証明書の選択へ進み、メイン・メニューで「操作」を選択します。
「すべての信頼できる証明書のエクスポート」を選択します。
ファイルをcertdb.txt
という名前で保存します。
certdb.txt
を、コネクタのホーム・ルート・ディレクトリ($OMS_HOME/sysman/connector
)に配置します。
コネクタのホーム・ルート・ディレクトリにすでにcertdb.txt
が存在する場合は、このファイルを開き、作成したcertdb.txt
ファイルのコンテンツを既存のコンテンツに追加します。
これで、Java SSLでこのファイルを使用し、情報を取得できるようになります。
関連項目: Oracleウォレットの作成の詳細は、『Oracle Database Advanced Security管理者ガイド』の、orapkiを使用したOracleウォレットの作成および表示に関する項を参照してください。 |
『Oracle Enterprise Managerアドバンスト構成』の「Remedyコネクタの構成」の章。