ヘッダーをスキップ

Oracle Enterprise Manager拡張ガイド 10gリリース5（10.2.0.5） B54134-01 |
| 目次 | 索引

戻る | 次へ |

# 12 Enterprise Manager DTD

DTDはXMLファイルの文法を提供します。そのため、DTDにはそれぞれの関連XMLファイルに必要な内容が示されます。新規XMLファイルを作成する際には、DTDを慎重に調べて、そのファイル内に存在する必要のある内容を理解する必要があります。

この章では、Oracle Server Technology製品との統合を容易にするDTD要素の参照を提供します。

## 用語

この章では、Oracle Server Technology製品との統合を容易にするDTD要素の参照を提供します。ここで示す例のほとんどは、XMLファイルの一部です。

ターゲット: 管理対象エンティティです。管理対象エンティティは、ハードウェア・デバイスまたはソフトウェア・リソースです。ターゲットの例: ホスト・システム、Oracleデータベース、SMTPまたはサービス。

関連付けられているターゲット: それぞれのデータが相互に依存し合う複数のターゲット。

メトリック: 収集できるデータ。

中間層: OMS - Oracle Management Server

コンテナ: Oracleインストールを格納するホーム。使用できるコンテナは現在2種類あります。Oracleホーム（データベース、Enterprise Manager、アプリケーション・サーバーのインストール）およびApplTop（アプリケーションのインストール）です。

    Cluster Targets: Cluster targets span across many hosts. All cluster targets
    represent the same target. The agents monitoring each of the cluster targets will
    produce the same metric result, severities etc.

    Cluster Interfaces: Standard interfaces that the agent uses to talk to the cluster
    target.

## ターゲット・メタデータDTD要素

この項では、Enterprise Managerで使用されるDTD要素の定義を示します。

### TargetMetadata

TargetMetadataは、ターゲット・タイプのメタデータを説明します。ターゲットのメタデータは、測定可能な特性、収集されるデータの形式およびデータの収集または計算に使用するメカニズムを説明します。

    <!ATTLIST TargetMetadata
    META_VER CDATA #REQUIRED
    TYPE CDATA #REQUIRED
    REQUIRED_AGENT_VERSION CDATA #IMPLIED
    HELPID CDATA #IMPLIED
    HELP CDATA #IMPLIED
    CATEGORY_PROPERTIES CDATA #IMPLIED
    RESOURCE_BUNDLE_PACKAGE CDATA #IMPLIED

注意: ファイルに記載される様々な属性の許容最大長を、tagsize.propertiesで指定する必要があります。この値は、メタデータ情報をリポジトリにロードする際に、メタデータ・ファイル内の属性の長さを切り捨てるのに使用されます。

#### 属性

META_VER: メタデータのバージョンを示します。

TYPE: ターゲット・タイプを指定します。

HELPID: 使用しません。

CATEGORY_PROPERTIES: ValidIfのプロパティとして使用されるプロパティのリスト（セミコロン区切り）。現在、各ターゲット・タイプでは、カテゴリ・プロパティとして最大5つのプロパティを使用できます。EMAgentは、カテゴリ・プロパティの値を評価して、メタデータ内で使用できるようにします。

RESOURCE_BUNDLE_PACKAGE:

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

REQUIRED_AGENT_VERSION: この属性は、メタデータの最低のエージェント・バージョンを示します。この属性を伴うTargetMetadataは、指定されたバージョン以上のエージェントで有効になります。

HELP: 使用しません。

#### 要素

Display

TypeProperties（最初の導入はEnterprise Managerバージョン10.2）

AssocTarget

DiscoveryHelper（最初の導入はEnterprise Managerバージョン10.2）

MonitoringMode

AltSkipCondition

MetricClass（最初の導入はEnterprise Managerバージョン10.2）

Metric

CredentialInfo

InstanceProperties

#### 使用場所

`TargetMetadata`はトップレベルの要素です。

#### 例

    <TargetMetadata TYPE="example1" META_VER="2.0" REQ
    <TargetMetadata TYPE="example1" META_VER="2.0" REQ
    UIRED_AGENT_VERSION="10.2.0.1.0">
    . . .
    </TargetMetadata>

この例では、メタデータのREQUIRED_AGENT_VERSION属性が10.2.0.1.0に設定されています。このメタデータは、エージェントのバージョンが10.2.0.1.0以上の場合のみ有効になります。

    <Metric NAME="prop" TYPE="TABLE">
    <TableDescriptor>
    <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE" /> <ColumnDescriptor
    NAME="value" TYPE="STRING" />
    </TableDescriptor>
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>
    </TargetMetadata>
    <QueryDescriptor FETCHLET_ID="OS">

これは、ターゲット・タイプexample1を示す単純な例です。example1には、次の形式で収集する必要があるデータ()があります。引用符の付いた値は、定義されたスコーピング・ルールに従って、OS fetchletによって評価されます。

表12-1 メトリックprop

Name | Value
Host Name | NAME

    <TargetMetadata TYPE="example2" META_VER="2.0">
          <Metric NAME="perf" TYPE=”TABLE”>
    <TableDescriptor>
    <ColumnDescriptor NAME="char" TYPE="STRING" IS_KEY="TRUE" />
    <ColumnDescriptor NAME="value" TYPE="STRING" />
          </TableDescriptor>
          <QueryDescriptor FETCHLET_ID="OSLineToken" >
               <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/example1/perf.pl %port% </Property>
               <Property NAME="delimiter" SCOPE="GLOBAL">=</Property>
               <Property NAME="port" SCOPE="INSTANCE">accessPort</Property>
          </QueryDescriptor>
       </Metric>
       <InstanceProperties>
          <InstanceProperty NAME="accessPort" />
       </InstanceProperties>
    </TargetMetadata>

このサンプルは、`InstanceProperties`の使用例です。`InstanceProperties`要素は、accessPortをターゲット・インスタンスに関連付けます。メトリックperfは、次のように収集されます。引用符の付いた値は、プロパティ内で定義されたスコーピング・ルールに従って、OSLineToken fetchletによって評価されます。

表12-2 メトリック: perf

Char | Value
--- | ---
Command | '%perlBin%/perl %scriptsDir%/example1/perf.pl %port%'
Delimiter | =
Port | 'accessPort'

    <TargetMetadata TYPE="example3" META_VER="2.0" CATEGORY_PROPERTIES="OS">
      <Metric NAME=”prop” TYPE=”TABLE”>
       . . .
       </Metric>

    <InstanceProperties>
    <DynamicProperties NAME="VersionAndLocation" FORMAT="ROW" PROP_LIST="OS;OracleHome;Version">
       <QueryDescriptor FETCHLET_ID="OSLineToken">
    <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
    <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
    <Property NAME="ENVEmdOS" SCOPE="SYSTEMGLOBAL">_emdOS</Property>
    <Property NAME="ENVVersion" SCOPE="SYSTEMGLOBAL">_emdVersion</Property>
    <Property NAME="ENVORACLE_HOME" SCOPE="SYSTEMGLOBAL">emdRoot</Property>
    <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl</Property>
    <Property NAME="script" SCOPE="GLOBAL">%scriptsDir%/emdlocandver.pl </Property>
    <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
    <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
       </QueryDescriptor>
    </DynamicProperties>
       </InstanceProperties>
    </TargetMetadata>

このサンプルでは、DynamicProperties要素を使用してOS、OracleHomeおよびVersionのプロパティを戻します。このスクリプトは、PROP_LIST属性に記載されているプロパティを戻すために解析された結果を戻します。

### Display

このタグを持つ要素を表示するためにGrid Controlコンソールで使用される情報を指定します。

    <!ELEMENT Display (ValidIf*, Label, ShortName?, Icon?, Description?, Unit?)>
    <!ATTLIST Display
    FOR_SUMMARY_UI (TRUE | FALSE) "FALSE">

#### 属性:

FOR_SUMMARY_UI: 列が圧縮されたUIに表示されるかどうかを示します。1つのUIページにすべての列が収まらない場合は、圧縮表示が必要です。圧縮表示では、FOR_SUMMARY_UI=TRUEに設定されている列のみが表示されます。

TRUE | FALSE（デフォルト）

#### 要素:

ValidIf

Label

ShortName

Icon

Description

Unit

#### 使用場所:

ターゲット・メタデータDTD要素

Metric

ColumnDescriptor

CredentialType

CredentialTypeColumn

CredentialSet

CredentialSetColumn

InstanceProperty

#### 例:

Display要素にはLabel要素を含める必要があります。ShortName、Icon、DescriptionおよびUnitの各要素はオプションです。ValidIf要素が含まれている場合、要素が表示されるには、ValidIf要素のすべての条件を満たす必要があります。

    <Display FOR_SUMMARY_UI="TRUE">
    <Label NLSID="emd_resp_stat">Status</Label>
    </Display>

この例は、Display要素を含む要素の表示特性を示しています。FOR_SUMMARY_UIがTRUEに設定されている場合は、圧縮表示でもそのUIが表示されます。

    <Display FOR_SUMMARY_UI="TRUE">
    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    </ValidIf>
    <Label NLSID="id_name_for_agent">Agent Name</Label>
    <ShortName NLSID="id_short_name">Name</ShortName>
    <Icon GIF="a.gif">Name</Icon>
    <Description NLSID="id_for_description">Displays the Agent Name</Description>
    </Display>

このサンプルは、OSがSunOSの場合のみに有効な要素の表示特性を示しています。

### TypeProperties

TypePropertiesはターゲット・タイプのTypeProperty要素を保持します。この要素は、Enterprise Managerバージョン10.2で導入されました。

    <!ELEMENT TypeProperties (TypeProperty*)>

#### 属性:

なし

#### 要素:

TypeProperty

#### 使用場所:

TargetMetadata

#### 例:

    <TypeProperties>
    <TypeProperty PROPERTY_NAME="a_name" PROPERTY_VALUE="a_value"/>
    </TypeProperties>

プロパティの名前/値ペア（a_name、a_value）がターゲット・タイプに適用されます。

### TypeProperty

TypeProperty要素には、ターゲット・タイプのプロパティの名前/値ペアが含まれます。この要素は、Enterprise Managerバージョン10.2で導入されました。

    <!ELEMENT TypeProperty EMPTY>
    <!ATTLIST TypeProperty
    PROPERTY_NAME CDATA #REQUIRED
    PROPERTY_VALUE CDATA #IMPLIED
    >

#### 属性:

PROPERTY_NAME: ターゲット・タイプのプロパティの名前です。

PROPERTY_VALUE: ターゲット・タイプのプロパティの値です。

#### 要素:

なし

#### 使用場所:

TypeProperties

#### 例:

TypePropertiesの例を参照してください。

### AssocTarget

AssocTargetは、2つのターゲットの関係を示します。ターゲットが関連付けられる理由は多数あります。その一部として、トポロジ・マップのレンダリング、根本原因分析、ターゲットの可用性の判別、データの収集と変換における冗長性の最小化、およびデータ収集やジョブ実行の順序の決定などがあげられます。たとえば、1つのターゲットで障害が発生すると、関連付けられているターゲットも影響を受ける可能性があります。この情報は、根本原因分析に役立ちます。

    <!ELEMENT AssocTarget (AssocPropDef*)>
    <!ATTLIST AssocTarget
    ASSOC_TARGET CDATA #IMPLIED
    TYPE CDATA #IMPLIED
    ASSOCIATION_NAME CDATA #IMPLIED
    NAME_NLSID CDATA #IMPLIED
    DESCRIPTION CDATA #IMPLIED
    DESCRIPTION_NLSID CDATA #IMPLIED
    SOURCE_TARGET_TYPE CDATA #IMPLIED
    ASSOC_TARGET_TYPE CDATA #IMPLIED
    CARDINALITY (OPTIONAL_SINGLE_CARDINAL |
    REQUIRED_SINGLE_CARDINAL |
    OPTIONAL_MULTI_CARDINAL |
    REQUIRED_MULTI_CARDINAL) #IMPLIED
    ASSOC_TYPE (RELATES_TO|DEPENDS_ON | CONNECTS_TO |
    SERVICE_ACCESS_POINT|RUNS_ON|
    CONTAINS|HOSTED_BY|MONITORED_BY|
    OPTIONALLY_CONNECTS_TO) #IMPLIED>

#### 属性:

ASSOC_TARGET: 関連付けられているターゲットの名前。

TYPE: 関連付けられているターゲットのターゲット・タイプ。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

ASSOCIATION_NAME: 以前はASSOC_TARGETが使用されていました。関連付けの名前を指定します。

ASSOC_TARGET_TYPE: 以前はTYPEが使用されていました。このターゲットに関連付けられているターゲット・タイプを指定します。関連ターゲットが任意のターゲット・タイプになることを示すには、ANYを使用できます。

NAME_NLSID: 関連付けの名前のNLSID。

DESCRIPTION: 説明

DESCRIPTION_NLSID: 説明文字列のNLSID。

SOURCE_TARGET_TYPE: 関連付けの開始場所がそのターゲット自体でなく、別のターゲットの場合、ソース・ターゲットのターゲット・タイプはこの属性内で指定されます。ANYを使用すると、ソースが任意のターゲット・タイプになることを示すことができます。

CARDINALITY: 関連付けられるターゲットのカーディナリティを指定します。

サポートされている値は次のとおりです。

a) OPTIONAL_SINGLE_CARDINAL: ゼロまたは1つのターゲットが関連付けられます。

b) REQUIRED_SINGLE_CARDINAL: 1つのターゲットのみが関連付けられます。

c) OPTIONAL_MULTI_CARDINAL: ゼロまたは複数のターゲットが関連付けられます。

d) REQUIRED_MULTI_CARDINAL: 1つ以上のターゲットが関連付けられます。

ASSOC_TYPE: 関連付けられているターゲットの関係を説明します。

サポートされている値は次のとおりです。

a) RELATES_TO（デフォルト）: なんらかの汎用的な関係を意味します。

b) DEPENDS_ON: 関連付けられているターゲットへの依存。

c) CONNECTS_TO: ソース・ターゲットが、関連付けられているターゲットに接続します。

d) SERVICE_ACCESS_POINT

e) RUNS_ON: ソース・ターゲットが、関連付けられているターゲット上で稼働します（つまり、関連付けられているターゲットにインストールされています）。

f) CONTAINS: ソース・ターゲットに、関連付けられているターゲットが含まれます。

g) HOSTED_BY: RUNS_ONと同様です。

h) MONITORED_BY: ソース・ターゲットが、関連付けられているターゲット（エージェント）によって監視されます。

i) OPTIONALLY_CONNECTS_TO

#### 要素:

AssocPropDef（Enterprise Managerバージョン10.2ではサポートされません。）

#### 使用場所:

TargetMetadata

#### 例:

10.2より前のバージョンでは、AssocTarget要素に次の属性が必要です。

a) ASSOC_TARGET

b) TYPE

バージョン10.2以上では、AssocTarget要素に少なくとも次の属性を使用する必要があります。

a) ASSOCIATION_NAME（ASSOC_TARGETの代替）

b) ASSOC_TARGET_TYPE（TYPEの代替）

    <TargetMetadata TYPE="oracle_email" META_VER="2.0">
    <AssocTarget ASSOCIATION_NAME="IM"
    SOURCE_TARGET_TYPE="oracle_email"
    ASSOC_TARGET_TYPE="oracle_im"
    ASSOCIATION_TYPE="DEPENDS_ON"
    NAME_NLSID="im_assoc_name"
    DESCRIPTION="This association captures Email-IM dependency"
    DESCRIPTION_NLSID="im_assoc_description" />
    . . .
    </TargetMetadata>

この要素はoracle_email内で定義され、次の関係を表します。

Oracle_email -----DependsOn----à oracle_im

### AssocPropDef

AssocPropDefは、関連付けのプロパティを示します。この要素は、Enterprise Managerバージョン10.2ではサポートされていません。

    <!ELEMENT AssocPropDef EMPTY>
    <!ATTLIST AssocPropDef
    NAME CDATA #REQUIRED
    REQUIRED (TRUE | FALSE) #REQUIRED>

#### 属性:

NAME: プロパティの名前。

REQUIRED: プロパティが必須かどうかを示します。

TRUE | FALSE

#### 要素:

なし

#### 使用場所:

AssocTarget

#### 例:

この要素はサポートされていません。

### DiscoveryHelper

DiscoveryHelperは、エージェントによるターゲット・タイプの検出処理に役立ちます。この要素は、Enterprise Managerバージョン10.2で導入されました。

    <!ELEMENT DiscoveryHelper (DiscoveryHint*) >
    <!ATTLIST DiscoveryHelper
    CATEGORYNAME CDATA #REQUIRED
    OUI_BASED (TRUE | FALSE) "TRUE"
    >

#### 属性:

CATEGORYNAME: 指定されたタイプのターゲットを検出するdiscover.lst内のカテゴリの名前。

OUI_BASED: この検出でOUIインベントリ情報が使用されたかどうかを示すブール値。

TRUE（デフォルト）| FALSE

#### 要素:

DiscoveryHint

#### 使用場所:

TargetMetadata

#### 例:

なし

### DiscoveryHint

DiscoveryHintを使用すると、検出を誘導する任意のヒントを指定できます。この要素は、Enterprise Managerバージョン10.2で導入されました。

    <!ELEMENT DiscoveryHint (Display?) >
    <!ATTLIST DiscoveryHint
    NAME CDATA #REQUIRED
    >

#### 属性:

NAME: 検出処理を誘導するヒントの名前

#### 要素:

Display

#### 使用場所:

DiscoveryHelper

#### 例:

なし

### MetricClass

MetricClassは、メトリックをカテゴリに分類するための手段を提供します。メトリックは、複数の特性に基づいてカテゴリに分類できます。特性には、Function（Perf、Load、Config）、EvaluationCost（Cheap、Medium、Expensive）およびApplicability（Typical、Esoteric）などがあります。この要素は、Enterprise Managerバージョン10.2で初めて導入されました。

    <!ELEMENT MetricClass (MetricCategory*)>
    <!ATTLIST MetricClass
    NAME CDATA #REQUIRED
    NLSID CDATA #IMPLIED>

#### 属性:

NAME: クラスの名前（たとえばFunctional）

NLSID: 変換ID。ネーミング規則はmetric_class_<classname>です。

#### 要素:

MetricCategory

#### 使用場所:

TargetMetadata

#### 例:

    <TargetMetadata TYPE="example3" META_VER="2.0">
    <MetricClass NAME="EvaluationCost" NLSID="id_for_eval_cost_class">
    <MetricCategory NAME="CHEAP" NLSID="id_for_cheap_cat"/>
    <MetricCategory NAME="MEDIUM" NLSID="id_for_medium_cat"/>
    <MetricCategory NAME="EXPENSIVE" NLSID="id_for_expensive_cat"/>
    </MetricClass>
    <Metric NAME="metric1" TYPE="TABLE">
    <CategoryValue Class="EvaluationCost" CATEGORY_NAME="CHEAP"/>
    . . .
    </Metric>
    . . .
    </TargetMetadata>

この例は、ターゲット・タイプexample3に対してEvaluationCostというMetricClassを追加する様子を示しています。EvaluationCostにはCHEAP、MEDIUMおよびEXPENSIVEの3つのカテゴリがあります。メトリックmetric1は、評価コストの低いメトリックです。

詳細は、CategoryValue、Metricの説明を参照してください。

### MetricCategory

MetricCategory要素は、メトリックの分類内の各選択肢をリストします。この要素は、Enterprise Managerバージョン10.2で初めて導入されました。

    <!ELEMENT MetricCategory EMPTY>
    <!ATTLIST MetricCategory
    NAME CDATA #REQUIRED
    NLSID CDATA #IMPLIED>

#### 属性:

NAME: カテゴリの名前（たとえばSecurity）

NLSID: カテゴリのNLSID。ネーミング規則はmetric_cat_<category_name>です。

#### 要素:

なし

#### 使用場所:

MetricClass

#### 例:

MetricClassの例を参照してください。

### Metric

Metric要素は、測定可能な、様々なターゲットの特性（パフォーマンス、ロード、構成など）を宣言するために使用します。Metric要素は、収集されるデータの構造および情報の計算方法を示します。

注意: Oracle EMでは、Responseという名前の特別なメトリックを各ターゲット・タイプに使用することが推奨されています。このメトリックにはStatusという列が必要です。また、タイプの作成者は、このメトリックの集まりを設定し、Status列に条件を設定する必要があります（TargetCollection.dtdを参照）。可用性システム（一定期間におけるターゲットの稼働/停止ステータス）では、このメトリック列でアラートを使用して、一定期間における稼働/停止の統計を提供します。

QueryDescriptor、ExecutionDescriptor、PushDescriptorは、REPOSITORY_TABLE、REPOSITORY_STRING、REPOSITORY_NUMBERおよびREPOSITORY_EVENTメトリック・タイプについてのみオプションです。その他のすべてのメトリック・タイプでは必須です。

    <!ELEMENT Metric ((ValidIf | ValidMidTierVersions)*, Display?, CategoryValue*
    ,TableDescriptor?, ((QueryDescriptor | ExecutionDescriptor) | PushDescriptor)* )>
    <!ATTLIST Metric
    NAME CDATA #REQUIRED
    TYPE (NUMBER | STRING | TABLE | RAW | EXTERNAL | REPOSITORY_TABLE | REPOSITORY_
    NUMBER | REPOSITORY_STRING | REPOSITORY_EVENT) "NUMBER"
    REPOS_PLSQL CDATA #IMPLIED
    USAGE_TYPE (VIEW_COLLECT | REALTIME_ONLY | HIDDEN | HIDDEN_COLLECT | COLLECT_
    UPLOAD) "VIEW_COLLECT"
    KEYS_FROM_MULT_COLLS (TRUE | FALSE) "FALSE"
    IS_TEST_METRIC (TRUE | FALSE) "FALSE"
    KEYS_ONLY (TRUE | FALSE) "FALSE"
    REMOTE (TRUE | FALSE) "FALSE"
    IS_TRANSPOSED (TRUE | FALSE) "FALSE"
    HELP CDATA #IMPLIED
    IS_METRIC_LONG_RUNNING (TRUE|FALSE) "FALSE"
    CONFIG (TRUE|FALSE) "FALSE"
    FORCE_CACHE (TRUE | FALSE) "FALSE">

#### 属性:

NAME: メトリック名を指定します。そのターゲット・タイプのスコープ内で、一意に識別します。

TYPE: データ型を指定します。

サポートされているメトリック・タイプは次のとおりです。

a) NUMBER（デフォルト）: 廃止されました。数値型の1列を含む表をかわりに使用してください。

b) STRING: 廃止されました。文字列型の1列を含む表をかわりに使用してください。

c) TABLE: 表形式データ

d) RAW: 表形式データ

c) EXTERNAL: EMDによって解析または先頭に配置されないデータ。

e) REPOSITORY_TABLE: 他の場所で計算されます。

f) REPOSITORY_NUMBER: 他の場所で計算されます。

g) REPOSITORY_STRING: 他の場所で計算されます。

h) REPOSITORY_EVENT: Enterprise Managerバージョン10.2で初めて導入されました。

REPOS_PLSQL: タイプがREPOSITORY_TABLE、REPOSITORY_NUMBERまたはREPOSITORY_STRINGの場合、この属性は、メトリックを評価するためにリポジトリで実行されるPL/SQLプロシージャの名前を指定します。

USAGE_TYPE: メトリックの目的を定義します。

サポートされているタイプは次のとおりです。

a) VIEW_COLLECT（デフォルト）: 表示と収集の両方が可能なメトリックです。

b) REALTIME_ONLY: 収集不可のメトリックです。これらのメトリックには、キーの一意性の規則は適用されません。

c) HIDDEN: コンソールから収集および表示されないようにする必要がある場合に、メトリックに非表示のタグが付けられます。データのアップロードも行われません。これらは、他のメトリックの計算に使用される一時メトリックです。

Enterprise Managerバージョン10.2で導入された値は次のとおりです。

d) HIDDEN_COLLECT: メトリックの収集は可能です。表示は不可です。データはアップロードされません。HIDDENと似ていますが収集可能です。

e) COLLECT_UPLOAD: メトリックの収集およびアップロードが可能で、メタデータはMGMT_METRICSにアップロードされますが、Allメトリック・ページには表示されません。

古いUSAGE_TYPEの値のマッピングは次のとおりです。

DISPLAY_ONLY: REALTIME_ONLY

MULTI_KEY: VIEW_COLLECT

COLLECT_ONLY: VIEW_COLLECT

メトリック・ブラウザは、どのメトリックを表示しないかを自動的に判断します。

KEYS_FROM_MULT_COLLS: TRUEの場合は、複数のキー列があることを示します。キー列の組合せによって、1つの行が一意に識別されます。値がTRUEの場合のみ、複数の収集項目でメトリックを収集できます。

TRUE | FALSE（デフォルト）

IS_TEST_METRIC: エージェントは、一部のメトリックをチェックして、有効なインスタンス・プロパティを使用してターゲットが正しく指定されているかどうかを判断できます。この属性は、このメトリックをテスト・メトリックの1つとしてマークします。

TRUEまたはFALSE（デフォルト）

HELP: ヘルプ・テキスト。この属性は使用されません。

KEYS_ONLY: キー列のみを持つ特別なメトリックにタグを付けるために使用します。通常、このようなメトリックは（アップロードされるデータがないため）収集には役立ちませんが、一連のキーを取得するためだけにメトリックを使用する特別な場合に役立ちます。

TRUEまたはFALSE（デフォルト）

IS_METRIC_LONG_RUNNING: TRUEの場合はメトリックが長時間実行されます。メトリック・エンジンに、この問合せの終了までに比較的時間がかかるというヒントを与えます。特別なプロパティEM_IS_METRIC_LONG_RUNNINGがfetchletに自動的に渡されます。

TRUEまたはFALSE（デフォルト）

CONFIG: これは、EMフレームワークによって異なる方法でアップロードされるCONFIGメトリックの特別な指定です。

TRUEまたはFALSE（デフォルト）

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

REMOTE: リモートの場所から評価できるメトリックのタグ付けに使用されます。これらのメトリックは、ビーコン・ノードから評価できます。

IS_TRANSPOSED: 名前/値ペアとしてデータを生成するメトリックにタグを付けるのに使用され、UIはこの名前を列ヘッダーとして扱います。設計時に行数（またはデータのカテゴリ）が不明な場合に便利です。

FORCE_CACHE: 収集されたメトリックについて、エージェントにメトリック収集の結果をキャッシュするよう指示します。この指示がなければ、キャッシュ値が使用されることを認識するまで、エージェントはメトリック結果のキャッシュを開始しません。

#### 要素:

ValidIf

ValidMidTierVersions（最初の導入はEnterprise Managerバージョン10.2）Display

CategoryValue（最初の導入はEnterprise Managerバージョン10.2）

TableDescriptor

QueryDescriptor

ExecutionDescriptor

PushDescriptor

#### 使用場所:

TargetMetadata

#### 例:

    <TargetMetadata TYPE="example1" META_VER="2.0" CATEGORY_PROPERTIES="OS;Version">
    <Metric NAME="prop" TYPE="TABLE">
    <Display>
    <Label NLSID="example1_metric">Example1 Metric</Label>
    </Display>
    <TableDescriptor>
    <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE" /> <ColumnDescriptor NAME="value" TYPE="STRING" />
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>
    </TargetMetadata>

これは、メトリック定義の最も一般的な形式です。この文は、メトリックexample1に表形式データが含まれることを宣言しています。

メトリックにTABLEタイプが含まれる場合、値は複数の行のセットとして戻され、またその各セットには値のセット（列）が含まれます。表の特殊なケースとして、リストが戻される可能性もあります。TABLEメトリックには、TableDescriptorが定義されている必要があります。

    <Metric NAME="Inventory" TYPE="EXTERNAL" >
    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    </ValidIf>
    <Display>
    <Label NLSID="host_Inventory">Inventory</Label>
    </Display>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="emdRoot" SCOPE="SYSTEMGLOBAL">emdRoot</Property>
    <Property NAME="emHome" SCOPE="SYSTEMGLOBAL">agentStateDir</Property>
    <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
    <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
    <Property NAME="hostConfigClasspath" SCOPE="SYSTEMGLOBAL">hostConfigClasspath</Property>
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    <Property NAME="type" SCOPE="INSTANCE">TYPE</Property>
    <Property NAME="display_target_name" SCOPE="INSTANCE">DISPLAY_NAME</Property>
    <Property NAME="display_target_type" SCOPE="INSTANCE">TYPE_DISPLAY_NAME</Property>
    <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl"
    "%scriptsDir%/osm/ecmCollectInventory.pl" "%hostConfigClasspath%" "%perlBin%"
    "%emdRoot%" "%emHome%" "%hostname%" "%loaderFile%"
    "%emHome%/sysman/config/OUIinventories.add" "%type%" "%display_target_name%"
    "%display_target_type%"</Property>
    </QueryDescriptor>
    </Metric>

この例は、InventoryをEXTERNALとして宣言しています。これは、メトリックが正しい形式で評価され、アップロード・ディレクトリに格納されることを意味します。EMAgentによるメトリック結果の解析は行われません。ValidIf要素の指定により、OSがSunOSの場合のみメトリックが評価されます。

    <Metric NAME="AddressMap" TYPE="TABLE" FORCE_CACHE="TRUE">

コンテンツはTABLEメトリックと同様です。

    </Metric>

この例では、エージェントはAddressMapメトリックの結果をキャッシュすることを強制されます。

    <Metric NAME="ICMPPing" TYPE="TABLE" IS_TEST_METRIC="TRUE" USAGE_TYPE="HIDDEN">

コンテンツはTABLEメトリックと同様です。

    </Metric>

ICMPPingはテスト・メトリックとして識別されています。エージェントはその値を使用して、インスタンス・プロパティによって識別されたターゲットが正しいことを検証します。このメトリックは内部使用のみを目的とするため、HIDDENとしてマークされています。

USAGE_TYPEの要約:

USAGE_TYPE | KEY_UNIQUE_CHECK | COLLECTABLE | MGMT_METRICS_RAW | MGMT_METRICS | VIEWABLE
--- | --- | --- | --- | --- | ---
VIEW_COLLECT | Y | Y | Y | Y | Y
REALTIME_ONLY | N | N | N | Y | N
HIDDEN | Y | N | N | Y | N
HIDDEN_COLLECT | Y | Y | N | Y | N
COLLECT_UPLOAD | Y | Y | Y | Y | Y

    <Metric NAME="http_raw" TYPE="TABLE" KEYS_FROM_MULT_COLLS="TRUE" REMOTE="TRUE">

コンテンツはTABLEメトリックと同様です。

    </Metric>

http_rawメトリックは、リモートの場所から評価できるため、REMOTEとしてタグ付けされています。

    <Metric NAME="openPorts" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP">
    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    </ValidIf>
    <Display>
    <Label NLSID="host_open_ports_ESM">Open Ports</Label>
    </Display>
    <TableDescriptor TABLE_NAME="esm_collection">
    <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"/>
    <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"/>
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OSLineToken">
    <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
    <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
    <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl</Property>
    <Property NAME="script" SCOPE="GLOBAL">%scriptsDir%/openports.pl</Property>
    <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
    <Property NAME="delimiter" SCOPE="GLOBAL">=</Property>
    </QueryDescriptor>
    </Metric>

openPortsはCONFIGメトリックとして定義されています。タイプがRAWのため、EMAgentは値が正しい形式であることを要求します。

    <Metric NAME="storage_reporting_data" TYPE="RAW" CONFIG="TRUE" IS_METRIC_LONG_RUNNING="TRUE">

コンテンツはRAWメトリックと同様です。

    </Metric>

これは、storage_reporting_dataの実行に時間がかかることを指定しています。

### ValidIf

ValidIf要素は、ターゲットの複数のフレーバに適用されるタイプ定義の作成に使用します。その方法として、ターゲットの特定のプロパティ（最大5つ）をカテゴリ・プロパティとしてマークできます。また、ValidIf要素をメータデータの一部に配置して、ターゲットのプロパティ値が指定された値と一致した場合のみ適用されることを示すことができます。含まれている要素が評価されるためには、ValidIf内のすべてのCategoryProp要素が一致する必要があります。含まれている要素には、異なる条件セットに対する適用性を示すために、複数のValidIfを含めることができます。

    <!ELEMENT ValidIf (CategoryProp+)>

#### 属性:

なし

#### 要素:

CategoryProp

#### 使用場所:

Metric

QueryDescriptor

Display

MonitoringMode

InstanceProperty

DynamicProperties

ExecutionDescriptor

PushDescriptor

収集項目

#### 例:

    <TargetMetadata TYPE="example1" META_VER="2.0" CATEGORY_PROPERTIES="OS;Version">
    <Metric NAME="prop" TYPE="TABLE">
    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    <CategoryProp NAME="Version" CHOICES="5.9"/>
    </ValidIf>
    <TableDescriptor>
    <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE" /> <ColumnDescriptor NAME="value" TYPE="STRING" />
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>
    </TargetMetadata>

この例は、メトリックpropが評価されるには、カテゴリ・プロパティOSおよびVersionが値SunOSおよび5.9を含む必要があることを示しています。EMAgentでは、ValidIf要素で使用できる最大5つのカテゴリ・プロパティを定義できます。

### CategoryProp

CategoryProp要素を使用して、ValidIfを一致させるためのプロパティに対して許可される値をリストします。

    <!ELEMENT CategoryProp EMPTY>
    <!ATTLIST CategoryProp
    NAME CDATA #REQUIRED
    CHOICES CDATA #REQUIRED>

#### 属性:

NAME: カテゴリ・プロパティの名前を指定します。

CHOICES: プロパティに対して許可される値を指定します。値をセミコロン（;）で区切って含めることができます。

#### 要素:

なし

#### 使用場所:

ValidIf

#### 例:

    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    <CategoryProp NAME="Version" CHOICES="5.8;5.9"/>
    </ValidIf>

ValidIf文の例を変更してVersionカテゴリ・プロパティに5.8と5.9という2つの選択肢を設定した場合、メトリックはSunOSのバージョン5.8および5.9について評価されます。

    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="SunOS"/>
    </ValidIf>
    <ValidIf>
    <CategoryProp NAME="OS" CHOICES="AIX"/>
    </ValidIf>

このようなValidIfを含むメトリックは、OSがSunOSまたはAIXの場合に評価されます。

注意: ValidIfを使用して同じメトリックの複数の定義を区別している場合は、メトリックの複数の定義が検証されることがないようにする必要があります。

    <Metric NAME="a_metric" TYPE="TABLE">
    <ValidIf>
    <CategoryProp NAME="C1" CHOICES="A;B">
    </ValidIf>
    . . .
    </Metric>
    <Metric NAME="a_metric" TYPE="TABLE">
    <ValidIf>
    <CategoryProp NAME="C1" CHOICES="A;C">
    </ValidIf>
    . . .
    </Metric>

この例は、ValidIfを使用しない方法を示しています。

### ValidMidTierVersions

この要素は、Enterprise Managerバージョン10.2で初めて導入されました。ValidMidTierVersions要素は、エージェントの中間層ベースのバージョニング・サポートで使用されます。Enterprise Managerバージョン10.2で導入されました。

この要素はMetric要素の下またはCustomTableMapper要素の内部で使用できます。この要素が存在することで、Metric定義またはCustomTableMapper定義が中間層バージョンの特定のセットのみに適用されることがエージェントに示されます。

    <!ELEMENT ValidMidTierVersions EMPTY>
    <!ATTLIST ValidMidTierVersions
    PLUG_IN CDATA #IMPLIED
    START_VER CDATA #IMPLIED
    END_VER CDATA #IMPLIED>

#### 属性:

PLUG_IN: 特定の中間層プラグインの参照を許可するオプションの属性です。指定されていない場合、このタグはコアOMSバージョンに適用されます。

START_VER: 要素の適用が開始されたバージョン（そのバージョンを含む。オプション）。

END_VER: 要素の適用が終了したバージョン（そのバージョンを含まない。オプション）。

#### 要素:

なし

#### 使用場所:

Metric

CustomTableMapper

#### 例:

各ValidMidTierVersions要素には、少なくともSTART_VERまたはEND_VERの1つを指定する必要があります。

    <Metric NAME="metric1" TYPE="RAW">
    <TableDescriptor>
    <CustomTableMapper REP_TABLE_NAME="table1">
    <ValidMidTierVersions PLUG_IN="DB" START_VER="10.1" END_VER="10.3"/>
    <ColumnMapper METRIC_COLUMN="col1" REP_TABLE_COLUMN="col1_rep"/>
    </CustomTableMapper>
    <ColumnDescriptor NAME="c1" COLUMN_NAME="col1" TYPE="STRING"/>
    <ColumnDescriptor NAME="c2" COLUMN_NAME="col2" TYPE="STRING"/>
    </TableDescriptor>
    <QueryDescriptor>
    . . .
    </QueryDescriptor>
    </Metric>

metric1をリポジトリ表table1にマッピングするCustomTableMapper要素は、DB Pluginのバージョン10.1以上10.3未満でのみ適用されます。

    <ValidMidTierVersionsSTART_VER="10.1.0.1"/>

MetricまたはCustomTableMapper内でこの要素が使用されている場合は、MetricまたはCustomTableMapperがOMSバージョン10.1.0.1以上でのみ適用されることがEMAgentに示されます。

    <ValidMidTierVersionsEND_VER="10.2"/>

MetricまたはCustomTableMapper内でこの要素が使用されている場合は、MetricまたはCustomTableMapperがOMSバージョン10.2未満（このバージョンを含まない）でのみ適用されることがEMAgentに示されます。

### TableDescriptor

TableDescriptorは、タイプTABLEのメトリックのデータ構造を示します。

    <!ELEMENT TableDescriptor (ColumnDescriptor+, CustomTableMapper*)>
    <!ATTLIST TableDescriptor
    TABLE_NAME CDATA #IMPLIED
    SKIP_TARGET_COLUMN (TRUE | FALSE) "FALSE"
    SKIP_METRIC_COLUMN (TRUE | FALSE) "FALSE"
    SKIP_COLLTIME_PK (TRUE | FALSE) "FALSE"
    SKIP_COLLTIME_COLUMN (TRUE | FALSE) "FALSE">

注意: SKIP_COLLTIME_PK属性は廃止されています。この属性は、収集タイムスタンプを主キーの一部にできないことを指定します。同じ主キーを持つ古い行を、最新の行ですべて上書きすることを示すために使用されていました。現在では、リポジトリで表定義を単純に変更することでこの処理を行えるため、SKIP_COLLTIME_PKは不要になりました。

#### 属性:

TABLE_NAME: この属性は、収集されたデータがロードされるリポジトリ・データベース表を指定します。注意: この属性を定義できるのはRAWメトリックのみです。TableDescriptorにCustomTableMapper要素が含まれる場合は、TABLE_NAME属性を含むことはできません。

SKIP_TARGET_COLUMN: この属性はRAWメトリックのみに適用されます。TRUEに設定すると、ターゲットGUID列は生成されません。

TRUE | FALSE（デフォルト）

SKIP_METRIC_COLUMN: この属性はRAWメトリックのみに適用されます。TRUEに設定すると、メトリック名列は生成されません。

TRUE | FALSE（デフォルト）

SKIP_COLLTIME_PK: Enterprise Managerバージョン10.2で廃止されました。収集タイムスタンプを生成する必要がある場合はSKIP_COLLTIME_PKオプションを使用できますが、主キーとして追加されません。

TRUE | FALSE（デフォルト）

#### 要素:

ColumnDescriptor

CustomTableMapper

#### 使用場所:

Metric

#### 例:

TABLEメトリックには、TableDescriptorが定義されている必要があります。TableDescriptorには、表に含まれる各列が記述されます。

    <Metric NAME="prop" TYPE="TABLE">
    <Display>
    <Label NLSID="example1_metric">Example1 Metric</Label>
    </Display>
    <TableDescriptor>
    <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE" /> <ColumnDescriptor NAME="value" TYPE="STRING" />
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>

これは、TYPE=TABLEのメトリックを表すTableDescriptor要素の最も一般的な使用方法です。中間層バージョニング・サポートの詳細は、CustomTableMapperの例を参照してください。

    <TableDescriptor TABLE_NAME="esm_collection">

この宣言は、RAWメトリックについてのみ有効です。この要素は、RAWメトリックの内部にesm_collection表の説明を含みます。

    <TableDescriptor TABLE_NAME="mgmt_db_compatibility"
    SKIP_COLLTIME_PK="TRUE" SKIP_COLLTIME_COLUMN="TRUE"
    SKIP_METRIC_COLUMN="TRUE" SKIP_TARGET_COLUMN="TRUE">

SKIP属性は、RAWメトリックのみに適用できます。SKIP属性をTRUEに設定して明示的に指定されている場合を除いて、EMAgentは、行メトリックに対して自動的にTARGET_GUID列、METRIC_NAME列およびCOLLECTION_TIMESTAMP列を生成します。このサンプルのTableDescriptorは、デフォルトの列を省略することを明示的に要求しています。

### ColumnDescriptor

ColumnDescriptor要素は、表の各列を説明します。また、エージェントでは、RAQメトリックに対する1レベルの表のネストがサポートされます。これにより、メトリックは、含んでいる行との関係でアップロードされた列のかわりに、データの表を戻すことができます。たとえば、データベース内でコストの高いSQL文のリストを戻すメトリックでは、そのSQL文の複数行の実行計画を戻す列を、ネストされた行メトリック列内で戻すことができます。

    <!ELEMENT ColumnDescriptor (Display?, CategoryValue*, TableDescriptor?)>
    <!ATTLIST ColumnDescriptor
    NAME CDATA #REQUIRED
    TYPE (NUMBER | STRING | RAW | CLOB | BLOB) "NUMBER"
    IS_FILENAME (TRUE | FALSE) "FALSE"
    IS_KEY (TRUE | FALSE) "FALSE"
    TRANSIENT (TRUE | FALSE) "FALSE"
    COMPUTE_EXPR CDATA #IMPLIED
    COLUMN_NAME CDATA #IMPLIED
    IS_LONG_TEXT (TRUE | FALSE) "FALSE"
    IS_DATE (TRUE | FALSE) "FALSE"
    STATELESS_ALERTS (TRUE|FALSE) "FALSE"
    IS_TIMESTAMP (TRUE | FALSE) "FALSE"
    NON_THRESHOLDED_ALERTS (TRUE | FALSE) "FALSE"
    KEYONLY_THRESHOLDS (TRUE | FALSE) "FALSE"
    RENDERABLE (TRUE | FALSE) "TRUE"
    HELP CDATA #IMPLIED>

#### 属性:

NAME: メトリック列の名前。

TYPE: データ型を指定します。

サポートされているタイプは次のとおりです。

a) NUMBER（デフォルト）

b) STRING

c) RAW: ネストされた表のサポート用です。ネストされた表であることを示すために、列をRAWとして定義できます。注意: 許可されるのは1レベルのネストされた表のみです。

Enterprise Managerバージョン10.2で導入された値は次のとおりです。

d) CLOB: ログ・ファイルなどの大きい文字データを保持します。

e) BLOB: バイナリ・データを保持します（.zipファイル、.tarファイルなど）。

IS_KEY: この列が主キーの場合はTRUEに設定されます（戻された行の中で行を一意に識別します）。戻された2つの行は、いずれも同じキー列値を持つことはできません。同じ値を持つ場合は主キー違反が発生します。注意: 最大5列までをIS_KEY=TRUEとしてマークできます。キーとして定義された列がない場合、キーのデフォルト値はNULLになります（つまり、一度に1行のみが戻されます）。

TRUE | FALSE（デフォルト）

TRANSIENT: これはリポジトリにアップロードされません。レート・データの計算のみに使用されます。

TRUE | FALSE（デフォルト）

COMPUTE_EXPR: この属性は、列の値を計算するための式を指定します。表記述子であらかじめ定義されている列を計算に含めることができます。接頭辞_が付く列名は、列の前の値を示します。文字列式のサポートは、Enterprise Managerバージョン10.2で導入されました。式の文法および使用方法の詳細は、例を参照してください。

事前定義済の特別な値:

a) __interval: 収集間隔。

b) __sysdate: 現在のシステム時間。

c) __GMTdate: グリニッジ標準時（GMT）での現在の時間。

d) __contains: 特定の文字列式に文字列式が存在するかどうかをテストします。

e) __beginswith: 特定の文字列式が、指定された文字列式で始まるかどうかをテストします。

f) __endswith: 特定の文字列式が、指定された文字列式で終わるかどうかをテストします。

g) __matches: 特定の文字列式が指定された文字列式と一致するかどうかをテストします。

h) __delta: 現在の値と前の値の差異を計算します。

i) __leadingchars: 指定された文字列の先頭の文字を戻します。

j) __trailingchars: 指定された文字列の末尾の文字を戻します。

k) __substringpos: 指定された文字列内でそのパターンが発生する位置を戻します。

l) __is_null: 式がNULLかどうかをテストします。

m) __length: 文字列式の長さを戻します。

n) __to_upper: 文字列を大文字に変換します。

o) __to_lower: 文字列を小文字に変換します。

p) __ceil: 識別子未満でない最小の整数値を戻します。

q) __floor: 識別子より大きくない最大の整数値を戻します。

r) __round: ゼロを境にして最も近い整数値に丸めます。

COLUMN_NAME: この値は、メトリック・タイプがRAWの場合にデータベース列の識別に使用されます。

IS_LONG_TEXT: この値は、メトリックがRAWで列がダイジェスト・フォームになる場合にのみ使用されます。エージェントでは、メトリックの結果で長い文字列を繰り返し戻すことを要求するメトリックに対するサポートが提供されます。列がIS_LONG_TEXT="TRUE"とマークされている場合、エージェントは、ダイジェストに文字列をマッピングする行をMGMT_LONG_TEXT表に送信し、その後でダイジェスト値をリポジトリへのデータとして送信するだけです。

TRUE | FALSE（デフォルト）

IS_DATE: この値は、メトリックがRAWで列が日付型の場合のみ使用されます。

TRUE | FALSE（デフォルト）

STATELESS_ALERTS: この属性がTRUEに設定されている場合は、この列のアラートに対応するクリアが存在しないことがEMに示されます。これにより、この列のアラートをユーザーが手動でクリアできるかどうかをUIによって決定できます。

TRUE | FALSE（デフォルト）

IS_TIMESTAMP: この列の値は、この行の収集時間として使用されます。TRUEに設定されている場合は、この列の値をyyyy-MM-dd HH:mm:ss z形式（たとえば2003-07-30 08:41:05 PST）で指定する必要があります。有効なタイムゾーンのリストは$ORACLE_HOME/sysman/emd/supportedtzs.lstファイルに記載されています。

HELP: 使用しません。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

IS_FILENAME: TRUEに設定された場合は、列の値が、送信の必要な実際の内容を含むファイル名であることを示します。IS_FILENAME属性はCLOB/BLOB列型のみに有効です。

NON_THRESHOLDED_ALERTS: この属性は、（たとえば、アラートを生成したサーバーを介して）メトリック列に対するしきい値条件なしで、そのメトリック列のアラートが存在する可能性があることを示すために使用します。

TRUE | FALSE（デフォルト）

KEYONLY_THRESHOLDS: この属性がTRUEに設定された場合は、すべてのメトリック行、およびKeyColumn要素が必要な列のすべてのCondition要素に、条件を適用できません。

TRUE | FALSE（デフォルト）

RENDERABLE: この属性がFALSEの場合は、この列の値がエンジンによって生成され、ユーザーが使用できるように暗号化またはランダム化されていることを示します。UIではこの値は表示されず、ユーザーがこの値のしきい値を設定することはできません。

TRUE（デフォルト）| FALSE

#### 要素:

Display

CategoryValue（最初の導入はEnterprise Managerバージョン10.2）

TableDescriptor

#### 使用場所:

TableDescriptor

#### 例:

それぞれの列は、列の名前およびデータ型を指定する必要があります。列にはキー列としてタグを付けることができます。これらの列の値は、キー列以外の列に戻される値を特定します。

たとえば、上位10のプロセスのメトリックでは、プロセス名がキー列になり、常駐メモリー・サイズ、CPU、使用時間が値列になります。

    <ColumnDescriptor NAME="ciscoMemoryPoolName" TYPE="STRING" IS_KEY="TRUE">
    <Display>
    <Label NLSID="cisco_mem_pool_name">Memory Pool Name</Label>
    </Display>
    </ColumnDescriptor>

これは、ColumnDescriptor要素の最も一般的な使用方法です。ciscoMemoryPoolNameはメトリック内のキー列です。この列の値のタイプはSTRINGです。オプションのDisplay要素がColumnDescriptorに含まれる場合は、UIラベルが列に関連付けられます。

    <ColumnDescriptor NAME="pgScan" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"/>

属性TRANSIENTは、列が内部での計算のみに使用され、リポジトリにアップロードされないことを示しています。

    <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"/>

COLUMN_NAME属性は、データベース列を識別するためにRAWメトリック内で使用されます。

    <ColumnDescriptor NAME="log_file_message" TYPE="STRING" IS_KEY="FALSE" IS_LONG_TEXT="TRUE"/>

IS_LONG_TEXT属性がTRUEに設定されると、long値を要求することがEMAgentに示されます。

    <ColumnDescriptor NAME="load_timestamp" COLUMN_NAME="load_timestamp" TYPE="STRING" IS_DATE="TRUE" IS_KEY="FALSE"/>

この例は、RAWメトリックのload_timestamp列に日付書式の値を使用することを定義しています。

    <ColumnDescriptor NAME="log_file_match_count" TYPE="NUMBER" IS_KEY="FALSE" STATELESS_ALERTS="TRUE"/>

この定義は、列のアラートlog_file_match_countが、対応するクリアを持たないことを示しています。UIは、このデータのアラートを手動でクリアするオプションをユーザーに提供できます。

TableDescriptorの例は、ColumnDescriptor要素を使用する表メトリックを示しています。

注意: ColumnDescriptorをキーおよびタイムスタンプ列の両方にすることは無効です。 CLOB/BLOBはRAWメトリック内でのみ有効です。TYPEがCLOBまたはBLOBに設定された場合、ColumnDescriptorのIS_FILENAME属性をTRUEに設定することも可能です。この場合、列値は、列値自体ではなく、内容を送信する必要があるファイルの名前になります。CLOB/BLOB列では、送信先のリポジトリ表の列もCLOB/BLOB型であることが必要です。

計算式のサポート:

サポートされている文法:

    expression := (cond_expr | (cond_expr ? cond_expr : cond_expr)
    cond_expr := (string_expr |
    (string_expr == string_expr) |
    (string_expr < string_expr) |
    (string_expr > string_expr) |
    (string_expr <= string_expr) |
    (string_expr >= string_expr) |
    (string_expr __contains string_expr) |
    (string_expr __beginswith string_expr) |
    (string_expr __endswith string_expr) |
    (string_expr __matches string_expr) |
    (string_expr __delta string_expr))
    string_expr := (simple_expr |
    (simple_expr __leadingchars simple_expr) |
    (simple_expr __trailingchars simple_expr) |
    (simple_expr __substringpos simple_expr))
    simple_expr := (term |
    (simple_expr + term ) |
    (simple_expr - term) )
    term := (unary_expr |
    (term * unary_expr ) |
    (term / unary_expr ) )
    unary_expr := (factor |
    (__is_null factor) |
    (__length factor) |
    (__to_upper factor) |
    (__to_lower factor) |
    (__ceil factor) |
    (__floor factor) |
    (__round factor) )
    factor := ( identifier |
    string_literal |
    number |
    '(' expression ')' )
    string_literal := '\'' (character | "\\'" )* '\''

使用方法:

    <ColumnDescriptor NAME="pgScan" TYPE="NUMBER" />
    <ColumnDescriptor NAME="pgScanRate" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(pgScan-_pgScan)/__interval"/>

列の値は、指定された計算式を使用して計算されます。列の値は、pgScan列の現在の値、同じ列の前の値（_pgScan）および収集間隔を使用して計算されます。注意: いずれかの列がその値をCOMPUTE_EXPRで使用できるようになるには、pgScan列を定義する必要があります。

    <ColumnDescriptor NAME="baseDir" TYPE="STRING" />
    <ColumnDescriptor NAME="component" TYPE="STRING" COMPUTE_EXPR="'/httpd'" />
    <ColumnDescriptor NAME="full_path" TYPE="STRING" COMPUTE_EXPR="baseDir + component + '/egs/log/' "/>

full_path列の値は<baseDir>/httpd/egs/log/です。<baseDir>はbaseDir列の値です。

    <ColumnDescriptor NAME="value1" TYPE="NUMBER" COMPUTE_EXPR="Col __contains 'ay'" />
    <ColumnDescriptor NAME="value2" TYPE="NUMBER" COMPUTE_EXPR="Col __beginswith 'Mon'" />
    <ColumnDescriptor NAME="value3" TYPE="NUMBER" COMPUTE_EXPR="Col_ _endswith 'day'" />
    <ColumnDescriptor NAME="value4" TYPE="NUMBER" COMPUTE_EXPR="Col __matches 'Sun*'" />

このメトリックのColの値がSundayの場合、COMPUTE_EXPRの結果は次のようになります。

value1 = 1

value2 = 0

value3 = 1

value4 = 1

    <TableDescriptor>
    <ColumnDescriptor NAME="parse_str" TYPE="STRING" IS_KEY="TRUE" />
    <ColumnDescriptor NAME="startpos" TYPE="NUMBER" COMPUTE_EXPR="parse_str __substringpos '#D1'" />
    <ColumnDescriptor NAME="num_trailing" TYPE="NUMBER" COMPUTE_EXPR="(__length parse_str) - startpos" />
    <ColumnDescriptor NAME="trim_str" TYPE="STRING" COMPUTE_EXPR="parse_str__trailingchars num_trailing" />
    <ColumnDescriptor NAME="endpos" TYPE="NUMBER" COMPUTE_EXPR="trim_str __substringpos '#E1'" />
    <ColumnDescriptor NAME="result_str" TYPE="STRING" COMPUTE_EXPR="trim_str __leadingchars endpos" />
    </TableDescriptor>

このサンプルのTableDescriptorは、特定の文字列からサブストリングを抽出するための単純な方法を示しています。"parse_str"で表されるデータの形式を次のように仮定します。

#A1 10

#B1 20

#C1 30

#D1 40

#E1 50

#F1 60

この場合、"result_str"の値は#D1=40になります。

### CategoryValue

CategoryValue要素は、特定の分類におけるメトリック、列または条件のカテゴリを示します。CategoryValueは、Metric要素に対して定義され、そのメトリックに含まれるすべてのColumnDescriptorに対して有効です。ColumnDescriptorに対して定義されている場合、その列には、そのメトリックに対する指定および定義の結合を上書きするカテゴリ値が含まれます。

次のメトリック・カテゴリは、FUNCTIONALというMetricClassに対して事前に定義されています。

a) FAULT: コンポーネントの機能停止、または一部のコンポーネントやユーザーが処理を正常に実行できないことを示すエラーの発生を示すために使用できるメトリック。例: AlertLog - アーカイバ・ハング

b) WORKLOAD_VOLUME: ユーザー数またはシステムに対して実行されるバッチ・ジョブ数に比例して発生するシステム上のワークロードを取得するメトリック。通常は実行された作業量を示します。例: ユーザー・コール数（秒単位）

c) WORKLOAD_TYPE: 需要とは無関係の、システム上のワークロードのタイプを取得するメトリック。通常は実行された作業の種類を示します。例: 論理読取り（トランザクション単位）

d) PERFORMANCE: システムのパフォーマンスを測定するために分類できるメトリック。通常はシステムの作業状態を示します。例: データベース・レスポンス（秒単位）

e) CAPACITY: 固定リソースの使用量を測定するメトリック。例: CPU使用率（秒単位）

f) CONFIGURATION: 推奨されるベスト・プラクティスの構成に反するターゲットの構成をチェックするメトリック。

g) SECURITY: システムのセキュリティ面に関係するメトリック。

    <!ELEMENT CategoryValue EMPTY>
    <!ATTLIST CategoryValue
    CLASS CDATA #REQUIRED
    CATEGORY_NAME CDATA #REQUIRED>

#### 属性:

CLASS: メトリック・クラスの名前。

CATEGORY_NAME: メトリック・カテゴリの名前。

#### 要素:

Metric

ColumnDescriptor

Condition

#### 使用場所:

なし

#### 例:

    <TargetMetadata TYPE="example3" META_VER="2.0">
    <MetricClass NAME="EvaluationCost" NLSID="id_for_eval_cost_class">
    <MetricCategory NAME="CHEAP" NLSID="id_for_cheap_cat"/>
    <MetricCategory NAME="MEDIUM" NLSID="id_for_medium_cat"/>
    <MetricCategory NAME="EXPENSIVE" NLSID="id_for_expensive_cat"/>
    </MetricClass>
    <Metric NAME="metric1" TYPE="TABLE">
    <CategoryValue Class="EvaluationCost" CATEGORY_NAME="CHEAP"/>
    . . .
    </Metric>
    . . .
    </TargetMetadata>

この例は、メトリックのCategoryValueの使用方法を示しています。metric1は、評価コストの低いメトリックです。

    <Metric NAME="FileSystems" TYPE="TABLE" >
    <CategoryValue CLASS="FUNCTIONAL" CATEGORY="WORKLOAD_VOLUME" />
    <TableDescriptor>
    <ColumnDescriptor NAME="FileSystem" TYPE="STRING" IS_KEY="TRUE" />
    <ColumnDescriptor NAME="totalSpace" TYPE="NUMBER" >
    <CategoryValue CLASS="FUNCTIONAL" CATEGORY="CAPACITY" />
    </ColumnDescriptor>
    <ColumnDescriptor NAME="diskUsedPct" TYPE="NUMBER /> <TableDescriptor> ....
    </Metric>

このサンプルでは、列totalSpaceにCAPACITYというCategoryValueがあり、これによってメトリックに関連付けられているWORKLOAD_VOLUMEというCategoryValueが上書きされます。

### CustomTableMapper

CustomTableMapper要素はEnterprise Managerバージョン10.2で初めて導入されました。この要素は中間層ベースのバージョニング・プロジェクトの一部で、カスタム（RAW）メトリックが中間層のバージョンに基づいて送信先の表を変更できるようにします。

RAWメトリックのTableDescriptorには、中間層バージョンのセットごとに1つずつ、複数のCustomTableMapperメトリックを含めることができます。各CustomTableMapperは、TableDescriptorの列のリポジトリ表および列マッピングを提供します。

    <!ELEMENT CustomTableMapper (ValidMidTierVersions*, ColumnMapper*)>
    <!ATTLIST CustomTableMapper
    REP_TABLE_NAME CDATA #REQUIRED>

#### 属性:

REP_TABLE_NAME: メトリックの内容をアップロードする必要がある表の名前を示します。

#### 要素:

ValidMidTierVersions

ColumnMapper

#### 使用場所:

TableDescriptor

CustomTableMapper

#### 例:

    <TableDescriptor>
            <ColumnDescriptor NAME="c1" COLUMN_NAME="col1" TYPE="STRING"/> <ColumnDescriptor
    NAME="c2" COLUMN_NAME="col2" TYPE="STRING"/>
    <CustomTableMapper REP_TABLE_NAME="table1">
    <ValidMidTierVersions PLUG_IN="DB" START_VER="10.1" END_VER="10.3"/>
    <ColumnMapper METRIC_COLUMN="col1" REP_TABLE_COLUMN="col1_rep"/>
    </CustomTableMapper>
    </TableDescriptor>

このサンプルは、中間層ベースのバージョニングを示しています。TableDescriptor要素にはTABLE_NAME属性を含めることはできません。このサンプルは、バージョン10.1（このバージョンを含む）〜10.3（このバージョンを含まない）の中間層に対するリポジトリ表table1へのメトリックのマッピングを示しています。メトリック列col1は、リポジトリ表table1のcol1_repにマップされます。

ValidMidTierVersionsの例も参照してください。

### ColumnMapper

ColumnMapper要素は、Enterprise Managerバージョン10.2で初めて導入されました。この要素はCustomTableMapper要素の一部で、ColumnDescriptorとそのデータの行き先となるリポジトリ列の間のマッピングを説明します。

ColumnMapperが含まれていることで、特定のリポジトリ表内の列のマッピングが提供され、その列が表内に必要であることが示されます。特定のバージョンのリポジトリに列をアップロードしないことを示すには、その列に対してColumnMapperを使用しないことが必要です。

    <!ELEMENT ColumnMapper EMPTY>
    <!ATTLIST ColumnMapper
    METRIC_COLUMN CDATA #REQUIRED
    REP_TABLE_COLUMN CDATA #REQUIRED>

#### 属性:

METRIC_COLUMN: この要素が適用されるColumnDescriptorの名前

REP_TABLE_COLUMN: このデータの行き先となるデータベース表の列名。

#### 要素:

なし

#### 使用場所:

CustomTableMapper

#### 例:

CustomTableMapperの例を参照してください。

### QueryDescriptor

問合せ記述子を使用すると、フレームワークでのfetchletの検出が可能になる他、ターゲットからパフォーマンスのデータ値を取得するための問合せ情報を渡すことができます。fetchletは、EMAgentで認識されている既知のIDで識別できます。fetchletに渡されるプロパティが含まれる場合もあります。

    <!ELEMENT QueryDescriptor (ValidIf*, Property*) >
    <!ATTLIST QueryDescriptor
    FETCHLET_ID CDATA #REQUIRED
    NEED_CHARSET_CONVERT (TRUE | FALSE) "TRUE">

#### 属性:

FETCHLET_ID: 使用するfetchletの（EMAgentで認識されている）IDを指定します。この属性は、$ORACLE_HOME/lib/fetchlets.regファイルからの要素を指定する必要があります。

NEED_CHARSET_CONVERT: メトリック結果が正しいUTF8エンコーディングの場合、このフラグをFALSEに設定してEMAgentによる文字変換が行われないようにする必要があります。

TRUE（デフォルト）| FALSE

#### 要素:

ValidIf

Property

#### 使用場所:

Metric

DynamicProperties

#### 例:

関連付けられている問合せ記述子には、メトリックの値を収集するのに使用できるメタデータが含まれます。例: SQL問合せ。

    <TargetMetadata TYPE="example1" META_VER="2.0">
    <Metric NAME="prop" TYPE="TABLE">
    <TableDescriptor>
    <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE" /> <ColumnDescriptor NAME="value" TYPE="STRING" />
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>
    </TargetMetadata>

この単純な例は、メトリックで使用され、OSというfetchletに依存してプロパティhostnameを戻す問合せ記述子を示しています。

    <TargetMetadata TYPE="example1" META_VER="2.0">
    <Metric NAME="prop" TYPE="TABLE">
    . . .
    </Metric>
    <InstanceProperties>
    <DynamicProperties NAME="VersionAndLocation" FORMAT="ROW" PROP_LIST="OS;OracleHome;Version">
    <QueryDescriptor FETCHLET_ID="OSLineToken">
    <Property NAME="ENVEmdOS" SCOPE="SYSTEMGLOBAL">_emdOS</Property>
    <Property NAME="ENVVersion" SCOPE="SYSTEMGLOBAL">_emdVersion</Property>
    <Property NAME="ENVORACLE_HOME" SCOPE="SYSTEMGLOBAL">emdRoot</Property>
    </QueryDescriptor>
    </DynamicProperties>
    </InstanceProperties>
    </TargetMetadata>

この例は、QueryDescriptorを使用したDynamicProperties要素の評価を示しています。

### Property

fetchletに渡される情報を示します。

    <!ELEMENT Property (#PCDATA)>
    <!ATTLIST Property
    NAME CDATA #REQUIRED
    SCOPE (GLOBAL | INSTANCE | USER | SYSTEMGLOBAL | ENV | HOST | CACHE) "GLOBAL"
    OPTIONAL (TRUE | FALSE) "FALSE">

Propertyの値は次のように解決されます。

1. 指定されたスコープ内で値が検索されます。

2. 検索された値に含まれるそれぞれの潜在的なインスタンス化（つまり%<varname>%）について、次のようにvarnameが検索されます。

a. プロパティ値自体（つまり以前のプロパティの1つ）の内部

b. インスタンス・プロパティ内

c. システム・グローバル・スコープ（emd.properties）内

d. 自動プロパティについて値がチェックされます。

ターゲットに対して、次の自動プロパティが定義されます。

1. NAME: ターゲット名の代替

2. TYPE: ターゲット・タイプの代替

3. DISPLAY_NAME: ターゲットの表示名の代替

4. TYPE_DISPLAY_NAME: そのタイプの表示名の代替

5. GUID: GUIDの代替

注意: すべての検索で大文字/小文字が区別されます。

#### 属性:

NAME: プロパティの名前。

SCOPE: プロパティの値の解決方法を定義します。

SCOPEに対してサポートされている値は次のとおりです。

a) GLOBAL（デフォルト）: プロパティは、ターゲット・タイプ定義XMLファイル内で解決される必要があります。

b) INSTANCE: プロパティは検出によって解決される必要があります。この場合は、PCDATAを検出XMLファイルで設定されたプロパティのNAMEにする必要があります。

c) USER: プロパティはコール元（収集者または対話するエンドユーザー）によって解決されます。この場合は、PCDATAを、コール元（対話するユーザーの場合）にプロンプトを表示する際に使用するプロパティの名前にする必要があります。

d) SYSTEMGLOBAL: emd.propertiesを使用してプロパティを解決します。

e) ENV: 環境変数を使用してプロパティを解決します。

f) HOST: そのEMAgentのhostターゲットのインスタンス変数として、プロパティを解決する必要があります。例: OSプロパティ

g) CACHE: メトリックの前の評価から値を取得する必要があります。前の評価で戻された列を指定できます。これは、単一行またはキー以外のメトリックにのみ適用されます。

OPTIONAL: fetchletに対して提供された場合に使用可能にする必要のないプロパティを呼び出すために使用します。fetchletに接続する前に、EMAgentは、オプション以外のすべてのプロパティに対して有効な値を検索できることを検証します。

TRUE | FALSE（デフォルト）

#### 要素:

プロパティの値を表す文字データが含まれます。

#### 使用場所:

QueryDescriptor

PushDescriptor

#### 例:

    <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>

perlBinプロパティにはSYSTEMGLOBALスコープが含まれており、これは、emd.propertiesファイルを使用してプロパティが解決されることを意味します。

    <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>

delimiterプロパティにはGLOBALスコープが指定されています。

    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>

hostnameにはINSTANCEスコープが指定されており、これは、値が検出によって解決されることを意味します。値NAMEは、検出XMLファイル内のフィールドと一致する必要があります。

    <Property NAME="SNAPSHOT_TYPE" SCOPE="USER">SNAPSHOT_TYPE</Property>

このプロパティはコール元によって解決されます。SNAPSHOT_TYPEは、コール元にプロンプトを表示する際のプロパティの名前です。

    <Property NAME="ENVNMUPM_TIMEOUT" OPTIONAL="TRUE" SCOPE="SYSTEMGLOBAL">NMUPM_TIMEOUT</Property>

プロパティENVNMUPM_TIMEOUTは、OPTIONALプロパティとして識別されています。OPTIONAL以外のすべてのプロパティは、fetchletをコールする前にEMAgentによって検証される必要があります。

Property要素の使用方法は、QueryDescriptor、ValidIf、TargetMetadataの例を参照してください。

### Label

UIに表示されるラベルを表します。

    <!ELEMENT Label (#PCDATA)>
    <!ATTLIST Label
    NLSID CDATA #REQUIRED>

#### 属性:

NLSID: リソース・バンドル内で文字列を検索するのに使用するIDが含まれます。

#### 要素:

文字データ。

#### 使用場所:

Display

#### 例:

この要素は、Display要素内に存在する必要があります。

    <Label NLSID="host_load_cpuLoad">Run Queue Length (5 minute average)</Label>

この要素は、Display要素内で定義され、表示するラベルを表します。

Displayの例を参照してください。

### ShortName

ShortNameは、メトリック表示名を短縮したものです。長さを12文字未満にする必要があります。

    <!ELEMENT ShortName (#PCDATA)>
    <!ATTLIST ShortName
    NLSID CDATA #REQUIRED>

#### 属性:

NLSID: リソース・バンドル内で文字列を検索するのに使用するIDが含まれます。

#### 要素:

文字データ。

#### 使用場所:

Display

#### 例:

なし

### Icon

使用するアイコンを表します。

    <!ELEMENT Icon (#PCDATA)>
    <!ATTLIST Icon
    GIF CDATA #IMPLIED>

#### 属性:

GIF: 表示する画像の名前およびファイル・パスが含まれます。

#### 要素:

文字データ。

#### 使用場所:

Display

#### 例:

Displayの例を参照してください。

### Description

表示されるエンティティの説明を保持します。

    <!ELEMENT Description (#PCDATA)>
    <!ATTLIST Description
    NLSID CDATA #IMPLIED>

#### 属性:

NLSID: リソース・バンドル内で文字列を検索するのに使用するIDが含まれます。

#### 要素:

文字データ。

#### 使用場所:

Display

#### 例:

Displayの例を参照してください。

### Unit

表示されるデータの単位情報を保持します。

いくつかの標準単位および単位のNLSIDがサポートされています。後述する標準単位に対して、適切なNLSIDおよび表示名を使用してください。システムでサポートされるこれらの単位（em__sys__で始まるNLSID）の変換は、システム・レベルで行われるため、ターゲット・タイプごとに変換する必要がありません。

サポートされている単位は次のとおりです。

標準パーセント: 値が0〜100%のメトリックに使用します。

NLSID: "em__sys__standard_percent"

表示: %

使用方法: <Unit NLSID="em__sys__standard_percent">%</Unit>

汎用パーセント: 値が正のパーセントにも負のパーセントにもなる可能性があるメトリックに使用します（-50%や200%など）。

NLSID: "em__sys__generic_percent"

表示: %

使用方法: <Unit NLSID="em__sys__generic_percent">%</Unit>

    <!ELEMENT Unit (#PCDATA)>
    <!ATTLIST Unit
    NLSID CDATA #IMPLIED>

#### 属性:

NLSID: リソース・バンドル内で文字列を検索するのに使用するIDが含まれます。

#### 要素:

文字データ。

#### 使用場所:

Display

#### 例:

Displayの例を参照してください。

### MonitoringMode

MonitoringMode要素は、データ収集のメディエータを示します。TargetMetadata要素内にこの要素がある場合は、そのターゲットがクラスタ・タイプであることを示します。クラスタ・タイプには、すべてのクラスタ・タイプ・ターゲット・エージェントで一貫性のあるデータ収集を行うためのメディエーションが必要です。クラスタ・ターゲットは、OMSメディエートまたはエージェント・メディエートすることが可能です。MEDIATOR属性はメディエーションを指定します。CLUSTERDESCRIPTOR属性は、エージェントで必要なクラスタ・インタフェースを実装する共有ライブラリを指定します。これは、AgentMediatedクラスタのみに適用されます。

    <!ELEMENT MonitoringMode (ValidIf*)>
    <!ATTLIST MonitoringMode
    MEDIATOR (AgentMediated|OMSMediated) #REQUIRED
    CLUSTERDESCRIPTOR CDATA #IMPLIED>

#### 属性:

MEDIATOR: 使用するメディエータを指定します。

サポートされている値は次のとおりです。

a) AgentMediated

b) OMSMediated

CLUSTERDESCRIPTOR: クラスタのタイプを示します。エージェント・メディエーションのみに適用されます。

#### 要素:

ValidIf

#### 使用場所:

TargetMetadata

#### 例:

    <TargetMetadata META_VER="2.0" TYPE="example1" CATEGORY_PROPERTIES="OS;OSVersion">
    . . .
    <MonitoringMode MEDIATOR="OMSMediated">
    <ValidIf>
    <CategoryProp NAME="OSVersion" CHOICES="5.8"/>
    <CategoryProp NAME="OSVersion" CHOICES="5.9"/>
    </ValidIf
    </MonitoringMode>
    . . .
    </TargetMetadata>

この例は、ターゲットexample1がクラスタ・タイプであり、OSVersionが5.8および5.9の場合のみOMSメディエートされることを示しています。他のバージョンの場合は、通常のターゲットのように動作します。すべてのエージェントは、ターゲットを監視します。この要素が存在しない場合、ターゲットは通常のターゲットになります。

### AltSkipCondition

エージェントには、接続障害によるメトリック・エラーの生成を抑えるために、停止中であることが認識されているターゲットのメトリックの評価をスキップするロジックがあります。Responseメトリックの評価でエラーが発生した場合や、ResponseのStatus条件にクリアされていない重大度がある場合は、そのたびにメトリックがスキップされます。ターゲットがResponseのStatus列以外の条件でメトリックの評価を停止する必要がある場合は、AltSkipCondition要素を作成してこれを指定することができます。

    <!ELEMENT AltSkipCondition EMPTY >
    <!ATTLIST AltSkipCondition
    METRIC CDATA #REQUIRED
    COLUMN CDATA #REQUIRED
    ASSOC_TARGET CDATA #IMPLIED>

#### 属性:

METRIC: 結果メトリックの名前

COLUMN: 列の名前

ASSOC_TARGET: 関連付けられているターゲット内の条件を指定するのに使用できます。

#### 要素:

なし

#### 使用場所:

TargetMetadata

#### 例:

    <TargetMetadata TYPE="example1" META_VER="2.0">
    <AltSkipCondition METRIC="metric1" COLUMN="Status"/>
    <Metric NAME="Response" TYPE="TABLE">
    <TableDescriptor>
    <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE"/>
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="hostname" SCOPE="INSTANCE">NAME</Property>
    </QueryDescriptor>
    </Metric>
    <Metric NAME="metric1" TYPE="TABLE">
    <TableDescriptor>
    <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE"/>
    </TableDescriptor>
    <QueryDescriptor FETCHLET_ID="OS">
    <Property NAME="homedir" SCOPE="INSTANCE">home</Property>
    </QueryDescriptor>
    </Metric>
    </TargetMetadata>

この例は、Responseメトリックの評価でエラーが発生した場合や、ResponseのStatus列にクリアされていないの重大度がある場合に、その都度メトリック評価がスキップされるターゲットを示しています。それ以外にも、メトリック評価は、metric1メトリックのStatus列でエラーまたはクリアされていない重大度が発生した場合にスキップされます。

    <AltSkipCondition METRIC="Response" COLUMN="State" ASSOC_TARGET="t2"/>
    <AltSkipCondition METRIC="Response" COLUMN="State" ASSOC_TARGET="t2"/>

この例のexample1ターゲット・タイプが別のターゲット・タイプに関連付けられているとします。他のターゲット・タイプのResponseメトリックのState列に基づいてexample1のメトリックの評価をスキップするために、AltSkipConditionを使用できます。

関連付けt2は、example1のtargets.xmlファイルで定義する必要があります。

### CredentialInfo

資格証明のタイプは、資格証明のセットのメタデータです。資格証明（CredentialTypeColumn）の構成要素（どれがキーかなど）を説明します。CredentialTypeは（同じまたは他のターゲット・タイプの）既存のCredentialTypeで構成される場合があります。

CredentialSetは、特定のターゲットに適用されるCredentialTypeのインスタンスです。値がターゲットのインスタンス・プロパティにマップされている資格証明セットを監視することは特に重要です。

    <!ELEMENT CredentialInfo (CredentialType*, CredentialSet*)>

#### 属性:

なし

#### 要素:

CredentialType

CredentialSet

#### 使用場所:

TargetMetadata

#### 例:

<TargetMetadata TYPE="example1" META_VER="2.0">

. . .

    <CredentialInfo>
     <CredentialType NAME="DBCreds" >
     <CredentialTypeColumn NAME="DBUsername" IS_KEY="true" />
     <CredentialTypeColumn NAME="DBPassword" />
     <CredentialTypeColumn NAME="DBRole" />
     </CredentialType>

    <CredentialSet NAME="DBCredsMonitoring" CREDENTIAL_TYPE="DBCreds" USAGE="monitoring">

    <CredentialSetColumn TYPE_COLUMN="DBUsername" SET_COLUMN="UserName" />

    <CredentialSetColumn TYPE_COLUMN="DBPassword" SET_COLUMN="password" />

    <CredentialSetColumn TYPE_COLUMN="DBRole" SET_COLUMN="role" />

    </CredentialSet>

    <CredentialSet NAME="DBCredsSysdba" CREDENTIAL_TYPE="DBCreds" USAGE="monitoring">

    <CredentialSetColumn TYPE_COLUMN="DBUsername" SET_COLUMN="SYSDBAUserName" />

    <CredentialSetColumn TYPE_COLUMN="DBPassword" SET_COLUMN="SYSDBApassword" />

    <CredentialSetColumn TYPE_COLUMN="DBRole" SET_COLUMN="SYSDBArole" />

    </CredentialSet>

    </CredentialInfo>

    . . .

    </TargetMetadata>

CredentialInfoにはCredentialType要素およびCredentialSet要素が含まれる場合があります。この例はその場合に該当します。ターゲット・タイプexample1はDBCreds、DBCredsMonitoringおよびDBCredsSysdbaの各資格証明に関連付けられています。

### CredentialType

CredentialType要素には、コンポーネント列の（そのうち1つはキー）で構成されているか、または他の事前定義済資格証明タイプのコンポジットとして、タイプの説明が含まれます。

    <!ELEMENT CredentialType (Display?, (CredentialTypeColumn|CredentialTypeRef)+)>
    <!ATTLIST CredentialType
    NAME CDATA #REQUIRED>

#### 属性:

NAME: CredentialTypeの一意の名前

#### 要素:

CredentialType

CredentialSet

#### 使用場所:

TargetMetadata

#### 例:

CredentialTypeには、オプションのDisplay要素を含めることができます。Display要素は、CrendentialType、および1つ以上のCredentialTypeColumnもしくはCredentialTypeRefのどちらかの表示特性を指定します。

    <CredentialType NAME="HostCreds" >
    <CredentialTypeColumn NAME="HostUserName" IS_KEY="TRUE">
    <CredentialTypeColumn NAME="HostPassword">
    </CredentialType>

このサンプルのHostCredsはCredentialTypeとして宣言されています。詳細は「CredentialInfo」を参照してください。

### CredentialTypeColumn

CredentialTypeは資格証明列のセットとして定義されます。それぞれのCredentialTypeColumnは、この列に使用できる値のリストを提供します。

    <!ELEMENT CredentialTypeColumn (Display?, CredentialTypeColumnValue*)>
    <!ATTLIST CredentialTypeColumn
    NAME CDATA #REQUIRED
    IS_KEY (TRUE|FALSE) "FALSE">

#### 属性:

NAME: 列の名前

IS_KEY: この資格証明タイプで複数のセットが作成されている場合、この列によって各セットは他のセットと区別されます。

TRUE | FALSE（デフォルト）

#### 要素:

Display

CredentialTypeColumn

CredentialTypeRef

#### 使用場所:

CredentialInfo

#### 例:

CredentialTypeColumnには、CredentialTypeColumn要素およびオプションのCredentialTypeColumnValue要素の表示特性を指定する、オプションのDisplay要素を含めることができます。

    <CredentialTypeColumn NAME="HostUserName" IS_KEY="TRUE">
    <Display FOR_SUMMARY_UI="TRUE">
    <Label NLSID="host_username">UserName</Label>
    </Display>
    </CredentialTypeColumn>

HostUserName列は、（ユーザー名、パスワード）資格証明タイプのキーです。この列は圧縮されたUIに表示され、UserNameというラベルと関連付けられます。詳細は「CredentialInfo」を参照してください。

### CredentialTypeColumnValue

CredentialTypeColumnValueは、CredentialTypeColumnに使用できる値を保持します。

    <!ELEMENT CredentialTypeColumnValue (#PCDATA)>
    <!ATTLIST CredentialTypeColumnValue
    IS_DEFAULT (TRUE|FALSE) "FALSE">

#### 属性:

IS_DEFAULT: リスト内のデフォルト値の場合はTRUEに設定されます。

TRUE | FALSE（デフォルト）

#### 要素:

値を表す文字データ。

#### 使用場所:

CredentialInfo

#### 例:

    <CredentialType NAME="DBCreds" >
     <CredentialTypeColumn NAME="DBUsername" IS_KEY="true" />
     <CredentialTypeColumn NAME="DBPassword" />
     <CredentialTypeColumn NAME="DBRole">

    <CredentialTypeColumnValue IS_DEFAULT="true">normal</CredentialTypeColumnValue>

    <CredentialTypeColumnValue>sysdba</CredentialTypeColumnValue>

    </CredentialTypeColumn>

    </CredentialType>

DBCreds資格証明タイプのDBRole列には、次の値を指定できます。

1. normal（デフォルト値）

2. sysdba

「CredentialInfo」を参照してください。CredentialInfoの例は、CredentialType要素のコンテキストを示しています。

### CredentialTypeRef

この要素を使用すると、資格証明タイプが他の事前定義済資格証明タイプを参照できます。この要素には、元の資格証明タイプの列と、定義する資格証明タイプの列のマッピングが含まれます。

    <!ELEMENT CredentialTypeRef (CredentialTypeRefColumn*)>
    <!ATTLIST CredentialTypeRef
    REF_NAME CDATA #REQUIRED
    REF_TYPE CDATA #REQUIRED
    REF_TARGETTYPE CDATA #IMPLIED
    ASSOCIATION CDATA #IMPLIED>

#### 属性:

REF_NAME: このCredentialTypeRefの名前を指定します。

REF_TYPE: 参照先の資格証明タイプ。

REF_TARGETTYPE: 元の資格証明タイプを含むターゲット・タイプ。同じターゲット・タイプの場合はNULLを指定します。

ASSOCIATION: このターゲットと、資格証明がここで管理される他のターゲットの関連付けを表します。この値を、前述のAssocTarget要素の1つにする必要があります。

#### 要素:

CredentialTypeRefColumn

#### 使用場所:

CredentialType

#### 例:

    <CredentialType NAME="FMCreds" >
    <CredentialTypeRef NAME="FMDBCreds1" REF_TYPE="DBCreds" REF_TARGET_TYPE="oracle_database" ASSOCIATION="firstDB">
    <CredentialTypeRefColumn NAME="FMUserName1" REF_TYPECOLUMN="DBUsername" />
    <CredentialTypeRefColumn NAME="FMpassword1" REF_TYPECOLUMN="DBPassword" />
    <CredentialTypeRefColumn NAME="FMRole1" REF_TYPECOLUMN="DBRole" />
    </CredentialTypeRef>
    </CredentialType>

FMCredsは、列FMUserName1、Fmpassword1およびFMRoleがDBCredのDBUsername、DBPasswordおよびDBRole列にそれぞれマップされる資格証明タイプを定義します。

CredentialInfoの例を参照してください。CredentialInfoの例は、CredentialType要素のコンテキストを示しています。

### CredentialTypeRefColumn

この要素は、参照先資格証明タイプの列をこの資格証明タイプの列にマップします。

    <!ELEMENT CredentialTypeRefColumn EMPTY>
    <!ATTLIST CredentialTypeRefColumn
    NAME CDATA #REQUIRED
    REF_TYPECOLUMN CDATA #REQUIRED>

#### 属性:

NAME: この資格証明タイプ内の列の名前。

REF_TYPECOLUMN: 参照先資格証明タイプ内の列の名前

#### 要素:

なし

#### 使用場所:

CredentialTypeRef

#### 例:

CredentialTypeRefの例を参照してください。

### CredentialSet

この要素は、このターゲット・タイプの名前付き資格証明セットを形成する要素のセットを定義します。資格証明セットは、このターゲット・タイプに対して定義された資格証明タイプのうち、1つの資格証明タイプの値を提供します。資格証明セットには、監視、優先資格証明およびアプリケーション固有の機能の3つのうち、いずれかの使用方法に対する資格証明を含めることができます。

    <!ELEMENT CredentialSet (Display?, CredentialSetColumn+)>
    <!ATTLIST CredentialSet
    NAME CDATA #REQUIRED
    CREDENTIAL_TYPE CDATA #REQUIRED
    USAGE (MONITORING|PREFERRED_CRED|SYSTEM) "MONITORING"
    CONTEXT_TYPE (TARGET|CONTAINER|COLLECTION) "TARGET"
    CONTEXT CDATA #IMPLIED>

#### 属性:

NAME: 資格証明セットの名前

CREDENTIAL_TYPE: このセットによって値が提供される資格証明タイプ。

USAGE: この資格証明セットが監視、優先資格証明およびアプリケーション固有の機能のうちのいずれに対して使用されるか。

サポートされている値は次のとおりです。

a) MONITORING（デフォルト）: 管理アプリケーションがターゲットに直接接続するのに使用できる資格証明を指定します。

b) PREFERRED_CRED: ユーザーの優先資格証明を指定します。

c) SYSTEM: 特定の特化したアプリケーション（パッチ適用、クローニングなど）で使用される一定の資格証明セットを指定します。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

CONTEXT_TYPE: セットに関連するエンティティの種類を指定します。

サポートされている値は次のとおりです。

a) TARGET（デフォルト）: ジョブ・システムやパッチ適用などのアプリケーションで使用できるターゲットの、格納済資格証明です。

b) CONTAINER: コンテナの格納済資格証明です。これらは常に、ホスト資格証明です。

c) COLLECTION: ユーザー定義のメトリックに関連付けられている資格証明です。

CONTEXT: このセットの対象となるメトリックを指定します。COLLECTION資格証明のみを参照します。

#### 要素:

Display

CredentialSetColumn

#### 使用場所:

CredentialInfo

#### 例:

CredentialSetには、オプションのDisplay要素が含まれます。Display要素は、CredentialSet要素および少なくとも1つのCredentialSetColumnの表示特性を指定します。

    <CredentialSet NAME="HostPrefCreds" CREDENTIAL_TYPE="HostCreds" USAGE="PREFERRED_CRED">

    <CredentialSetColumn TYPE_COLUMN="HostUsername" SET_COLUMN="HostPrefUserName" />\

    <CredentialSetColumn TYPE_COLUMN="HostPassword" SET_COLUMN="HostPrefPassword" />

    </CredentialSet>

    This sample illustrates usage of a user credential set.

    <CredentialSet NAME="DBCredsMonitoring" CREDENTIAL_TYPE="DBCreds" USAGE="monitoring">

    <CredentialSetColumn TYPE_COLUMN="DBUsername" SET_COLUMN="UserName"/>

    <CredentialSetColumn TYPE_COLUMN="DBPassword" SET_COLUMN="password"/>

    <CredentialSetColumn TYPE_COLUMN="DBRole" SET_COLUMN="role"/>

    </CredentialSet>

    DBCredsMonitoring defines a credential set that may be used by the agent for monitoring a database.

    <CredentialSet NAME="HostSystemCreds" CREDENTIAL_TYPE="HostCreds" USAGE="SYSTEM">

    <CredentialSetColumn TYPE_COLUMN="HostUsername" SET_COLUMN="HostPrefUserName"/>

    <CredentialSetColumn TYPE_COLUMN="HostPassword" SET_COLUMN="HostPrefPassword"/>

    </CredentialSet>

HostSystemCredsはSYSTEM資格証明タイプの一例です。

CredentialInfoの例を参照してください。CredentialInfoの例は、CredentialType要素のコンテキストを示しています。

### CredentialSetColumn

資格証明列は、資格証明タイプの列をその値のソースにマップします。監視資格証明セットの場合、ソースはターゲットのインスタンス・プロパティです。この要素は、Enterprise Managerバージョン10.2で初めて導入されました。

    <!ELEMENT CredentialSetColumn (Display?, CredentialSetColumnValue*) >
    <!ATTLIST CredentialSetColumn
    TYPE_COLUMN CDATA #REQUIRED
    SET_COLUMN CDATA #REQUIRED>

#### 属性:

TYPE_COLUMN: CredentialTypeの列の名前。

SET_COLUMN:

#### 要素:

Display

CredentialSetColumnValue

#### 使用場所:

CredentialSet

#### 例:

CredentialSetColumnにはオプションのDisplay要素が含まれます。このDisplay要素は、CredentialSetColumn要素およびオプションのCredentialSetColumnValue要素の表示特性を指定します。CredentialSetの例を参照してください。

### CredentialSetColumnValue

この要素は、CredentialSetColumnに使用できる値を保持します。この要素は、Enterprise Managerバージョン10.2で導入されました。

    <!ELEMENT CredentialSetColumnValue (#PCDATA)>
    <!ATTLIST CredentialSetColumnValue
    IS_DEFAULT (TRUE|FALSE) "FALSE">

#### 属性:

IS_DEFAULT: この要素がリスト内のデフォルト値の場合は、この属性をTRUEに設定します。

#### 要素:

値を表す文字データ。

#### 使用場所:

CredentialSetColumn

#### 例:

CredentialSetの例を参照してください。

### InstanceProperties

InstanceProperties要素は、ターゲット・タイプのプロパティを宣言します。一部のプロパティはtargets.xmlファイルから取得され、オプションまたは必須です。その他のプロパティは、他のプロパティの値およびDynamicProperties要素を使用して計算できます。エージェントは、InstanceProperties要素の情報を使用して、ターゲットが十分構成されていない場合にそれを突き止めたり、ターゲットの動的プロパティを計算します。コンソールUIは、ターゲットを最初から作成できたり、既存のターゲットのプロパティが変更されるUIを作成するためのプロパティに関する情報を使用します。

InstancePropertiesはターゲットのInstanceProperty要素およびDynamicProperties要素を保持します。

    <!ELEMENT InstanceProperties ((InstanceProperty | DynamicProperties)*)>

#### 属性:

なし

#### 要素:

InstanceProperty

DynamicProperties

#### 使用場所:

TargetMetadata

#### 例:

QueryDescriptorおよびTargetMetadataの例を参照してください。

### InstanceProperty

InstanceProperty要素には、インスタンス・プロパティの定義が含まれます。

    <!ELEMENT InstanceProperty (ValidIf*, (PCDATA | Display)*)>
    <!ATTLIST InstanceProperty
    NAME CDATA #REQUIRED
    OPTIONAL (TRUE | FALSE) "FALSE"
    CREDENTIAL (TRUE | FALSE) "FALSE"
    READONLY (TRUE | FALSE) "FALSE"
    NEED_REENTER ( TRUE | FALSE) "FALSE"
    HIDE_ENTRY ( TRUE | FALSE) "TRUE"
    CHECK_ORIGINAL ( TRUE | FALSE) "FALSE"
    IS_COMPUTED (TRUE|FALSE) "FALSE"
    >

#### 属性:

NAME: プロパティの名前

OPTIONAL: 必要なプロパティの値

TRUE | FALSE（デフォルト）

CREDENTIAL: 機密的な性質を持つプロパティ。通常、このようなプロパティは不明瞭化されてtargets.xmlに保存されます。

TRUE | FALSE（デフォルト）

READONLY: この要素をReadOnlyとしてマークします。

TRUE | FALSE（デフォルト）

NEED_REENTER: TRUEの場合は、ユーザーがコマンドラインに値を2回入力する必要があります。

TRUE | FALSE（デフォルト）

HIDE_ENTRY: TRUEの場合は、ユーザーが入力した文字を*として表示します。

TRUE（デフォルト）| FALSE

CHECK_ORIGINAL: TRUEの場合、ユーザーは変更する前に元の値を入力する必要があります。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

IS_COMPUTED: TRUEの場合は、動的プロパティを説明することを示します。

#### 要素:

ValidIf

Display

#### 使用場所:

TargetMetadata

#### 例:

InstanceProperty要素にValidIf要素が含まれる場合、プロパティが評価されるには、すべての条件を満たす必要があります。InstancePropertyには、オプションとしてDisplay要素または文字データを含めることもできます。

    <InstanceProperty NAME="password" OPTIONAL="FALSE" CREDENTIAL="TRUE">

この例では、oracle_databaseターゲットの1つのInstancePropertyに、OPTIONALではなくCREDENTIALのpasswordというNAMEが含まれます。

「TargetMetadata」に記載されているInstancePropertyの例も参照してください。

### DynamicProperties

DynamicProperties要素を使用すると、ターゲットのインスタンス・プロパティに対応する値のセットを戻す問合せを、ターゲットが指定できます。値はターゲット・プロパティになり、INSTANCEスコープから他の問合せ記述子へのアクセスが可能です。

    <!ELEMENT DynamicProperties (ValidIf*, (QueryDescriptor | ExecutionDescriptor)+) >
    <!ATTLIST DynamicProperties
    NAME CDATA #REQUIRED
    PROP_LIST CDATA #IMPLIED
    OPT_PROP_LIST CDATA #IMPLIED
    FORMAT (TABLE | ROW) "TABLE">

注意: DynamicProperty評価によってCategoryPropertiesがインスタンス化された場合、カテゴリ・プロパティの値がtargets.xmlに含まれていないかぎり、DynamicProperty評価が失敗したことで、エージェントによるターゲットの拒否が発生します。

#### 属性:

NAME: エラー・トレースなどのためにプロパティの収集者を単純に識別する属性。

PROP_LIST: 問合せ記述子によって戻すことが可能なプロパティの名前のリストを指定する、セミコロン（;）で区切られた値を含みます。結果には、ここにリストされた値が含まれている必要があります。

OPT_PROP_LIST: 問合せ記述子によって戻すことが可能なプロパティの名前のリストを指定する、セミコロン（;）で区切られた値を含みます。結果は、ここにリストされた値を含むことができます。

FORMAT: 戻されるデータの形式を指定します。

サポートされている値は次のとおりです。

a) TABLE（デフォルト）: FORMATがTABLE（デフォルト）の場合、戻り値はインスタンス・プロパティ値の表であることが必要です。戻される表は、2列（NAME、VALUE）の表であることが必要です。

b) ROW: FORMATがROWの場合、PROP_LISTにリストされている順序、次にOPT_PROP_LISTにリストされている順序で、1行の内容がプロパティの値とみなされます。

#### 要素:

ValidIf

QueryDescriptor

ExecutionDescriptor

#### 使用場所:

InstanceProperties

#### 例:

DynamicProperties要素にValidIf要素が含まれる場合、プロパティが評価されるには、すべての条件を満たす必要があります。また、QueryDescriptorまたはExecutionDescriptorの少なくとも1つのインスタンスを含む必要があります。

PROP_LISTおよびOPT_PROP_LISTに含まれるプロパティ名は、ターゲット・タイプ・メタデータを評価する際に、InstanceProperty宣言とともに使用されます。

    <DynamicProperties NAME="VersionAndLocation" FORMAT="ROW" PROP_LIST="OS;OracleHome;Version">

VersionAndLocationというDynamicPropertiesにはROW形式が指定されており、プロパティとしてOS、OracleHome、Versionを戻します。

問合せ記述子がすでに使用可能であるプロパティ値を戻した場合、そのプロパティは無視されます。複数のDynamicProperties問合せによってプロパティが戻された場合は、最初のプロパティの値が使用されます。

TargetMetadataの例に、DynamicProperties要素のコンテキストが含まれています。

### ExecutionDescriptor

ExecutionDescriptorは、メトリック評価の実行計画を指定します。EMAgentは、定義された順序で計画の各文を実行し、メトリックの結果を作成します。実行計画の最後の文の評価結果として生成されたメトリックの結果が戻されます。

    <!ELEMENT ExecutionDescriptor (ValidIf*, (GetTable | GetView | GroupBy | Union | JoinTables)*)>

#### 属性:

なし

#### 要素:

ValidIf

GetTable

GetView

GroupBy

Union

JoinTables

#### 使用場所:

Metric

DynamicProperties

#### 例:

ExecutionDescriptor要素にValidIf要素が含まれる場合、要素が評価されるには、すべての条件を満たす必要があります。また、GetTable、GetView、GroupBy、Union、JoinTablesのいずれかのインスタンスを0以上含む必要があります。

ExecutionDescriptorは、集計メトリックの計算に使用されます。

    <TargetMetadata META_VER="3.0" TYPE="host">
    . . .
    <Metric NAME="Load" TYPE="TABLE">
    . . .
    <ExecutionDescriptor>
    <GetTable NAME="DiskActivity"/>
    <GetView NAME="AvgSrvcTimeView" FROM_TABLE="DiskActivity">
    <Column NAME="DiskActivityavserv"/>
    </GetView>
    <GroupBy NAME="DA_MaxAvServ" FROM_TABLE="AvgSrvcTimeView">
    <AggregateColumn NAME="longestServ"COLUMN_NAME="DiskActivityavserv" OPERATOR="MAX" />
    </GroupBy>
    <GetTable NAME="_LoadInternal"/>
    <JoinTables NAME="Load">
    <Table NAME="_LoadInternal"/>
    <Table NAME="DA_MaxAvServ"/>
    </JoinTables>
    </ExecutionDescriptor>
    </Metric>
    <Metric NAME="_LoadInternal" TYPE="TABLE" USAGE_TYPE="HIDDEN">
    . . .
    </Metric>
    <Metric NAME="DiskActivity" TYPE="TABLE">
    . . .
    </Metric>
    </TargetMetadata>

このサンプルのExecutionDescriptorは、各文の実行後に、次に示す中間メトリック結果を生成します。

§ GetTable: メトリック結果DiskActivityにはDiskActivityメトリックのすべての列が含まれます。この操作の結果は次のSQL文と類似しています。

"Select * from DiskActivity"

§ GetView: メトリック結果AvgSrvcTimeViewには、DiskActivityメトリックのDiskActivityavserv列のみが含まれます。

§ GroupBy: メトリック結果DA_MaxAvServは、DiskActivityavserv列の最大値であるlongestServに基づいてAvgSrvcTimeViewをグループ化したものです。

§ GetTable: メトリック結果_LoadInternalには_LoadInternalメトリックのすべての列が含まれます。

§ JoinTable: Loadメトリックには、_LoadInternalメトリックおよびDA_MaxAvServメトリックの結合が含まれます。

Loadメトリックの結果として、最後のメトリックが戻されます。

### GetTable

この要素はExecutionDescriptor要素内で使用され、次のSQL操作と同じです。

Select * from T

Tはメトリックです。

    <!ELEMENT GetTable EMPTY>
    <!ATTLIST GetTable
    NAME CDATA #REQUIRED
    ASSOC_TARGET CDATA #IMPLIED
    METRIC_NAME CDATA #IMPLIED
    USE_CACHE (TRUE | FALSE | TRUE_IF_COLLECT) "FALSE">

#### 属性:

NAME: メトリックの名前。

ASSOC_TARGET: データの収集元であるターゲット。この属性はオプションで、省略された場合はMETRIC_NAMEが同じターゲット内のメトリックを指定します。

METRIC_NAME: リクエスト元のメトリックの名前。省略した場合は、属性NAMEがMETRIC_NAMEとして使用されます。

USE_CACHE: データがキャッシュからフェッチ可能かどうかを指定します。

TRUE | FALSE（デフォルト）| TRUE_IF_COLLECT

#### 要素:

なし

#### 使用場所:

ExecutionDescriptor

#### 例:

    <GetTable NAME="DiskActivity"/>

この文は、DiskActivityメトリックのすべての列を取得します。

ExecutionDescriptorの例を参照してください。

### GetView

GetViewは、表からサブ表を作成します。新しく作成された表は、NAME属性で識別されます。この属性はExecutionDescriptor内で一意である必要があります。この要素は次のSQL文と同じです。

Select column1, column2,.. . from T

Tはメトリックです。

    <!ELEMENT GetView ((ComputeColumn | Column)*, (Filter | In)*)>
    <!ATTLIST GetView
    NAME CDATA #REQUIRED
    FROM_TABLE CDATA #REQUIRED>

#### 属性:

NAME: ビューの名前

FROM_TABLE: ビューの生成元となる表。

#### 要素:

ComputeColumn

Column

Filter

In

#### 使用場所:

ExecutionDescriptor

#### 例:

GetViewには、ComputeColumn要素またはColumn要素のどちらかの0以上のインスタンス、およびFilter要素またはIn要素のどちらかの0以上のインスタンスを含めることができます。

    <GetView NAME="AvgSrvcTimeView" FROM_TABLE="DiskActivity">
    <Column NAME="DiskActivityavserv"/>
    </GetView>

これは、次のSQL文と同じです。

create view AvgSrvcTimeView as

select DiskActivityavserv from DiskActivity.

Column要素がGetViewに含まれていない場合は、表のすべての列が含められます。

ExecutionDescriptorの例を参照してください。

### Filter

フィルタ条件を指定します。フィルタは、行を新しい表に含めるかどうかを判断するために使用されます。フィルタ条件を満たさない場合、行は除外されます。

    <!ELEMENT Filter (#PCDATA)>
    <!ATTLIST Filter
    COLUMN_NAME CDATA #REQUIRED
    SCOPE (GLOBAL | INSTANCE | SYSTEMGLOBAL) "GLOBAL"
    OPERATOR (EQ | LT | GT | LE | GE | NE | CONTAINS | MATCH | ISNULL | ISNOTNULL) "EQ">

#### 属性:

COLUMN_NAME: フィルタ条件が適用される列の名前。

SCOPE:

サポートされている値は次のとおりです。

a) GLOBAL（デフォルト）

b) INSTANCE

c) SYSTEMGLOBAL

OPERATOR: 実行する演算を指定します。

サポートされている演算子は次のとおりです。

a) EQ（デフォルト）: 等しい

b) LT: より少ない

c) GT: より大きい

d) LE: 以下

e) GE: 以上

f) NE: 等しくない

g) CONTAINS: 含む

h) MATCH: 一致する

i) ISNULL: NULLである

j) ISNOTNULL: NULLでない

#### 要素:

フィルタ条件を表す文字データ

#### 使用場所:

GetView

#### 例:

    <ExecutionDescriptor>
    <GetTable NAME="Servlet_raw" USE_CACHE="TRUE_IF_COLLECT"/>
    <GetView NAME="result" FROM_TABLE="Servlet_raw">
    <Filter COLUMN_NAME="totalRequests1" OPERATOR="GT">0</Filter>
    </GetView>
    </ExecutionDescriptor>

このExecutionDescriptorの結果は、totalRequests1 > 0のメトリックresultです。

### Column

新しい表に含める列を表します。

    <!ELEMENT Column EMPTY>
    <!ATTLIST Column
    NAME CDATA #REQUIRED
    COLUMN_NAME CDATA #IMPLIED
    TABLE_NAME CDATA #IMPLIED>

#### 属性:

NAME: メトリックの列の名前を指定します。

COLUMN_NAME: 列の名前を指定します。NAMEと同一の場合は省略可能です。

TABLE_NAME: メトリックの名前を指定します。ColumnがGetView要素の一部の場合は、この属性を除外する必要があります。

#### 要素:

なし

#### 使用場所:

GetView

JoinTables

#### 例:

    <Column NAME="DiskActivityavserv"/>
    'DiskActivityavserv' is the metric column that is selected for the operation.
    <Column NAME="responseTime" TABLE_NAME="groupbyapps"/>

groupbyappsメトリックの列responseTimeが操作対象として選択されます。

ExecutionDescriptorの例を参照してください。

### ComputeColumn

この要素は、列の値の計算方法を示します。

    <!ELEMENT ComputeColumn EMPTY>
    <!ATTLIST ComputeColumn
    NAME CDATA #REQUIRED
    EXPR CDATA #REQUIRED
    IS_VALUE (TRUE | FALSE) "FALSE"
    DEFAULT_WHEN_EMPTY (TRUE | FALSE) "FALSE"
    DEFAULT_VALUE CDATA #IMPLIED>

#### 属性:

NAME: 列の名前

EXPR: 値を計算するために評価される式。文字列式のサポートは、Enterprise Managerバージョン10.2で導入されました。式の文法および使用方法の詳細は、ColumnDescriptorの例を参照してください。

IS_VALUE: TRUEに設定されている場合、EXPRは実際の文字列値を指定します。TRUE以外の場合、EXPRは列の計算に使用する式です。

TRUE | FALSE（デフォルト）

DEFAULT_WHEN_EMPTY:

TRUE | FALSE（デフォルト）

DEFAULT_VALUE: 列のデフォルト値。指定されていない場合、デフォルト値は0に設定されます。

#### 要素:

なし

#### 使用場所:

GetView

GroupBy

#### 例:

    <GetView NAME="NEW_TABLE" FROM_TABLE="ORIG_TABLE">
    <Column NAME="cn1" COLUMN_NAME="A" /><Column NAME="cn2" COLUMN_NAME="B" />
    <ComputeColumn NAME="cn3" EXPR="cn1+cn2" />
    <ComputeColumn NAME="cn4" EXPR="cn1/cn2" DEFAULT_WHEN_EMPTY="TRUE" DEFAULT_VALUE="1"/>
    <ComputeColumn NAME="isMultiThreaded.value"IS_VALUE="TRUE"EXPR="true" />
    <Filter COLUMN_NAME="C" OPERATOR="EQ">3</Filter>
    </GetView>

EXPR属性で許容される式の文法の詳細およびその他の例は、ColumnDescriptorの例を参照してください。

### In

この要素は次のSQL文と同じです。

select * from from_table where

column_name in ( select in_column_name from in_table_name)

    <!ELEMENT In EMPTY>
    <!ATTLIST In
    COLUMN_NAME CDATA #REQUIRED
    IN_TABLE_NAME CDATA #REQUIRED
    IN_COLUMN_NAME CDATA #REQUIRED>

#### 属性:

COLUMN_NAME: 検索する列名。

IN_TABLE_NAME: 検索場所である表。

IN_COLUMN_NAME: IN_TABLE_NAME属性で指定された表の列名。

#### 要素:

なし

#### 使用場所:

GetView

#### 例:

なし

### GroupBy

GroupByは、新しい表を作成するための集計操作を表またはビューで実行します。この要素は次のSQL文と同じです。

Select sum(column_name) from table_name

    <!ELEMENT GroupBy (By*, (AggregateColumn | ComputeColumn)*)>
    <!ATTLIST GroupBy
    NAME CDATA #REQUIRED
    FROM_TABLE CDATA #REQUIRED>

#### 属性:

NAME: グループ化の名前を指定します。

FROM_TABLE: メトリックの名前を指定します。

#### 要素:

By

AggregateColumn

ComputeColumn

#### 使用場所:

GetView

#### 例:

この要素には、Byの0以上の要素、およびAggregateColumnまたはComputeColumnのどちらかの0以上の要素を含めることができます。

<GroupBy NAME="DA_MaxAvServ" FROM_TABLE="AvgSrvcTimeView">

この文の結果、AvgSrvcTimeViewメトリックに適用されたgroupby操作の結果がDA_MaxAvServに含まれます。

ExecutionDescriptorの例を参照してください。

### By

By要素は、GroupBy句を構成する列を定義します。

各By'要素は、列として結果表に追加されます。

    <!ELEMENT By EMPTY>
    <!ATTLIST By
    NAME CDATA #REQUIRED
    COLUMN_NAME CDATA #IMPLIED>

#### 属性:

NAME: 新しい列の名前。

COLUMN_NAME: 新しい列の名前。

#### 要素:

なし

#### 使用場所:

GroupBy

#### 例:

NAMEは、新しい表内で一意であることが必要です。COLUMN_NAMEが指定されていない場合は、NAMEと同じになります。

### AggregateColumn

この要素は、列で実行する演算を示します。

    <!ELEMENT AggregateColumn EMPTY>
    <!ATTLIST AggregateColumn
    NAME CDATA #REQUIRED
    COLUMN_NAME CDATA #REQUIRED
    OPERATOR (MAX | MIN | SUM | AVG | COUNT) "SUM">

#### 属性:

NAME: AggregateColumnの名前を指定します。

COLUMN_NAME: 演算を実行するメトリックの列名を指定します。

OPERATOR: 実行する演算を指定します。

サポートされている演算子は次のとおりです。

a) MAX

b) MIN

c) SUM（デフォルト）

d) AVG

e) COUNT

#### 要素:

なし

#### 使用場所:

GroupBy

#### 例:

    <AggregateColumn NAME="longestServ" COLUMN_NAME="DiskActivityavserv" OPERATOR="MAX" />

この演算の結果、DiskActivityavserv列から最大値が計算されます。

ExecutionDescriptorの例を参照してください。

### Union

Union要素は、2つ以上の表を結合またはマージする操作を示します。結合できるのは、同じ数の列を持つ表のみです。この要素は次のSQL文と同じです。

Select * from T1 Union

Select * from T2

    <!ELEMENT Union (Table+)>
    <!ATTLIST Union
    NAME CDATA #REQUIRED
    DISTINCT (TRUE | FALSE) "FALSE">

#### 属性:

NAME: 結合の名前を指定します。

DISTINCT: TRUEの場合は、前の行と同一の行がすべて廃棄されます。

TRUE | FALSE（デフォルト）

#### 要素:

Table

#### 使用場所:

ExecutionDescriptor

#### 例:

Union要素には少なくとも1つのTable要素を含める必要があります。

    <Union NAME="result4">
    <Table NAME="result" />
    <Table NAME="result1" />
    <Table NAME="result2" />
    <Table NAME="result3" />
    </Union>

result4は4つの表が結合されたものです。作成される表には、最初の表と同じ列名リストが含まれます。

注意: 結合できるのは、同じ数の列を持つ表のみです。新しく作成された表は、NAMEで識別されます。この属性はExecutionDescriptor内で一意である必要があります。

### Table

この要素は、UnionやJoinTablesなどの表操作に関与する可能性があるメトリックを示します。

    <!ELEMENT Table EMPTY>
    <!ATTLIST Table
    NAME CDATA #REQUIRED>

#### 属性:

NAME: メトリックの名前を指定します。

#### 要素:

Table

#### 使用場所:

ExecutionDescriptor

#### 例:

    <Table NAME="result" />

この例では、resultが表操作に関与する可能性があるメトリックとして示されています。

Unionの例を参照してください。

### JoinTables

この要素は、結合操作を示します。この要素は次のSQL文と同じです。

Select C1, C2 where . . .

    <!ELEMENT JoinTables (Table, Table+, (Column | ComputeColumn)*, Where*)>
    <!ATTLIST JoinTables
    NAME CDATA #REQUIRED
    OUTER (TRUE | FALSE) "FALSE"
    BOTH_SIDE (TRUE | FALSE) "FALSE">

#### 属性:

NAME: 結合の名前を指定します。

OUTER: TRUEの場合はOUTER結合を指定します。

TRUE | FALSE（デフォルト）

BOTH_SIDE: TRUEの場合はBOTH_SIDEを指定します。結果には、UNIONと同じ数の行が含まれます。

TRUE | FALSE（デフォルト）

#### 要素:

Table

Column

ComputeColumn

Where

#### 使用場所:

ExecutionDescriptor

#### 例:

JoinTablesには、少なくとも2つのTable要素、ColumnまたはComputeColumnのどちらかの0以上の要素、およびWhere要素の0以上の要素を含める必要があります。

    <JoinTables NAME="Load">
    <Table NAME="_LoadInternal"/>
    <Table NAME="DA_MaxAvServ"/>
    </JoinTables>

この例は、Loadを_LoadIntervalメトリックとDA_MaxAvServメトリックの結合として定義しています。

ExecutionDescriptorの例を参照してください。

### Where

    <!ELEMENT Where EMPTY>
    <!ATTLIST Where
    FROM_TABLE CDATA #REQUIRED
    FROM_KEY CDATA #REQUIRED
    OPERATOR (EQ | GT | GE | LE | LT | NE | CONTAINS | MATCH) "EQ"
    JOIN_TABLE CDATA #REQUIRED
    JOIN_KEY CDATA #REQUIRED>

#### 属性:

FROM_TABLE:

FROM_KEY:

OPERATOR: WHERE句の演算子を指定します。

サポートされている演算子は次のとおりです。

a) EQ（デフォルト）: 等しい

b) GT: より大きい

c) GE: 以上

d) LE: 以下

e) LT: より少ない

f) NE: 等しくない

g) CONTAINS: 含む

h) MATCH: 一致する

JOIN_TABLE:

JOIN_KEY:

#### 要素:

なし

#### 使用場所:

JoinTables

#### 例:

    <JoinTables NAME="all" OUTER="TRUE">
    <Table NAME="groupbyapps" />
    <Table NAME="groupbyappsejb" />
    <Column NAME="Application" TABLE_NAME="groupbyapps"/>
    <Column NAME="activeRequests" TABLE_NAME="groupbyapps"/>
    <Column NAME="responseTime" TABLE_NAME="groupbyapps"/>
    <Column NAME="activeMethods" TABLE_NAME="groupbyappsejb"/>
    <Column NAME="avgMethodExecTime" TABLE_NAME="groupbyappsejb"/>
    <Where FROM_TABLE="groupbyapps" JOIN_TABLE="groupbyappsejb"
    FROM_KEY="Application" JOIN_KEY="ApplicationName"/>
    </JoinTables>

### PushDescriptor

push descriptorは、メトリックのデータまたはイベント、もしくはその両方を提供し、各ターゲット用にそのrecvletに渡されるデータを指定するrecvletを識別します。ここでrecvletに使用する名前は、recvlets.regで使用されるrecvlet名と一致する必要があります。

    <!ELEMENT PushDescriptor (ValidIf*, Property*) >
    <!ATTLIST PushDescriptor
    RECVLET_ID CDATA #REQUIRED>

#### 属性:

RECVLET_ID: 使用するrecvletの（EMAgentで認識されている）IDを指定します。この属性は、$ORACLE_HOME/lib/recvlets.regファイルからの要素を指定する必要があります。

#### 要素:

ValidIf

Property

#### 使用場所:

Metric

#### 例:

PushDescriptorには、ValidIfおよびPropertyの0以上の要素を含めることができます。

    <Metric . . .>
    . . .
    <PushDescriptor RECVLET_ID="AQMetrics">
    <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property>
    <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property>
    <Property NAME="Port" SCOPE="INSTANCE">Port</Property>
    <Property NAME="SID" SCOPE="INSTANCE">SID</Property>
    <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property>
    <Property NAME="password" SCOPE="INSTANCE">password</Property>
    <Property NAME="Role" SCOPE="INSTANCE">Role</Property>
    <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property>
    <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property>
    <Property NAME="KeyColumn" SCOPE="GLOBAL">name</Property>
    </PushDescriptor>
    </Metric>

PushDescriptorに含まれるプロパティは、AQMetricsというrecvletに渡されます。このrecvletは、メトリックのデータまたはイベント、もしくはその両方を提供します。

## ターゲット収集

ターゲット収集は、中央リポジトリでの値のアップロード、または指定された条件に対する値のチェック、もしくはその両方の目的で、メトリックのバックグラウンド収集を駆動します。

このDDTに準拠するXMLファイルは、システムによって生成されます（サーブレット・フロントエンドまたはコレクタから生成可能です）。

EMAgentは、それぞれが特定のターゲットから収集する必要があるメトリックを含む、複数の収集ファイルを使用できます。

### TargetCollection

CollectionItem要素およびCollectionLevel要素を0以上含めることができます。CollectionLevel要素は、デフォルトの収集のみに適用されます。

    <!ELEMENT TargetCollection ( CollectionLevel*, CollectionItem* ) >
    <!ATTLIST TargetCollection
    TYPE CDATA #REQUIRED
    NAME CDATA #IMPLIED
    LEVEL CDATA #IMPLIED
    INCLUDE_DEFAULT (TRUE|FALSE) "TRUE">

#### 属性:

TYPE: ターゲット・タイプを指定します。

NAME: ターゲットの名前を指定します。これがトップレベルの要素の場合、NAMEをNULLにすることはできません。このファイルが含まれている場合はNULLにすることができます。この属性は、インスタンス固有の収集のみに適用されます。

LEVEL: 収集レベルを指定します。デフォルトは最小になります。この属性は、インスタンス固有の収集のみに適用されます。

INCLUDE_DEFAULT: TRUEに設定された場合、同じターゲット・タイプのデフォルトの収集が含まれます。この属性は、インスタンス固有の収集のみに適用されます。

TRUE（デフォルト）| FALSE

#### 要素:

CollectionLevel

CollectionItem

#### 使用場所:

TargetCollectionはトップレベルの要素です。

#### 例:

    <TargetCollection TYPE="preferred" >
    <CollectionItem NAME = "Load" UPLOAD_ON_FETCH="TRUE">
    <Schedule OFFSET_TYPE="INCREMENTAL">
    <IntervalSchedule INTERVAL = "15" TIME_UNIT = "Min"/>
    </Schedule>
    <MetricColl NAME = "NfsOperations">
    <Filter COLUMN_NAME="NfsCallsRate" OPERATOR="LE">100000</Filter>
    <Condition COLUMN_NAME="NfsServPercentBadCalls" CRITICAL="10" WARNING="5"
    OPERATOR="GT" OCCURRENCES="3" MESSAGE="NFS Bad Calls are %value%%%." MESSAGE_
    NLSID="netapp_filer_nfs_operations_nfs_per_bad_calls"/>
    </MetricColl>
    <MetricColl NAME = "CifsOperations">
    <Filter COLUMN_NAME="CifsCallsRate" OPERATOR="LE">100000</Filter>
    <Condition COLUMN_NAME="CifsPercentBadCalls" CRITICAL="10" WARNING="5"
    OPERATOR="GT" OCCURRENCES="3" MESSAGE="CIFS Bad Calls %value%%%." MESSAGE_
    NLSID="netapp_filer_cifs_operations_cifs_per_bad_calls"/>
    </MetricColl>
    <MetricColl NAME = "SystemLoad" />
    </CollectionItem>
    </TargetCollection>

この例は、推奨されるCollectionItemの宣言方法を示しています。独自のフィルタ条件およびCondition要素を定義して、1つの収集項目が複数のメトリックを指定しています。

    <TargetCollection TYPE="network" >
    <CollectionItem NAME = "Response">
    <Schedule>
    <IntervalSchedule INTERVAL = "300" TIME_UNIT = "Sec"/>
    </Schedule>
    <Condition COLUMN_NAME="Status"
    CRITICAL="ok"
    OPERATOR="NE"
    OCCURRENCES="3"
    MESSAGE="%target% adaptor is inaccesible or is connected."
    MESSAGE_NLSID="network_response_status"/>
    </CollectionItem>
    </TargetCollection>

この例は、networkターゲット・タイプのデフォルトの収集を示しています。メトリックはCollectionItemのNAME属性として指定されています。このようにCollectionItem内でメトリックNAMEを指定する方法は、下位互換性のみを目的としています。かわりにMetricCollの例を使用してください。

TargetCollectionには、オプションのCollectionLevel要素およびCollectionItem要素が含まれます。

    <TargetCollection TYPE="oracle_beacon" >

これは、TargetCollection要素の一般的な使用方法です。ここでは、oracle_beaconのTargetCollectionが示されています。

    <TargetCollection TYPE="oracle_csa_collector" NAME="CSA_collector">

NAME属性は、これがdefault_collectionsに含まれていない可能性があることを意味します。

### CollectionLevel

この要素は収集レベル・リストを表します。デフォルト収集のみに適用されます。順序はcontains（含む）の関係を意味します。

    <!ELEMENT CollectionLevel EMPTY>
    <!ATTLIST CollectionLevel
    NAME CDATA #REQUIRED>

#### 属性

NAME: 収集レベルの名前

#### 要素

なし

#### 使用場所

TargetCollection

#### 例

    <TargetCollection TYPE="example2">
    <CollectionLevel NAME="LEVEL1"/>
    <CollectionLevel NAME="LEVEL2"/>
    <CollectionLevel NAME="LEVEL3"/>
    . . .
    <MetricColl NAME="metric1">
    <ItemProperty NAME="prop1">foo</ItemProperty>
    <Condition COLUMN_NAME="value" CRITICAL="bar" OPERATOR="EQ"/>
    </MetricColl>
    </TargetCollection>

収集レベルの順序は、LEVEL1収集項目がLEVEL2に含まれ、LEVEL2およびLEVEL1の両方の項目がLEVEL3に含まれることを意味します。

この要素を使用してレベルを宣言すると、LEVEL属性によってこれらのレベルが参照されます。

### CollectionItem

CollectionItemは、1つ以上のメトリックの収集を定義します。スケジュールが使用されます。

    <!ELEMENT CollectionItem (ValidIf*, Schedule?, (MetricColl+ | (ItemProperty*, Filter*, LimitRows?, Condition*) ) )>
    <!ATTLIST CollectionItem
    NAME CDATA #REQUIRED
    LEVEL CDATA #IMPLIED
    UPLOAD CDATA "YES"
    UPLOAD_ON_FETCH (TRUE | FALSE) "FALSE"
    ATOMIC_UPLOAD (TRUE | FALSE) "FALSE"
    POSTLOAD_PROC CDATA #IMPLIED
    PRELOAD_PROC CDATA #IMPLIED
    CONFIG (TRUE | FALSE) "FALSE"
    CONFIG_METADATA_VERSION CDATA #IMPLIED
    TIMEOUT CDATA #IMPLIED
    COLLECT_WHEN_DOWN (TRUE | FALSE) "FALSE"
    COLLECT_WHEN_ALTSKIP (TRUE | FALSE) "FALSE"
    COMBINE_WITH_OTHER_COLLECTION (TRUE | FALSE) "TRUE"
    PROXY_TARGET_NAME CDATA #IMPLIED
    PROXY_TARGET_TYPE CDATA #IMPLIED
    PROXY_TARGET_TZ CDATA #IMPLIED
    PROXY_TARGET_TZ_REGION CDATA #IMPLIED
    INITIAL_UPLOADS CDATA #IMPLIED
    DISABLED (TRUE | FALSE) "FALSE"
    REQUIRED (TRUE | FALSE) "FALSE">

#### 属性

NAME: 収集の名前を指定します。

LEVEL: 収集レベル。

UPLOAD: この属性が指定されていない場合は、YESとみなされます。NUMBERは、CollectionItemがアップロードされる頻度を示します。（n回の収集ごとにアップロード）。

YES（デフォルト）| NO | NUMERIC

UPLOAD_ON_FETCH: UPLOAD_ON_FETCHとしてマークされた収集項目は、ATOMIC_UPLOADと同じ動作をしますが、唯一の相違点はアップロードがただちに発生することです。

TRUE | FALSE（デフォルト）

COLLECT_WHEN_DOWN: デフォルトの動作では、Responseメトリック（ターゲットに対して存在する場合）によってターゲットのステータスが停止中と示された場合に収集が停止します。Responseメトリック自体である場合は例外です。ただし、ターゲットの停止中に収集を行わないという動作は、この属性をTRUEに設定することで上書きできます。

TRUE | FALSE（デフォルト）

COLLECT_WHEN_ALTSKIP: デフォルトの動作では、AltSkipConditionが定義済でその条件に重大度が存在する場合に、メトリックの収集が停止します。この属性をTRUEに設定すると、このような場合でも収集が続行されます。ResponseのStatus条件の重大度を解消する方法は、COLLECT_WHEN_DOWN属性を使用する以外にありません。

TRUE | FALSE（デフォルト）

PROXY_TARGET_NAME: プロキシ収集のサポート用に使用され、ターゲット・データの名前およびアップロード対象の重大度を指定します。

PROXY_TARGET_TYPE: プロキシ収集のサポート用に使用され、タイプを指定します。

PROXY_TARGET_TZ_REGION: プロキシ収集のサポート用に使用され、タイムゾーン・リージョン文字列（たとえばUS/Pacific）を指定します。

PROXY_TARGET_TZ: プロキシ収集のサポート用に使用され、タイムゾーン（グリニッジ標準時（GMT）からの分数、たとえば-420）を指定します。

TIMEOUT: メトリック評価がいつまでに終了する必要があるかを示す時間。時間は秒単位で指定されます。評価がこの時間内に終わらない場合は、エージェントによってメトリック評価が中断され、TIMEOUT例外が戻されます。この属性が指定されていないか、値がゼロの場合は、収集ファイルに含まれるこのメトリック評価頻度の2倍がデフォルト値になります。タイムアウトが一切発生しないようにするには、0より小さい値を指定します。0より小さい値を指定すると、メトリックが完全に評価されるまで、エージェントが待機します。

POSTLOAD_PROC: UPLOAD_ON_FETCHの状況でのみ適用されます。この属性は、受信者がこの収集の内容を含むファイルを受信したときに起動する必要がある、オプションのPL/SQLプロシージャを指定します。

PRELOAD_PROC: UPLOAD_ON_FETCHの状況でのみ適用されます。この属性は、受信者がこの収集の内容を含むファイルを受信したときに起動する必要がある、オプションのPL/SQLプロシージャを指定します。

CONFIG: この属性は、CONFIGメトリックの収集にタグを付けるのに使用されます。これらは、EMフレームワークによって特別に処理されます。注意: CONFIGメトリックの収集項目では、ATOMIC_UPLOADをFALSEとして指定できません。TRUE | FALSE（デフォルト）

INITIAL_UPLOADS: デフォルト値は2ですが、UPLOADパラメータに基づいてアップロードをスキップする前にその他の初期アップロードを送る必要がある場合は、別の数値に設定できます。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

ATOMIC_UPLOAD: ATOMIC_UPLOADとしてマークされた収集項目は、通常のアップロード間隔（5分）でアップロードされる単一のファイルにバンドルされます。

TRUE | FALSE（デフォルト）

CONFIG_METADATA_VERSION: この属性は、CONFIGメトリックのバージョンを指定するのに使用されます。

COMBINE_WITH_OTHER_COLLECTION: 通常、エージェントは収集を結合して、時間間隔に基づいてスレッドで保存するために単一のスレッドで順次実行します。前のメトリック実行に時間がかかっている場合は、これによってメトリック実行に遅延が発生する可能性があります。ただし、一部のメトリックは時間どおりに実行する必要があります。このフラグをFALSEに設定すると、このメトリックが独自のスレッドで実行されます。

TRUE（デフォルト）| FALSE

DISABLED: TRUEに設定された場合、エージェントはこの収集項目を無視します。

REQUIRED: TRUEに設定された場合、コンソールはユーザーがこの項目を無効化することを許可しません。

#### 要素

ValidIf

Schedule

MetricColl

ItemProperty

Filter（TargetCollection用）

LimitRows

Condition

#### 使用場所

TargetCollection

#### 例

CollectionItemにはValidIf要素を含めることができます。CollectionItemが評価されるには、ValidIf要素がすべて満たされる必要があります。また、オプションのSchedule要素、およびMetricColl要素またはItemProperty、Filter、LimitRows、Conditionのいずれかの要素を含めることができます。

下位互換性のために、NAME属性を使用して単一のメトリックを指定でき、そのプロパティ、フィルタおよび条件を子要素として指定できます。

新しい優先DTDにはCollectionItem内に1つ以上のMetric要素があり、各Metric要素は収集対象メトリック、およびそれに関連付けるフィルタ、しきい値などを示します。

    <CollectionItem NAME="ProgramResourceUtilization">

この例は、この要素の最もわかりやすい形式を示しています。ProgramResourceUtilizationはCollectionItemの1つです。

    <CollectionItem NAME = "general_collection" UPLOAD="12" INITIAL_UPLOADS="4">

このサンプルのgeneral_collectionは、最初に4回（INITIAL_UPLOADSで示された数値）アップロードされ、その後は12回（UPLOAD属性で示された数値）に1回アップロードされます。

    <CollectionItem NAME = "Inventory" UPLOAD_ON_FETCH = "TRUE" TIMEOUT = "3600">

Inventory収集項目は、メトリックが収集されるときにアップロードされます。指定されたタイムアウトは1時間です。

    <CollectionItem NAME = "oracle_security" UPLOAD_ON_FETCH = "TRUE" CONFIG = "TRUE">

この例のoracle_securityはCONFIGメトリックの収集に関与するため、EMAgentに対してそのように示す必要があります。

    <CollectionItem NAME = "UserResourceUsage" UPLOAD="YES" UPLOAD_ON_FETCH="FALSE" COLLECT_WHEN_DOWN="FALSE">

UPLOAD属性にはYES、NOまたは数値を指定できます。UserResourceUsage収集は、レスポンス・メトリックによってターゲットが停止中であると示された場合でも試行されます。

PROXY_TARGET_TZ_REGIONは、PROXY_TARGET_TZのプロシージャを継承します（両方が指定されている場合）。

TargetCollectionの例を参照してください。

### MetricColl

MetricColl要素は、収集項目内で収集されるメトリックを参照します。

    <!ELEMENT MetricColl (ItemProperty*, Filter*, LimitRows?, Condition*)>
    <!ATTLIST MetricColl
    NAME CDATA #REQUIRED
    TRANSIENT (TRUE|FALSE) "FALSE"
    UPLOAD_IF_SEVERITY (WARNING|CRITICAL|CHANGE_ONLY) "CHANGE_ONLY">

#### 属性

NAME: 収集対象メトリックの名前です。Enterprise Managerバージョン10.2で導入された属性は次のとおりです。TRANSIENT: この属性がTRUEに設定された場合は、このメトリックのデータをアップロードまたは収集して、他のメトリックの評価に使用されたキャッシュをリフレッシュする必要があることを示します。UPLOAD_IF_SEVERITY: UPLOAD=NOおよびUPLOAD=N>1の場合のみ有効です。サポートされている値は次のとおりです。a) CHANGE_ONLY（デフォルト）: 重大度が変更されている場合のみデータをアップロードします。c) WARNING: 重大度が変更されており、WARNINGまたはCRITICALの条件がある場合に、データをアップロードします。d) CRITICAL: 重大度が変更されており、CRITICALの条件がある場合にデータをアップロードします。

#### 要素

ItemProperty

Filter

LimitRows

Condition

#### 使用場所

CollectionItem

#### 例

MetricCollには、オプションのItemProperty要素（単数または複数）、Filter要素（単数または複数）、オプションのLimitRows要素（単数）およびオプションのCondition要素（単数または複数）を含めることができます。

    <MetricColl NAME = "WebServicesService"/>

これは、MetricCollの一般的な使用方法です。WebServicesServiceメトリックはCollectionItemに関連付けられます。

TargetCollectionの例を参照してください。

### LimitRows

LimitRowsは、Upload Managerを介してリポジトリに送信される前の収集済データに適用できる、フィルタ処理のメカニズムです。これにより、アップロードされる行数が制限されます。

    <!ELEMENT LimitRows EMPTY>
    <!ATTLIST LimitRows
    COLUMN_NAME CDATA #IMPLIED
    SORT_ORDER (ASCEND|DESCEND|NO_ORDER) "NO_ORDER"
    LIMIT_TO CDATA #REQUIRED>

#### 属性

COLUMN_NAME:

SORT_ORDER:

サポートされている値は次のとおりです。

a) ASCEND:

b) DESCEND:

c) NO_ORDER（デフォルト）:

LIMIT_TO: 収集での行数の制限を指定します。

#### 要素

なし

#### 使用場所

CollectionItem

MetricColl

#### 例

    <LimitRows LIMIT_TO="16" />

この例では、収集結果が16行に制限されます。

### ItemProperty

この要素は、プロパティの名前/値ペアを示します。

    <!ELEMENT ItemProperty (#PCDATA)>
    <!ATTLIST ItemProperty
    NAME CDATA #REQUIRED
    ENCRYPTED (NA|FALSE|TRUE) "NA"
    >

#### 属性

NAME: 項目プロパティの名前

ENCRYPTED: プロパティ値が暗号化されるかどうかを示します。

属性に対して次の値が定義されます。

NA（デフォルト）: 暗号化を適用できません。値の暗号化はエージェントによって試行されません。

FALSE: 暗号化を適用できます。エージェントによって値の暗号化が試行されます。

TRUE: 暗号化を適用できます。エージェントによって値が暗号化されています。

#### 要素

文字データ

#### 使用場所

CollectionItem

MetricColl

#### 例

    <TargetCollection TYPE="example2">
    . . .
    <MetricColl NAME="metric1">
    <ItemProperty NAME="prop1">foo</ItemProperty>
    <Condition COLUMN_NAME="value" CRITICAL="bar" OPERATOR="EQ"/>
    </MetricColl>
    </TargetCollection>

ItemPropertyのprop1は、ターゲット・タイプexample2に対してTargetMetadataのmetric1のUSERスコープで定義されたprop1プロパティの値を計算するために使用されます。

### Filter（TargetCollection用）

Filterは、Upload Managerを介してリポジトリに送信される前の収集済データに適用できる、フィルタ処理のメカニズムです。フィルタ処理が適用されていない場合、fetchletを介して収集されたすべてのデータは、リポジトリに送信されます。その結果、リポジトリはいくつかのメトリックをアップロードするとすぐにいっぱいになります。この問題を改善するには、アップロード前のデータにフィルタ処理のメカニズムを適用します。フィルタ条件はcollection xmlで指定されます。

注意: TargetCollection用のFilter要素とTargetMetadata用のFilter要素は異なります。

    <!ELEMENT Filter (#PCDATA)>
    <!ATTLIST Filter
    COLUMN_NAME CDATA #REQUIRED
    OPERATOR (EQ|LT|GT|LE|GE|NE|CONTAINS|MATCH) "EQ"
    AFTER_SEVERITY_CHECKING (TRUE|FALSE) "FALSE" >

#### 属性

COLUMN_NAME: フィルタ処理を行うメトリックの列の名前。

OPERATOR: 演算子を指定します。

EQ（デフォルト）: 等しい

LT: より少ない

GT: より大きい

LE: 以下

GE: 以上

NE: 等しくない

CONTAINS: 含む

MATCH: 一致する

AFTER_SECURITY_CHECKING: TRUEの場合、フィルタは重大度チェックの後に適用されます。

TRUE | FALSE（デフォルト）

#### 要素

文字データ

#### 使用場所

CollectionItem

MetricColl

#### 例

    <Filter COLUMN_NAME="total_connections" OPERATOR="NE">0</Filter>

結果には、total_connectionsが0と等しくない行のみが含まれます。

### Condition

Condition要素は、重大度がいつトリガーされるかを定義します。

    <!ELEMENT Condition (CategoryValue*, KeyColumn*, FixitJob? )>
    <!ATTLIST Condition
    CRITICAL CDATA #IMPLIED
    WARNING CDATA #IMPLIED
    OPERATOR (EQ | LT | GT | LE | GE | NE | CONTAINS | MATCH ) "GT"
    OCCURRENCES CDATA "1"
    NO_CLEAR_ON_NULL (TRUE | FALSE) "FALSE"
    MESSAGE CDATA #IMPLIED
    MESSAGE_NLSID CDATA #IMPLIED
    COLUMN_NAME CDATA #REQUIRED
    PUSH (TRUE | FALSE) "FALSE"
    GENERATE_INIT_CLEAR (TRUE | FALSE) "FALSE"
    ALERT_CONTEXT CDATA #IMPLIED
    CLEAR_MESSAGE CDATA #IMPLIED
    CLEAR_MESSAGE_NLSID CDATA #IMPLIED>

これが表メトリックの場合、行および列の識別に使用する列およびキーが、メトリック列を使用して定義されます。

メトリック列に対してKEYONLY_THRESHOLDSをTRUEに設定した場合は、Condition要素にKeyColumn要素を含める必要があります。

#### 属性

CRITICAL: しきい値。このしきい値に対してNotDefinedという特別な値を指定すると、OPERATORで指定された演算は失敗します。

WARNING: しきい値。WARNINGにもNotDefinedを適用できます。

OPERATOR: 条件を評価するための演算子を指定します。

EQ: 等しい

LT: より少ない

GT（デフォルト）: より大きい

LE: 以下

GE: 以上

NE: 等しくない

CONTAINS: 含む

MATCH: 一致する

OCCURRENCES: デフォルト値は1です。

NO_CLEAR_ON_NULL: この属性は、メトリック列に対してNULL値が戻された場合に重大度のクリアを制御するために使用します。デフォルト値はFALSEです。FALSEの場合、NULL値によって前のアラート重大度がクリアされます。この属性にTRUE値を設定すると、NULL値は重大度の評価でスキップされ、重大度はクリアされません。

MESSAGE: この属性は、イベントが発生すると送信されるメッセージを生成するための、メッセージ・テンプレートです。このメッセージには次のプレースホルダを含めることができます。

a) %value%: メトリックの値（またはメトリックの列）

b) %target%: ターゲットの名前

c) %metric_id%: メトリックID

d) %column_name%: 値列およびキー列を含むことが可能な列の値になります。

e) %warning_threshold%: 条件の警告のしきい値

f) %critical_threshold%: 条件のクリティカルのしきい値

g) %num_of_occur%: 発生数

MESSAGE_NLSID: メッセージのリソース・バンドルの文字列IDを指定します。

COLUMN_NAME: 表メトリックでは、COLUMN_NAMEはチェック対象の列を定義します。KeyColumnを使用して行が識別されます。

PUSH: この属性は、プッシュベースのアラート用に作成された条件を、収集済データ全体で評価される条件と区別するために使用します。PUSH="TRUE"の条件はエージェントによって評価されません。

TRUE | FALSE（デフォルト）

GENERATE_INIT_CLEAR: この属性は、最初にクリアが生成されたときに重大度を生成しないというエージェントの動作を上書きするために使用できます。最初のクリアを生成する場合は、TRUEに設定します。

TRUE | FALSE（デフォルト）

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

ALERT_CONTEXT: この属性は、関連するアラート・コンテキストを渡すために使用します。この新しい属性には、セミコロン（;）区切りの列名のリストを含めることができます。

CLEAR_MESSAGE: アラートがクリアされた場合の異なるメッセージを指定します。この属性が含まれていない場合は、アラートのクリア時にMESSAGE属性が使用されます。

CLEAR_MESSAGE_NLSID: クリア・メッセージのNLSIDを指定します。存在しない場合は、アラートのクリア時にMESSAGE_NLSIDが使用されます。

#### 要素

CategoryValue（最初の導入はEnterprise Managerバージョン10.2）

KeyColumn

FixitJob

#### 使用場所

CollectionItem

MetricColl

#### 例

Condition要素には、オプションのCategoryValue要素（単数または複数）、KeyColumn要素（単数または複数）、およびオプションのFixitJob要素（単数）を含めることができます。

キー適用後の結果に複数の行が含まれている場合、生成されたイベント発生には、しきい値を超えた行ごとの内容/メッセージが含まれます。

正規表現にはMATCHが使用されます。

次に例を示します。

OPERATIOR="MATCH" CRITICAL=".*ORA.*ERR.*"

この文では、ORAとERRの両方を含むORA-ERR 345のような文字列が一致します。

たとえばCLASS=Fruits、CATEGORY=RedFruitsなどのCLASSおよびCATEGORYの2つの軸に沿ってConditionを分類するには、CategoryValueサブタグを使用します。条件の分類は、特に根本原因分析に役立ちます。

    <Condition COLUMN_NAME="alertSeverity"
    CRITICAL="NotDefined"
    WARNING="NotDefined"
    OPERATOR="LE"
    OCCURRENCES="1"
    MESSAGE="%alertConcatString%"
    NO_CLEAR_ON_NULL="TRUE"
    MESSAGE_NLSID="host_alertLog_alertSeverity_cond"/>
    <Condition COLUMN_NAME="State"
    CRITICAL="open"
    OPERATOR="EQ"
    MESSAGE="%Description%"
    ALERT_CONTEXT="In-contextLaunchURL"
    NO_CLEAR_ON_NULL="TRUE" />

これらは、Condition要素の例です。

    <TargetCollection TYPE="examplec1" >
    <CollectionItem NAME = "Response">
    <Schedule>
    <IntervalSchedule INTERVAL = "300" TIME_UNIT = "Sec"/>
    </Schedule>
    <Condition COLUMN_NAME="Status"
    CRITICAL="ok"
    OPERATOR="NE"
    OCCURRENCES="3"
    MESSAGE="%target% adaptor is inaccesible or is connected."
    MESSAGE_NLSID="network_response_status"/>
    </CollectionItem>
    </TargetCollection>

このサンプルは、Condition要素のコンテキストを示しています。

その他の例は、「TargetCollection」を参照してください。

### KeyColumn

KeyColumn要素は、表のキー列を指定するのに使用します。この要素は表の行を識別します。Metric列に対してKEYONLY_THRESHOLDS属性が設定されている場合は、Condition要素の中にこの要素が存在する必要があります。

    <!ELEMENT KeyColumn (#PCDATA)>
    <!ATTLIST KeyColumn
    COLUMN_NAME CDATA #REQUIRED
    OPERATOR (EQ | LIKE) "EQ">

#### 属性

COLUMN_NAME: キー列の名前を指定します。

Enterprise Managerバージョン10.2で導入された属性は次のとおりです。

OPERATOR:

サポートされている値は次のとおりです。

a) EQ（デフォルト）: 等しい

b) LIKE: 相似

#### 要素

文字データ

#### 使用場所

Condition

#### 例

    <Condition COLUMN_NAME="col3" WARNING="def" OPERATOR="CONTAINS">
    <KeyColumn COLUMN_NAME="col1">keyA</KeyColumn>
    </Condition>

### FixitJob

この要素は、アラートに応じて実行される処置を示します。

    <!ELEMENT FixitJob (Property*) >
    <!ATTLIST FixitJob
    TYPE CDATA #IMPLIED >

#### 属性

TYPE: ジョブのタイプを指定します。

#### 要素

Property

#### 使用場所

Condition

#### 例

    <TargetCollection TYPE="examplec1" >
    <CollectionItem NAME = "FixitExample" UPLOAD_ON_FETCH="TRUE">
    <Schedule>
    <IntervalSchedule INTERVAL="60" TIME_UNIT="Sec" />
    </Schedule>
    <MetricColl NAME="metric1"/>
    <Condition COLUMN_NAME="col2" CRITICAL="0" OPERATOR="GT" OCCURRENCES="1">
    <FixitJob TYPE="OSCommand">
    <Property NAME="prop_emdurl" SCOPE="SYSTEMGLOBAL">EMD_URL</Property>
    <Property NAME="prop_env" SCOPE="ENV">EMDROOT</Property>
    <Property NAME="prop_loc" SCOPE="INSTANCE">FILE_LOC</Property>
    <Property NAME="COMMAND" SCOPE="GLOBAL">rm %prop_loc %</Property>
    </FixitJob>
    </Condition>
    </CollectionItem>
    </TargetCollection>

この例は、条件に応じてファイルを削除する単純なFixitJobを示しています。COMMANDプロパティは、メトリックのcol2の値によって条件がトリガーされた場合に実行されるコマンドを指定します。