新しい管理プラグイン・ターゲット定義ファイルの定義の成功は、XMLの正確さに依存します。管理プラグインのターゲット・メタデータ・ファイルおよび収集ファイルの構文および構造が正しいことが不可欠です。XMLファイルの開発を支援するために、Enterprise ManagerにはILINTというXML検証ツールが用意されています。この章の内容は次のとおりです。
インテグレータLINT(ILINT)は、新規ターゲット・タイプの定義中にターゲット・メタデータを検証するのを支援するツールです。ターゲット・メタデータの作成中にターゲット、インスタンスおよび収集メタデータに対して記述するXMLのリアルタイム検証を実行できます。ILINTでは、データの正確性を検証するために新規ターゲット・タイプのランタイム・データ収集もテストできます。
このツールをインテグレータ認証ツールとして使用して、ターゲット・タイプ・メタデータが許容される標準に準拠していることも確認できます。
ILINTでは、XMLの正確性をチェックする静的検証と、収集されたデータの正確性をチェックする動的検証の2種類の検証を実行できます。ILINTは、ターゲット・タイプ・メタデータ・ファイルを対応するDTD($AGENT_HOME/sysman/admin/dtds)および管理エージェント・セマンティクスと比較することにより、XML構文が適切であることを検証します。
ILINTは、経験則的なチェックを実行し、管理リポジトリ制約をチェックし、次のファイルでXML構文を検証することにより、静的XML検証を実行します。
<target_metadata>.xml
ディレクトリの場所: $AGENT_HOME/sysman/admin/metadata
<target_collection>.xml
ディレクトリの場所: $AGENT_HOME/sysman/admin/default_collection
targets.xml(ターゲット・リスト・ファイル)
ディレクトリの場所: $AGENT_HOME/sysman/emd
注意: 一般に、targets.xmlファイルは手動で編集しないでください。ただし、新規メタデータ・ファイルの開発時には、テストの目的で特定のターゲット・インスタンス情報をターゲット・インスタンス・ファイルに追加することが必要な場合があります。管理エージェントはtargets.xmlファイルに含まれるインスタンス固有の情報に依存するため、targets.xmlファイルは構造的および構文的に正しい必要があります。 |
具体的には、ILINTは検証パーサーを使用して、特定のターゲット・タイプのメタデータおよびデフォルトの収集(存在する場合)を検証します。ILINTは、targets.xmlファイルで定義されているすべてのターゲット・プロパティ(静的と動的の両方)を使用します。
経験則的な制約チェック
収集されているメトリックが多すぎないか。特定のターゲット・タイプに対して50を超えるメトリックが収集されている場合、ILINTは警告メッセージを生成します。
監視されているターゲットが多すぎないか。特定のターゲット・タイプに対して50を超えるターゲットが監視されている場合、ILINTは警告メッセージを生成します。
メトリック収集間隔が短すぎないか。特定のメトリック収集間隔が5分未満の場合、ILINTは警告メッセージを生成します。
管理リポジトリ制約に基づくターゲット・メタデータ制限
列名の幅が64文字を超えていないかどうかを確認します。
5つ以下のキー列が設定されていることを確認します。
メタデータ名、タイプ、メトリック名および列名の文字が有効であることを確認します。
動的検証では、fetchletを通じて特定のメトリックを実行し、正確性の確認と出力の表示を行います。
動的検証により、あるターゲット・タイプに対して収集されるデータの正確性をチェックできます。ILINTの動的XML検証では、新規ターゲットに対して定義されているすべてのメトリックが実行され、メトリック・ブラウザと非常によく似た形式で出力が表示されます。メトリック・ブラウザの詳細は、「新しいターゲット・タイプ定義の検証」を参照してください。
動的検証の実行中に、ILINTは指定されたメトリックを実行し、すべてのプロパティ(動的および静的)を使用してエラーをチェックします。その後、ILINTは次の内容を含む出力表を生成します。
ターゲット・リスト
各ターゲットのメトリック・リスト
メトリック結果
ILINTは、2種類のメッセージを生成します。それぞれ、STDOUTおよびSTDERRという異なる出力ファイル・ストリームに出力されます。
メッセージ・タイプ
情報/警告: XMLが技術的に正確であっても、データ収集/解釈の不正確性またはフレームワーク・パフォーマンスの問題の原因となる可能性がある場合に生成されます。動的検証中に生成される表形式データも、このメッセージ・クラスの一部です。
情報および警告メッセージはSTDOUTに出力されます。
エラー: XMLが技術的に不正確であるか、指定されたパラメータが管理リポジトリ制約に違反しています。
エラー・メッセージはSTDERRに出力されます。
別の出力ファイルの指定
ILINTの実行中に、別のSTDOUTおよびSTDERR出力ファイルを指定できます。ファイル指定は、環境で使用されているオペレーティング・システムまたはシェル(あるいはその両方)によって異なります。
構文的に書式設定されたXML出力の生成
ILINTでは、オプションで、構文的に一貫性のあるメタデータ・ファイルのビューを生成できます。ILINTのオプションおよび有効なXMLの生成の詳細は、「構文的に正しいXMLの生成」を参照してください。
XMLファイルを検証するために、ILINTは、検証されるXMLに関連付けられているDTD(Document Type Declaration)の場所を認識する必要があります。適切なDTDへの相対パスを指定するDOCTYPEディレクティブが各XMLファイルに含まれていることを確認してください。
Enterprise Managerフレームワークでは次のDTDが使用されます。
$AGENT_HOME/sysman/admin/dtds/TargetMetadata.dtd
$AGENT_HOME/sysman/admin/dtds/TargetCollection.dtd
$AGENT_HOME/sysman/admin/dtds/TargetInstance.dtd
次の例では、$AGENT_HOME/sysman/admin/default_collectionディレクトリにあるターゲット収集XMLファイルまたは$AGENT_HOME/sysman/admin/collectionディレクトリにあるインスタンス固有の収集ファイルをテストする場合に使用する必要のあるDOCTYPE宣言を示します。
プライベート外部DTD(複数のドキュメント間で共有され、1人の作成者または作成者のグループによる使用を意図しているDTD)は、キーワードSYSTEMにより識別されます。この場合、管理エージェントを実行しているマシンに対して適切なOS権限を持つ人物が作成者とみなされます。
ILINTは、Enterprise Managerコマンドライン・ユーティリティの一部であり、emctlオプションとしてアクセスされます。ILINTは次の構文を使用します。
emctl ilint [-o <test_name> [-p]] -m <target_metadata.xml> [-m2 <compare_metadata.xml][-c <target_collection.xml>] [-i <target_instance.xml>] [-t <target_name>] [-r <metric_name>] [-d <0|1|2|3>]
表4-1 ILINTオプション
オプション | 説明 |
---|---|
-o <test_name> |
メタデータ・ディレクトリ、デフォルトの収集ディレクトリと収集ファイルおよびtargets.xmlファイルを自動的に探します。 -oオプションが指定されている場合は、次の条件が適用されます。
|
-p |
構文的に書式設定されたXMLをメタデータ・ファイルに対して生成します。このオプションは、-oオプションが指定されている場合にのみ使用できます。 |
-m <target_metadata.xml> |
チェックするメタデータ・ファイルのフルパスとファイル名。注意: -oオプションが指定されている場合、値はファイル名のみとし、フルパスは省略する必要があります。これは、ILINTの唯一の必須オプションです。 |
-m2 <compare_metadata.xml> |
-mオプションで指定されたターゲット・メタデータ・ファイルと比較する第2のメタデータ・ファイルのフルパスおよびファイル名。このオプションを使用して、メタデータ・ファイル間のバージョンの互換性をチェックできます。注意: -oオプションが指定されている場合、値はファイル名のみとし、フルパスは省略する必要があります。 |
-c <target_collection.xml> |
ターゲット収集ファイルのフルパスとファイル名。注意: -oオプションが指定されている場合、値はファイル名のみとし、フルパスは省略する必要があります。 |
-i <target_instance.xml> |
ターゲット・インスタンス・ファイルのフルパスとファイル名。注意: -oオプションが指定されている場合、値はファイル名のみとし、フルパスは省略する必要があります。 |
-t <target_name> |
検証するターゲットの名前(targets.xmlファイルで指定されています)。 |
-r <metric_name> |
実行するメトリックの名前。 |
-d (0-3) |
デバッグ・レベルを設定します(デフォルト値は1です)。このオプションは、ILINTで提供される情報のタイプを指定します。
|
次の例では、前に説明した一般的なILINT使用方法を示します。
使用方法
emctl ilint -o <test_name> -d <0-3> -i targets.xml -m <target_metadata.xml> -t <target_name>
例4-4 ターゲット・メタデータ・ファイルの検証
> emctl ilint -o meta_test -d 0 -i targets.xml -m my_database.xml -t my_database3
メタデータ・ディレクトリおよびファイル(-m my_database.xml)が自動的に特定され、テスト名meta_test(-o meta_test)と関連付けられます。メタデータ・ファイルは、targets.xmlファイルで定義されているデータベースmy_database3(-t my_database3)に照らして検証されます。エラー・メッセージのみ返されます(-d 0)。
例4-5 ターゲット収集ファイルの検証
> emctl ilint -o collect_test -d 3 -i targets.xml -m co_database.xml -c my_collection.xml -t my_database3
収集ディレクトリおよびファイル(-c my_collection.xml)が自動的に特定され、テスト名collect_test(-o collect_test)と関連付けられます。この検証は完全デバッグ・モード(-d 3)で実行されるため、すべてのエラー、警告および情報メッセージが返されます。
例4-6 制限されたメタデータ検証(ターゲット・タイプ・メタデータ・ファイルの検証のみ)
emctl ilint -o test_name -d 0 -i non_existent_targets.xml -d 0 -m my_target_metadata.xml -t non_existent_target
この例で示すように、存在しないtargets.xmlファイルと存在しないターゲットを指定することにより、制限されたターゲット・タイプ・メタデータ・ファイルXML検証を実行できます。制限された検証では、ターゲット・メタデータ・ファイルで使用されるXML構文およびリポジトリ制約によるメタデータ内の制限が迅速にチェックされます。
使用方法
emctl ilint -o <test_name> -d <0-3> -i targets.xml -m <target_metadata.xml> -t <target_name> -r <metric_name>
例4-7 メトリックの検証
emctl ilint -o test_dynamic -d 0 -i targets.xml -m database.xml -t payroll_db -r Database_Resource_Usage
この例では、ILINTはデータベース・メトリックDatabase_Resource_Usageを検証します。メタデータ・ディレクトリおよびファイル(-m database.xml)が自動的に特定され、テスト名test_dynamic(-o test_dynamic)と関連付けられます。メトリックは、targets.xmlファイルで定義されているpayroll_db(-t payroll_db)という名前のターゲット・データベースに照らして検証されます。エラー・メッセージのみ返されます(-d 0)。
使用方法
emctl ilint -o <test_name> -d <0-3> -i targets.xml -m <current_target_metadata.xml> -m2 <old_target_metadata.xml> -t <target_name>
例4-8 ターゲット・メタデータ・バージョンの検証
emctl ilint -o version_test -d 3 -i targets.xml -m database.xml -m2 database.xml -t payroll_db
この例では、ILINTはターゲット・タイプ・メタデータ・ファイルdatabase.xmlの2つのバージョンを比較します。-oオプションが使用されているため、ILINTはdatabase.xmlの最新バージョンを$AGENT_HOME/sysman/admin/metadataで探し、このファイルの旧バージョンを$AGENT_HOME/sysman/admin/metadata/oldで探します。
注意: デフォルトのディレクトリの場所を使用しない場合は、-o <test_name>オプションを省略し、-mおよび-m2に絶対パス名を指定します。 |
使用方法
emctl ilint -o <test_name> -i targets.xml -m <target_metadata.xml> -m2 <old_target_metadata.xml> (optional) -p
XML出力は、<test_name>.xml.tmp1という名前のファイルに送信されます。
この例からのXML出力は、ファイルtest_generate.xml.tmp1に自動的に送信されます。-m2オプションが指定されている場合、第2のターゲット・メタデータ・ファイルのXML出力はtest_generate.xml.tmp2に送信されます。