この章の内容は次のとおりです。
プラグイン開発者は、プラグイン定義プロセスにおいて、次の手順に従う必要があります。
プラグイン識別子(ID)を定義します。
詳細は、プラグインIDの定義に関する項を参照してください。
プラグイン・バージョンを定義します。
詳細は、プラグイン・バージョンの定義に関する項を参照してください。
次のように、プラグイン定義ファイルを作成します。
plugin.xmlファイルを作成します。
plugin.xmlファイルはプラグインを記述するメタデータを提供します。
詳細は、plugin.xmlファイルの作成に関する項を参照してください。
plugin_registry.xmlファイルを作成します。
plugin_registry.xmlファイルは、プラグインがデプロイされる管理エージェントで必要なメタデータを提供します。
詳細は、plugin_registry.xmlファイルの作成に関する項を参照してください。
プラグイン定義ファイルを次のプラグイン・ステージング・ディレクトリ(plugin_stage)にパッケージ化します。
plugin_stage
/plugin.xml
plugin_stage
/agent/plugin_registry.xml
詳細は、第14章「プラグインの検証、パッケージ化およびデプロイ」を参照してください。
プラグイン定義ファイルを検証します。
詳細は、プラグイン定義ファイルの検証に関する項を参照してください。
基本プラグインでは、プラグイン自体のためのメタデータが必要です。これには、Oracle Management Serviceと管理エージェントで使用される名前とバージョンなどの情報、監視対象のターゲットが稼働しているかを示すメトリックの定義、およびメトリック・データを収集する頻度の定義などが含まれています。
プラグインは、一意のプラグイン識別子(ID)で識別されます。プラグインIDは、次の3つの部分から構成されています。
ベンダーID (8文字)。例: test
注意:
|
前述の例で作成したプラグインIDは、次のとおりです。
test.switch.xkey
注意: プラグインIDは、Enterprise Manager全体で一意である必要があります。 |
各プラグインにバージョンを割り当てる必要があります。プラグインのバージョニングの構成は、次のとおりです。
a.b.c.d.e
a.b.c
: 開発に使用するEnterprise Manager拡張開発キット(EDK)のバージョン(12.1.0、12.2.0など)。
d
: 開発者が割り当てるプラグインのバージョン。この値は、同じEnterprise Manager Cloud Controlのリリースで、プラグインがリリースされるたびに加算されます。
e
: 予備。デフォルト値は0です。
全部組み合せると、Enterprise Manager Cloud Control 12cで最初に作成されるプラグインのバージョンを次の例に示します。
12.1.0.1.0
注意:
|
plugin.xmlファイルはプラグインを記述するメタデータを提供します。
次の項では、plugin.xmlに含めることができる、必須のタグおよび一部のオプションのタグについて説明します。
例2-1に、プラグイン用のサンプルのplugin.xmlを示します。
例2-1 サンプルplugin.xml
<?xml version = '1.0' encoding = 'UTF-8'?>
<Plugin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.oracle.com/EnterpriseGridControl/plugin_
metadata plugin_metadata.xsd"
xmlns="http://www.oracle.com/EnterpriseGridControl/plugin_metadata">
<PluginId vendorId="test" productId="demo" pluginTag="xkey"/>
<PluginVersion value="12.1.0.1.0"/>
<ShortDescription>Test plugin for the Test Demo Plug-in.</ShortDescription>
<Readme><![CDATA[Brief details about the Test Demo plug-in]]></Readme>
<!--
<AgentSideCompatibility>
<Version>Previous_Version
</Version>
</AgentSideCompatibility>
-->
<TargetTypeList>
<TargetType name="test_demo_xkey" isIncluded="TRUE">
<VersionSupport>
<SupportedVersion supportLevel="Basic" minVersion="9.2.0.1"
maxVersion="9.8.0.0.0"/>
</VersionSupport>
</TargetType>
</TargetTypeList>
<PluginDependencies>
<DependentPlugin pluginDependencyType="RunTime">
<DepPluginId vendorId="test" productId="switch" pluginTag="xyz1"/>
<BaseVersion version="11.2.0.1.0"/>
</DependentPlugin>
<DependentPlugin pluginDependencyType="RunTime">
<DepPluginId vendorId="test" productId="switch" pluginTag="xyz2"/>
<BaseVersion version="11.2.0.1.0"></BaseVersion>
</DependentPlugin> </PluginDependencies>
<PluginAttributes Type="MP" Category="Databases"/>
</Plugin>
表2-1に、plugin.xmlファイルに含まれるキー要素を示します。
表2-1 plugin.xmlファイル内のキー要素
要素 | 必須 | 説明 |
---|---|---|
Y |
ファイルのルート要素。 |
|
Y |
プラグインに割り当てられている一意の識別子。 詳細は、プラグインIDの定義に関する項を参照してください。 |
|
Y |
プラグイン・バージョン。 詳細は、プラグイン・バージョンの定義に関する項を参照してください。 |
|
N |
プラグインがデプロイされるOracle Management Serviceのオペレーティング・システム(OS)ID。通常、この要素は2000 (一般)に設定されています。 詳細は、プラグインの動作保証に関する項を参照してください。 |
|
|
Y |
Cloud Controlコンソールのプラグイン・ページに表示されるプラグインの情報を示します。 プラグイン・ページにアクセスするには、「設定」メニューから、「拡張性」、「自己更新」、「プラグイン」の順に選択します。 |
N |
プラグイン・タイプ、表示名、カテゴリなどのプラグインの属性を定義します。 メタデータ・プラグインのデフォルトのプラグイン・タイプは、MPです。デフォルトのカテゴリは、Othersです。 有効なタイプの値は次のとおりです。
有効なカテゴリの値は次のとおりです。
|
|
N |
プラグインにパッケージ化されているターゲット・タイプ名をそれぞれ指定する1つ以上の ターゲット・タイプのメタデータ・ファイルの詳細は、「ターゲット・タイプ・メタデータ・ファイルの作成」を参照してください。 各 |
|
N |
プラグインに存在する依存性を記述します。依存性は次のように記述されます。
|
|
N |
現在のプラグインと互換性がある以前のプラグイン・バージョンを識別します。 この要素を指定することによって、管理エージェント側の以前のプラグイン・メタデータがOMS側のプラグイン・メタデータの新しいバージョンと互換性があることを明示的に示します。つまり、以前のプラグインをアップグレードした後、メトリック、しきい値、構成収集などの機能を中断せずにデータをOMSの新しいバージョンにアップロードできます。 プラグインの新しいバージョンと互換性がないプラグインの以前のバージョンがある場合、この要素を使用して互換性があるバージョンのみをリストできます。たとえば、バージョン12.1.0.1.0が12.1.0.4.0 (新しいプラグイン・バージョン)と互換性がない場合、12.1.0.2.0および12.1.0.3.0をリストして12.1.0.2.0および12.1.0.3.0プラグインのみが新しい12.1.0.4プラグインと互換性があることを示すことができます。 |
注意: すべてのメタデータ・プラグインはOMS側で汎用である必要があります。また、すべてのプラットフォームで暗黙的に動作保証されています。ただし、プラグインでは管理エージェントでOSの動作保証を指定できます。 |
Enterprise Managerは多数のOSプラットフォームでリリースされるため、それぞれのOSプラットフォームでのプラグインの動作方法を考慮する必要があります。plugin.xmlファイルには、動作保証メカニズムをサポートする要素と属性が含まれています。
プラグインがOSプラットフォームのサブセットにのみ該当する場合は、表2-2で定義されているタグを使用できます。<Certification>
セクションに何の情報も指定しない場合、プラグインはすべてのプラットフォームで動作保証されているとみなされます。
表2-2 動作保証のタグ
タグ | 説明 |
---|---|
|
プラグイン・コンポーネントを指定します。 有効な値は次のとおりです。
|
|
OSまたはプラットフォームのARU IDを指定します。 有効な値は次のとおりです。
|
例2-2に、プラグインはLinux 32およびLinux 64プラットフォームでのみ動作するように設計されていることを示します。動作保証されたポートを指定しない場合、プラグインはデフォルトですべてのオペレーティング・システムとプラットフォームで動作保証されています。ただし、少なくとも1つのPortARUId
要素を指定した場合、そのコンポーネントは指定したプラットフォームでのみ動作保証されています。
注意: 管理エージェントと検出コンポーネントは、同じ値を持つ必要があります。 |
例2-2 汎用プラグインの動作保証
<Certification> <Component type="Agent"> <CertifiedPorts> <PortARUId value="46" /> <PortARUId value="226" /> </CertifiedPorts> </Component> <Component type="Discovery"> <CertifiedPorts> <PortARUId value="46" /> <PortARUId value="226" /> </CertifiedPorts> </Component> </Certification>
plugin_registry.xmlファイルは、プラグインがデプロイされる管理エージェントで必要なメタデータを提供します。これはプラグイン・アーカイブ内の/agentディレクトリにパッケージ化され、ターゲットを監視する管理エージェントにデプロイされます。
例2-3は、plugin_registry.xmlファイルのサンプルを示しています。TargetTypes
要素には、プラグイン・アーカイブ内のターゲット・タイプのメタデータ・ファイルの場所への参照が含まれています。場所は、管理エージェントのサブディレクトリから始まる、plugin_stageディレクトリ・ルートに対する相対ディレクトリ、またはplugin_registry.xmlファイルが存在する場所です。
同様に、TargetCollections
要素には、プラグインのデフォルト収集メタデータ・ファイルへの参照が含まれています。これも、プラグインにパッケージ化されています。
例2-3 plugin_registry.xmlファイルのサンプル
<?xml version="1.0"?> <PlugIn ID="test.demo.xkey" Description="Demo Sample Host Plugin" Version="12.1.0.1.0" HotPluggable="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/EnterpriseGridControl/plugin plugin.xsd"> <TargetTypes> <FileLocation>metadata/test_switch_key.xml</FileLocation> </TargetTypes> <TargetCollections> <FileLocation>default_collection/test_switch_key_collection.xml</FileLocation> </TargetCollections> <PlugInLibrary> <FileLocation>archives/em-as-fmw-fetchlet.jar</FileLocation> <FetchletRegistration> <Fetchlet ID="DMS" ExecutionClass="oracle.sysman.as.fetchlets.DMSFetchlet" Version="" Description="" Adapter=""/> </FetchletRegistration> <AdditionalClassPath> <FileLocation>archives/dms.jar</FileLocation> </AdditionalClassPath> </PlugInLibrary> </PlugIn>
表2-3に、ファイル内に含まれているキー要素を示します。
表2-3 plugin_registry.xmlファイル内のキー要素
要素 | 必須 | 説明 |
---|---|---|
Y |
ファイルのルート要素。次の属性があります。
|
|
N |
1つ以上の ターゲット・タイプのファイルの詳細は、ターゲット・タイプのメタデータ・ファイルの作成に関する項を参照してください。 |
|
N |
1つ以上の このファイルの詳細は、「デフォルトの収集ファイルの作成」を参照してください。 |
|
N |
プラグインにパッケージ化されている様々なタイプのアーティファクト(fetchlet、receiveletなど)をリストします。
|
|
|
N |
すべてのプラグイン・ライブラリによって共有されるプラグインによってロードされるように追加のJARファイルを指定します。 |
plugin.xmlおよびplugin_registry.xmlファイルが正しく定義されていることを確認するには、EDKの/binディレクトリから次のコマンドを入力します。
empdk validate_plugin -stage_dir plugin_stage
前述のコマンドのplugin_stageは、プラグインのステージング・ディレクトリを示します。
EDKの詳細は、第1.2項「拡張開発キット(EDK)」を参照し、empdk
コマンドおよびその使用方法の詳細は、第14.3項「プラグインの検証」を参照してください。
Enterprise Manager Cloud Controlリリース2 (12.1.0.3)から、デプロイされたプラグイン用のログ・ファイルをCloud Controlのログ・ビューアで表示できます。このコンポーネントにアクセスするには、Cloud Controlの「エンタープライズ」メニューから「モニタリング」を選択し、「ログ」を選択します。
次の手順に従って、この機能を有効にします。
プラグイン用のログ・ビューア登録XMLファイルを作成します。このXMLファイルのDTDは次のとおりです。
oracle/sysman/emSDK/logmgmt/registration/LogMgmtTargetTypeRegistration.xsd
このファイルをプラグイン・ディレクトリ構造内のoms/metadata/logmgmt/にパッケージ化します。
例2-4に、ログ・ビューア登録ファイルの例を示します。
プラグインの開発中に、プラグインの後続のバージョンを計画する場合、プラグインをアップグレードできる、つまり古いバージョンのプラグインを削除せずに新しいバージョンをデプロイできることを確認する必要があります。
プラグインをアップグレードできることを確認するには、次の手順を実行します。
新しいplug-in.xmlファイルで、互換性のある以前のバージョンのプラグインを明示的に指定して、AgentSideCompatibility
タグを含めます。
AgentSideCompatibility
タグの詳細は、表2-1を参照してください。
注意:
|
AgentSideCompatibility
要素に以前のプラグインのバージョンを指定する場合、プラグイン・ステージング・ディレクトリにこれらのプラグイン・バージョンのOPARをバンドルする必要があります。
プラグイン・ステージング・ディレクトリ(plugin_stage)で、released_pluginsディレクトリを作成し、このディレクトリに以前にリリースされたプラグインのOPARアーカイブ(たとえば、12.1.0.2.0_test.demo.xkey_2000_0.opar)を配置します。
プラグイン・ステージング・ディレクトリの詳細は、第14.2項「プラグインのステージング」を参照してください。
プラグインの以前のすべてのバージョンのアップグレード・テストを実行して、次のようにすべての機能が正しく動作していることを確認します。
メトリック収集の検証
構成収集の検証
アップグレードのためにメトリック収集エラーがないことの確認
更新されたメトリックしきい値およびテンプレートが予期したとおりに選択されていることの確認
更新されたジョブ・メタデータが予期したとおりに選択されていることの確認