カスタム バンドルの追加

CA APM Command Center のインストールには、多くのデフォルト バンドルが含まれており、すべてのエージェントの機能が提供されていますが、必要に応じてカスタム バンドルを作成することができます。
apmdevops104jp
CA APM Command Center のインストールには、多くのデフォルト バンドルが含まれており、すべてのエージェントの機能が提供されていますが、必要に応じてカスタム バンドルを作成することができます。
新しいバンドルの追加
バンドルを追加する最も簡単な方法は、サンプルのバンドルをダウンロードし、要件にあわせて編集することです。
以下の手順に従います。
  1. 以下のファイルのいずれかをダウンロードします。
  2. 要件に従って、ファイルを編集します。
    バンドル ファイルと一緒に以下のファイルやディレクトリも追加できます。
  3. 変更されたアーカイブ ファイルを APMCommandCenterServer/import ディレクトリに配置します。アーカイブ ファイルは自動的に Command Center データベースにインポートされ、バンドル ディレクトリに移動します。
バンドル ファイル
バンドル ファイルには、バンドル名とバージョン、バンドルの依存関係、拡張される他のバンドル、サポートされているオペレーティング システムについて記述するメタ情報が含まれています。
example.bundle ファイルは、ダウンロードされたパッケージのメタデータ ディレクトリにあります。バンドル ファイルは JSON 形式で、フィールドがカンマ区切りであること、変数と値が二重引用符で囲まれていること、変数と値のペアがコロンで区切られていることが重要です。
サンプル バンドル ファイルのコンテンツ:
{
"name": "MongoDB",
"displayName": "Mongo DB Monitoring",
"version": "10.5.0.0",
"facets": ["custom"],
"dependencies": ["java-agent"],
"enhances": ["websphere"],
"specificationVersion": "2",
"dynamic": "true",
"compatibility": {
"agentVersion":">=10.5",
"osName":["windows","unix"] },
"type": "java"
}
 
使用可能なフィールドは以下のとおりです。
  • name
    “version” フィールドと併せてバンドルを一意に識別する必須フィールドです。自動的に “facet” になり(以下参照)、バンドルが互いを参照するために使用されます。
  • displayName
    Command Center のユーザ インターフェースに表示されるバンドル名です。このフィールドは必須です。
  • version
    すべてのパッケージは、互換性のあるエージェントのバージョンを指定し、これはバンドルの選択に使用されます。パッケージ バージョンが 10.2 の場合、10.2 のすべてのマイナー バージョンは互換性があります(例: 10.2.0.1、10.2.13.2)。CA APM Command Center では、“enhances” を満たす最新バージョンを使用します(“enhances” の説明については以下を参照してください)。このフィールドは必須です。
  • facets
    バンドルに関する追加の情報を定義します。たとえば、そのタイプ(アプリケーション サーバ)、依存関係、拡張などです。値には、任意の文字列を指定できます。デフォルト ファセットの一覧については、以下の表を参照してください。
    例: サーブレット バンドルの “enhances” の値は “appserver” です。Tomcat バンドルの facet は “appserver” です。Command Center では、Tomcat バンドルが含まれるパッケージに "appserver" バンドルも含まれるようにすることをお勧めします。「パッケージ REST Web サービス」も参照してください。
    注:
    パッケージ ビルド ウィザードにカスタム セクションが表示されるように、カスタム バンドルに「カスタム」ファセットが含まれている必要があります。
  • dependencies
    このバンドルが機能するために必要となる要素を定義します。これらの要素は、他のバンドルによって提供される必要があります。依存関係は、階層を形成できます。たとえば、PMI バンドルは WebSphere バンドルに依存し、このバンドルは、Java エージェント互換パッケージに必要とされる java-agent バンドルに依存します。そのため、PMI バンドルが含まれるパッケージには、WebSphere バンドルと java-agent バンドルが含まれている必要があります。
  • enhances
    バンドルの “enhances” の値が、パッケージ内のバンドルの “facet” または “name” の値に一致する場合、一致するバンドルに対して拡張バンドルが推奨されます。たとえば、SOAP バンドルは、Tomcat バンドルを拡張するため、これは SOAP バンドルに推奨されます。
    このフィールドを使用して、他のバンドルで設定されたプロパティを上書きすることもできます。以下を参照してください。
  • specificationVersion
    バンドル メタデータの署名を定義します。動的バンドルを定義するには、これを 2 に設定する必要があります。
  • dynamic
    バンドルが動的であるかどうかを定義します。
     
    specificationVersion=2 の場合、バンドルは暗黙的に動的です。
  • compatibility
    バンドルに対するエージェントのバージョンと互換性のあるオペレーティング システムを定義します。このフィールドを省略した場合、バンドルは Unix および Windows の両方のシステムとすべてのエージェントのバージョンと互換性があります。このフィールドが存在する場合、osName は省略できますが、agentversion は常に定義されている必要があります。
    バージョン範囲を定義するには、以下の構文を使用します。
    > - 指定されたバージョンよりも大きい
    < - 指定されたバージョンよりも小さい
    >= - 指定されたバージョン以上
    <= - 指定されたバージョン以下
    = - 指定されたバージョンと等しい
    " " - 指定されたバージョンと暗黙的に等しい(たとえば "agentVersion": "10.5")
    注:
    「プロセス」ファセットとのバンドルには、Compatibility.agentVersion プロパティが必要です。これらのバンドルでは、プロパティ値が最小バージョンを明確に示す必要があります。例: 値 “10.3”, “>=10.3”, “>=10.3, <=10.5” は正しいですが、“>10.2”, “>10.3, <10.5” は正しくありません。これは、これらの値が最小バージョンを明確に決定しないためです。
以下の表に、依存関係や拡張として使用できるデフォルト ファセットの一覧を示します。
ファセット
説明
java-agent
Command Center は現在 Java エージェントのみをサポートしているため、すべてのカスタム バンドルの「dependencies」リストに追加します。
process
CTG サーバ、GlassFish、Interstage、JBoss、Tomcat、WebLogic、WebSphere、またはその他の Java アプリケーションのインスツルメンテーションをカスタマイズするバンドルに使用します。
appserver
GlassFish、Interstage、JBoss、Tomcat、WebLogic、WebSphere、またはその他の Java アプリケーションのインスツルメンテーションをカスタマイズするバンドルに使用します。
ctg-server
CTG サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
glassfish
GlassFish アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
interstage
Interstage アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
jboss
JBoss アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
tomcat
Tomcat アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
weblogic
WebLogic アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
websphere
WebSphere アプリケーション サーバのインスツルメンテーションをカスタマイズするバンドルに使用します。
other
その他の Java アプリケーションのインスツルメンテーションをカスタマイズするバンドルに使用します。
description.md ファイル
description.md ファイルは metadata ディレクトリにあります。ファイルのコンテンツは、UI でバンドルの説明として表示されます。このファイルでは、Markdown 構文がサポートされています。山かっこ(<>)はマークアップ タグとして解釈され、バンドルが構成サーバによってインポートされなくなるため、使用しないでください。
このファイルは空にするか完全に省略できます。
installInstructions.md ファイル
installInstructions.md ファイルは metadata ディレクトリにあります。ファイルには、このバンドルに固有のプロファイル エントリが含まれています。パッケージを作成するときは、すべてのバンドルの手順ファイルのコンテンツは結合され、パッケージに対する完全なインストール手順を構成します。
コンテンツは、Markdown 言語の構文を使用してフォーマットされます。山かっこ(<>)はマークアップ タグとして解釈され、バンドルが構成サーバによってインポートされなくなるため、使用しないでください。
ウィザードのバンドル設定手順に説明として表示される前提条件を追加することもできます。
#<preamble>
# Optional Description for the bundle configuration
#</preamble>
このファイルは空にするか完全に省略できます。
bundle.profile ファイル
bundle.profile ファイルは wily\core\config ディレクトリにあります。このファイルは、パッケージに含まれる他のすべてのバンドルのプロファイル ファイルと結合され、パッケージの IntroscopeAgent.profile を構成します。
このファイルは空にするか完全に省略できます。
トグル ファイル(インスツルメンテーション ディレクティブ)
トグル ファイルを使用すると、Command Center ユーザ インターフェースで特定の追跡をオンまたはオフにすることができます。
インスツルメンテーション ディレクティブ定義を使用して新しい toggles.pbd ファイルを作成し、wily/core/config ディレクトリに配置します。ファイルには TurnOn および TurnOff ディレクティブのみを含めることができます。
toggle.pbd ファイルの例:
# Control HTTP Session Tracing
TurnOn: HTTPSessionTracing
# Instance Counts Configuration
TurnOff: InstanceCounts
# JTA Configuration
# TurnOn: JTACommitTracing
# JavaMail configuration
TurnOn: JavaMailTransportTracing
トグル オプションは、バンドルを選択するときに[Configure Bundles (バンドルの構成)]ページに表示されます。
ユーザ定義ファイル
バンドルには、ユーザが必要とする他のファイルまたはディレクトリを含めることができます。PBD ファイルは、wily\core\config ディレクトリに格納し、JAR ファイルは wily\core\ext に格納します。PBL ファイルは、パッケージの構築時に作成されるため、このファイルを提供する必要はありません。
カスタム バンドルによる既存のバンドルの上書き
1 つ以上のカスタム バンドルをエージェント パッケージに追加することで、デフォルトの CA バンドルを含む、任意のバンドルのプロパティ値を簡単に上書きできます。カスタム バンドルには、値を変更するすべてのプロパティを含めることができます。バンドルがパッケージに追加され、そのパッケージがダウンロードされると、カスタム値はデフォルト バンドルを上書きします。
以下の手順に従います。
  1. すべてのカスタマイズを含むバンドルを作成します。
  2. バンドル ファイルを開き、バンドル ファイル内の[enhances]フィールドの値を使用して、この新しいバンドルによって上書きされるバンドルを決定します。
  3. Command Center ユーザ インターフェースで、カスタム バンドルをパッケージに追加します。
  4. エージェント パッケージをダウンロードします。
    カスタム バンドルの設定が優先され、上書きされたバンドルの設定はコメント アウトされます。2 つの異なるバンドルでバンドルを拡張する場合、その優先度はバンドル ID の昇順に基づきます(最新のバンドルが優先されます)。
値を変更するプロパティの 1 つが、java-agent バンドル内の introscope.autoprobe.logfile であるとします。この値を変更して、ログ ファイルを別の場所に配置します。
この場合、以下の操作を行います。
  1. introscope.autoprobe.logfile プロパティをカスタム バンドル内の bundle.profile ファイルに追加します。
  2. 指定するログ ファイルのパスを、このプロパティの値に設定します。
  3. バンドル ファイル内で、[enhances]フィールドの新しい値として「java-agent」を追加します。
パッケージが次回にダウンロードされると、コンパイルされた IntroscopeAgent.profile 内で、java-agent バンドルによって提供される元のプロパティはコメント アウトされ、カスタム バンドル セクション内の同じプロパティによって、エージェントが使用する新しい値が設定されます。