14 プラグインの検証、パッケージ化およびデプロイ
この章の構成は、次のとおりです。
プラグインのステージング
プラグイン・ファイルを作成したら、次のステップとしてプラグインをステージングし、検証およびパッケージ化の準備をします。ステージング・ディレクトリの構造は、ファイルがOracle Management Serviceおよび管理エージェントにデプロイされる際のファイルの場所を定義します。
次の例はステージング・ディレクトリ構造の例を示し、表14-1はアーカイブ・ディレクトリ構造について説明しています。ファイルは、Oracle Management Service、管理エージェントまたは両方にデプロイされるのかに応じてアーカイブに配置されます。プラグインがOMSインスタンスまたは管理エージェントにデプロイされると、必要なファイルがそれぞれのディレクトリの場所にコピーされます。
例: プラグインのディレクトリ構造
plugin_stage
/
|
plugin.xml
agent/
|
plugin_registry.xml
default_collection/
|
target_type
.xml
metadata/
|
target_type
.xml
scripts/
|
scripts
oms/
|
metadata/
|
default_collection/
|
target_type
.xml
derivedAssoc/
|
derivedAssoc_rule
.xml
discovery/
|
discovery
.xml
gccompliance/
|
ComplianceContent_name
.xml
jobTypes/
|
job_type
.xml
mpcui/
|
mpcui
.xml
reports/
|
report
.xml
snapshotlive/
|
target-type
_ecmdef.xml
targetType/
|
target_type
.xml
discovery/
|
discovery scripts
ノート:
アーカイブ内で指定されているサブディレクトリ名の使用は必須ではありませんが、この名前の使用をお薦めします。
表14-1 プラグイン・アーカイブ構造におけるファイルの場所
ファイル | ディレクトリ | 注意 |
---|---|---|
|
|
必須。このファイルは、Oracle Management Serviceにデプロイされる汎用的なプラグイン・メタデータを定義します。アーカイブ構造内のルート・レベルに配置します。詳細は、「plugin.xmlファイルの作成」を参照してください。 |
|
|
必須。このファイルは、管理エージェントによって使用されるプラグインを記述するメタデータを定義します。 |
|
必須。このファイルは、ターゲット・タイプについて収集または計算するメトリックを定義します。 このファイルの同一のコピーを |
|
|
必須。このファイルは、メトリック・データ収集頻度やデフォルトのメトリック・アラートしきい値などのメトリック収集パラメータを定義します。 このファイルの同一のコピーを 注意: デフォルト収集メタデータ・ファイルには、ターゲット・タイプのメタデータ・ファイルと同じファイル名を指定することをお薦めします。 |
|
|
オプション。構成データ収集を定義します。詳細は、「構成収集表の定義」を参照してください。 |
|
|
オプション。すべてのジョブ・タイプ定義ファイルを |
|
|
オプション。レポート定義ファイルを |
|
|
オプション。アソシエーションの導出ルール(またはルール・セット)を定義するメタデータ・ファイルをこのディレクトリに配置します。詳細は、「導出されたアソシエーションの使用」を参照してください。 |
|
|
オプション。ComplianceContent_name.xmlには、コンプライアンスの標準、ルールおよびフレームワークへの参照が含まれます。このディレクトリには、コンプライアンス・ルール、コンプライアンス標準およびコンプライアンス・フレームワークXMLファイルを含められます。詳細は、「コンプライアンスXMLのパッケージ」を参照してください。 |
|
|
オプション。コンプライアンスのルールまたは標準定義に関連付けられたすべてのデータ・ロード形式(DLF)マップ・エントリ・ファイルをこのディレクトリに配置します。 |
|
|
オプション。すべての管理ユーザー・インタフェースのメタデータ・ファイルをこのディレクトリに配置します。詳細は、「管理ユーザー・インタフェースの定義」を参照してください。 |
|
|
オプション。検出メタデータ・ファイルをこの場所に配置します。詳細は、「検出XMLおよび検出コンテンツのパッケージ化」を参照してください。 |
|
検出スクリプト・ファイル |
|
オプション。自動検出を実行するために必要なPerlスクリプトおよびJARファイル(存在する場合)を、この場所に配置します。詳細は、「検出XMLおよび検出コンテンツのパッケージ化」を参照してください。 |
スクリプト・ファイル |
|
オプション。fetchletによって起動されるメトリック収集スクリプトなど、管理エージェントにデプロイされるスクリプトをこの場所に配置します。
|
プラグインの検証
プラグインの検証は、開発サイクル全体を通して行い、パッケージ化する前にも行います。プラグインを設計し開発したら、empdk validate_plugin
コマンドを使用してプラグインのコンテンツを検証し、XMLメタデータ・ファイルが標準に準拠していることを確認します。ツールは、指定されたプラグインのステージング・ディレクトリに対して実行され、検出された違反についてレポートを生成します。-format
オプションを使用して生成されたレポートの形式を指定します。
次の例では、コマンドの使用方法を示します。
例: empdk validate_pluginコマンドの使用方法
empdk validate_plugin -stage_dirstaging directory
[-tmp_dirtemporary working location
] [-out_diroutput directory
] [-format (html|text|xml)] [-conn_desc] - not used by external developers [-repos_userEnterprise Manager repository owner
] [-debug [file to output debug information to
]]
次の例は、指定されたステージング・ディレクトリにあるプラグイン・ソース・ファイルを検証し、検証レポートを現在の作業ディレクトリにテキスト・ファイルとして生成します。
edk
\bin>empdk validate_plugin -stage_dir C:\plugin_staging -format text
表14-2は、プラグインの検証に使用できるオプションを示しています。
表14-2 プラグインの検証オプション
オプション | 説明 |
---|---|
|
プラグイン・ファイルの抽出先となる一時的な場所を指定します。指定しない場合は、デフォルトで現在のディレクトリが使用されます。 |
|
検証レポート・ファイルの生成先となるディレクトリ。指定しない場合、レポート・ファイルは現在の作業ディレクトリに生成されます。 |
|
デバッグ情報を格納するファイルの名前を指定します。指定しない場合、デフォルト・ログ・ファイル(validateplugin.logtime)がoutディレクトリに作成され、警告およびエラー・メッセージのみを格納します。指定した場合、すべてのデバッグ情報がそのログ・ファイルに格納されます。 |
|
検証レポートの生成に使用される形式。指定しない場合、レポートは、テキスト・ファイルとして生成されます。 |
プラグイン・アーカイブの作成
プラグインのステージング・ディレクトリを作成しプラグインを検証したら、次のステップとして、Oracleプラグイン・アーカイブ(OPAR)ファイルを作成します。OPARファイルは、プラグインのライフサイクルの様々な段階で重要な役割を果たします。次のように使用されます。
-
プラグイン・アーカイブは、Enterprise Manager Cloud Controlの様々なインストールにプラグインをインポートしデプロイするための、プラグインの標準的な配布方法です。
-
開発中のプラグインをEnterprise Manager Cloud Controlインストールでテストする必要があります。
プラグインは、前述したファイルをEnterprise Manager拡張開発キット(EDK)を使用してOPARに追加することで作成します。EDKの詳細は、『Oracle Enterprise Manager Cloud Control拡張プログラマーズ・ガイド』を参照してください。
OPARコマンドを作成するには、コマンド・プロンプトでempdk create_plugin
コマンドを入力します。create_plugin
動詞の詳細は、コマンドライン・ヘルプを参照してください
empdk create_plugin
コマンドの構文は次のとおりです。
empdk create_plugin -stage_dirstaging dir
-conn_descrepository_connection_string
-repos_userusername
[-repos_passwordrepos_password
] -out_diroutput_directory
[-debug] [-force]
次に例を示します。
edk
\bin>empdk create_plugin -stage_dir C:\pluginstagdir -conn_desc myhost.us.example.com:25055:$ORACLE_SID -repos_user sysman -out_dir /tmp/plugins
表14-3は、OPARの作成に使用できるオプションを示しています。
表14-3 OPARの作成オプション
オプション | 説明 |
---|---|
|
このオプションにより、コマンドの実行中に一時ディレクトリが作成されます。オプションの後に値を指定して、これに使用するパスを指定できます。既存のディレクトリを指定する必要があり、それ以外はエラーが返されます。指定しない場合、outディレクトリが一時的な場所に使用されます。outディレクトリが指定されていない場合、現在のディレクトリがデフォルトとなります。 |
|
プラグイン・アーカイブ(*.opar)・ファイルが作成されるディレクトリ。指定しない場合、プラグイン・アーカイブは現在のディレクトリに作成されます。 |
|
デバッグ情報を格納するファイルの名前を指定します。指定しない場合、デフォルト・ログ・ファイル(createplugin.logtime)がoutディレクトリに作成され、警告およびエラー・メッセージのみを格納します。指定した場合、すべてのデバッグ情報がそのログ・ファイルに格納されます。このデバッグ情報は、プラグインの作成中に発生する可能性のある問題の特定に使用できます。プラグインの作成に関連する問題についてサポート・リクエストを報告する際に、作成されたログを追加できます。 |
|
outディレクトリに、同じ名前のOPARが含まれている場合、既存のOPARを上書きするかどうかを指定するプロンプトが表示されます。このオプションを指定した場合、既存のOPARは自動的に上書きされます。デフォルトでは、出力が無効化されます。 |
|
プラグインがEnterprise Managerにインポートされるときにプラグイン・メタデータが書き込まれる管理リポジトリに接続する接続記述子。 構文: 次に例を示します。 myhost.us.example.com:25055:$ORACLE_SID |
|
管理リポジトリに接続されるユーザー。 |
コマンドの実行が成功すると、plugin_version.plugin_id.oparアーカイブがこのコマンドを実行したディレクトリに作成されます。
コマンドが失敗すると、対応するエラー・メッセージが表示されます。コマンドに渡されるパラメータは、ユーザーごと、およびプラグインが作成されるシステムごとに異なります。
プラグイン・アーカイブを作成する際の一般的なミスの例を次に示します。
-
ステージング・ディレクトリへのパスを誤って入力した場合、ファイルが見つからない、または入力が見つからないという例外が発生します。
-
現在のディレクトリを、展開されたEDKディレクトリに変更していない場合、empdkコマンドが見つからないという例外が表示されます。
-
OPARを作成しようとしているディスクのメモリーが不十分な場合、入力/出力関連の例外が発生することがあります。
Enterprise Managerへのプラグイン・アーカイブのインポートおよびデプロイ
ユーザーの*.oparファイルでプラグイン・アーカイブを準備したら、プラグインをEnterprise Managerにインポートする必要があります。インポートすると、作成しパッケージ化したプラグインの内容がEnterprise Managerで使用できるようになります。
ノート:
プラグインをEnterprise Managerにデプロイするには、まずプラグインをインポートする必要があります。
プラグインをインポートするための前提条件
プラグインをインポートする前に、次の前提条件を満たす必要があります。
ソフトウェア・ライブラリの設定
- Enterprise Managerがインストールされているシステムにフォルダを作成します。たとえば、/net/hostname/scratch/aime/swlib1のようになります。
- コンソールから、「Enterprise」、「プロビジョニングとパッチ適用」、「ソフトウェア・ライブラリ」の順に選択します。
- 「アクション」、「管理」の順に選択します。
- 「追加」をクリックします。
- ポップ・アップ・ウィンドウで、名前および場所を入力します。たとえば、
swlib1
および/net/
hostname
/scratch/aime/swlib1
などです。これはステップ1で作成したフォルダにする必要があります。 - 処理が終了するまで待ちます。
EM CLIユーティリティの設定
Enterprise Managerへのデプロイ用のプラグイン・アーカイブをインポートするには、Enterprise Managerコマンドライン・ユーティリティ、つまりEM CLIを使用します。
-
Cloud ControlコンソールにEM CLIの設定手順を示すページが表示されます。次のURLのページにアクセスします。
https://
em_host
:em_port
/em/console/emcli/download次に例を示します。
https://emserver.test.com:7799/em/console/emcli/download
-
EM CLIを設定した後、EM CLIクライアントとOracle Management Service (OMS)を同期化します。
emcli sync
同期化した後、このOMSで使用可能なすべての動詞および関連付けられたコマンドライン・ヘルプが、EM CLIクライアントで使用可能になります。
プラグイン・アーカイブのインポート
パッケージ化した後、emcli import_update
コマンドを使用して、プラグインをEnterprise Manager Cloud Controlにインポートする必要があります。EM CLIがインストールされている場所に応じて、2つのオプションがあります。
-
EM CLIがプラグイン・アーカイブ(*.oparファイル)を作成したシステムと同じシステム上にある場合は、次のコマンドを実行します。
emcli import_update -file="<path to *.opar file you created>" -omslocal
-omslocal
フラグは、プラグイン・アーカイブがこのコマンドを実行しているシステムと同じシステム上にあり、パスがこのシステム上に存在することを示しています。次に例を示します。
emcli import_update -file=/tmp/sample_plugin.opar -omslocal
-
プラグイン・アーカイブ(*.oparファイル)を作成したシステムと異なるシステム上でEM CLIを実行している場合は、次のコマンドを実行します。
emcli import_update -file="
path to the .opar file
" -host="host name of plug-in host
" -credential_name="credential for plug-in host
" -credential_owner="credential owner on the plug-in host
"詳細は次のとおりです。
-
-file
: アーカイブを作成したシステム上の*.oparファイルへの絶対パス。 -
-host
: ファイルが使用可能なホスト・ターゲットのホスト名。 -
-credential_name
: 接続先のリモート・システムにある資格証明の名前。 -
-credential_owner
: 接続先のホスト・システムにある資格証明の所有者。
次に例を示します。
emcli import_update -file=/tmp/sample_plugin.opar -host="host1.test.com" -credential_name="myOracleCred" -credential_owner="password"
-
-
前述のステップの代替方法として、次のコマンドを実行することもできます。
emcli import_update -file="
path to *.opar file you created
" -host="hostname" -credential_set_name="setname"-credential_set_name
: ホスト・ターゲットに対する管理リポジトリに格納されている優先資格証明のセット名。次のいずれかになります。-
HostCredsNormal
: デフォルトの権限のない資格証明セット。 -
HostCredsPriv
: 権限付きの資格証明セット。
-
Oracle Management Service (OMS)へのプラグインのデプロイ
プラグインをターゲットの監視に使用できるようにするには、最初にプラグインをOracle Management Service (OMS)にデプロイする必要があります。Enterprise Manager Cloud Controlでプラグインをデプロイするには、次のステップを実行します。
ノート:
管理エージェントにデプロイする前に、Oracle Management Serviceにプラグインをデプロイする必要があります。
特定のターゲット・タイプ用のプラグインは、それらのターゲット・タイプを監視する管理エージェントに自動的にデプロイされます。詳細は、「ターゲット・インスタンスの追加」を参照してください。
Oracle Management Serverにプラグインをデプロイするには:
プラグインのデプロイに関する重要事項
-
同じプラグインの複数のバージョンをインポートできます。デプロイするバージョンは、プラグインのデプロイにCloud Controlを使用する場合はリストから選択でき、EM CLIを使用する場合はコマンドラインで指定できます。
-
どの場合でも、Oracle Management Service (OMS)にデプロイできるのは1つのバージョンのみです。より最新のバージョンがすでにデプロイされている場合、以前のバージョンにダウングレードすることはできません。
-
プラグインを新規バージョンに更新しても、インポートされている以前のプラグインの内容は削除されません。
-
管理エージェントは、OMSにデプロイされているプラグインと同じバージョンまたは以前のバージョンを保有できます。OMS上のバージョンよりも後のバージョンは、管理エージェント・ホストで使用できません。
-
OMS上および管理エージェント上のプラグインは、OMS上のバージョンが最新バージョンである限り、それぞれ個別に更新できます。
-
使用可能な更新はプラグイン・ページに表示されます。これらは、Enterprise Managerストアからダウンロードするか、「プラグイン・アーカイブのインポート」で説明しているように、EM CLIを使用してインポートできます。
ターゲット・インスタンスの追加
プラグインがOMSにデプロイされると、ターゲット・インスタンスを監視する準備が完了します。
ノート:
現在のCloud Controlリリースでは、ターゲットを監視する管理エージェントへのプラグインのデプロイはもう必要ありません。かわりに、特定のターゲット・タイプに対するプラグインが、そのタイプのターゲットを監視する管理エージェントとともに自動的にデプロイされます。
これは、前のリリースから大きく変更された点であり、以前は、まずプラグインを管理エージェントに手動でデプロイする必要がありました。次に、ターゲット・インスタンスを管理エージェントに手動で追加する必要がありました。
プラグインがEnterprise Manager Cloud Controlから監視するターゲットを追加するには、「設定」メニューから「ターゲットの追加」を選択します。ターゲットを追加するプロセス、すなわちCloud Controlの用語におけるターゲット昇格は、選択するオプションによって異なります。
EM CLIユーティリティを使用して、ターゲット・インスタンスを追加することもできます。コマンド・プロンプトを開き、次のコマンドを実行します。
emcli add_target
-name="name"
-type="type"
-host="hostname"
[-properties="pname1:pval1;pname2:pval2;..."]...
[-separator=properties="sep_string"]
[-subseparator=properties="subsep_string"]
[-credentials="userpropname:username;pwdpropname:password;..."]
[-input_file="parameter_tag:file_path"]
[-display_name="display name"]
[-groups="groupname1:grouptype1;groupname2:grouptype2;..."]...
[-timezone_region="gmt offset"]
[-monitor_mode="monitor mode"]
[-instances="rac database instance target name1:target type1;..."
]
次に例を示します。
emcli add_target
-name="cluster_database"
-type="rac_database"
-host="myhost.us.example.com"
-monitor_mode="1"
-properties="ServiceName:service.us.example.com;ClusterName:newdb_cluster"
-instances="database_inst1:oracle_database;database_inst2:oracle_database"
emcli help add_target
ヘルプ・コマンドを使用すると、ターゲット・インスタンスを追加する際のその他のオプションを表示できます。
ターゲットが以前に追加されている場合、それらは、プラグインがデプロイされた後にそのプラグインによって昇格および監視されます。
メタデータ登録サービス(MRS)を使用したデプロイ済メタデータ・ファイルの更新
プラグイン開発プロセスの一環として、プラグインをアーカイブとしてパッケージ化し、Enterprise Manager Cloud Controlインストールにデプロイしてテストします。ただし、様々なメタデータ・ファイルに変更を加えるたびに、プラグインを再デプロイすることは避けたいのが一般的です。
ノート:
メタデータ・ファイルを更新するたびに、メタデータのバージョンを更新する必要があります。
メタデータ登録サービス(MRS)を使用すると、1つ以上の更新されたメタデータ・ファイルを、プラグインがデプロイされているOracle Management Serviceおよび管理エージェントにアップロードできます。更新されたメタデータ・ファイルはEnterprise Managerに登録され、その更新内容で既存のメタデータを上書きします。
ノート:
ターゲット・タイプおよびデフォルトの収集については、MRSの使用に追加のステップが必要です。「ターゲット・タイプおよびデフォルト収集」を参照してください。
このサービスは、emctl register oms metadata
コマンドを使用して起動します。構文は、次のとおりです。
emctl register oms metadata -serviceMetadata Service Id
(-filemetadata file to register
| -file_listfile containing list of files to register
) [-core | -pluginIdPlugin Id
] [-sysman_pwd "sysman password"]
たとえば、次のコマンドは、ターゲット・タイプのメタデータ・ファイルへの変更を登録します。
emctl register oms metadata -service targetType -file /staging/demo_hostsample.xml -pluginId test.demo.xyz -sysman_pwd myempassword
表14-4は、コマンドの使用方法を説明しています。
表14-4 emctlコマンドの使用方法
オプション | 必須(Y/N) | 説明 |
---|---|---|
|
Y |
登録するメタデータの種類を指定します。値は次のとおりです。
|
|
N |
アップロードおよび登録対象の単一メタデータ・ファイルのパスおよびファイル名。 |
|
N |
メタデータ・ファイルのパス・リストを含むファイル(各行に1つ)のパスおよびファイル名。 |
|
N |
プラグイン開発では無効です。 |
|
N |
更新対象のデプロイ済プラグインに付与される、3つの部分から構成される一意の識別子。詳細は、「プラグインIDの定義」を参照してください。 |
|
Y |
Enterprise Managerユーザーのパスワード。 |