リソース・ディメンションの定義

APM Javaエージェントをデプロイした後、2つの異なる方法でリソース・ディメンションを定義できます。

リソース定義の簡素化

簡易リソース・ディメンションは、キー/値のペアのプロパティを使用して定義できます。

プロパティのキーは、com.oracle.apm.agent.resource.tagで始まる必要があります。

次の表に、簡略化された方法でリソース・ディメンションを定義する様々な方法を示します。

プロパティ・タイプおよび説明 サポートする機能 プロパティ

AgentConfig.properties

oracle-apm-agent/config/<version>ディレクトリにあるAgentConfig.propertiesファイルを更新します。

APMエージェント com.oracle.apm.agent.resource.tag.<ResourceName> com.oracle.apm.agent.resource.tag.MyDepartment=Sales

システム・プロパティ

システム・プロパティを更新します。

APMエージェントおよびAPMトレーサ com.oracle.apm.agent.resource.tag.<ResourceName>

-Dcom.oracle.apm.agent.resource.tag.MyDepartment=Sales

-Dcom.oracle.apm.agent.resource.tag.MyUser=${USERNAME}

-Dcom.oracle.apm.agent.resource.tag.MyAppVersion=${com.mycompany.myapp.version}

環境変数

環境変数を更新します。

APMエージェントおよびAPMトレーサ com_oracle_apm_agent_resource.tag_<ResourceName>
Windowsの場合:
set com_oracle_apm_agent_resource_tag_MyDepartment=Sales
set com.oracle.apm.agent.resource.tag.MyUser=${USERNAME}
Linuxの場合:
export com_oracle_apm_agent_resource_tag_MyDepartment=Sales

トレース・ビルダー

APMトレーサ com.oracle.apm.agent.resource.tag.<ResourceName>
new ApmTracer.Builder(...)
    ...
    .withProperty("com.oracle.apm.agent.resource.tag.MyDepartment", "Sales")
    .withProperty("com.oracle.apm.agent.resource.tag.MyUser", "${USERNAME}")
    ...
    .build();

リソース・プロパティの値には、静的テキストまたは${および}記号で囲まれた変数(あるいはその両方)を指定できます。

次の1つ以上がリソース・ディメンション値として受け入れられます。
  • 任意のテキスト。
  • ${および}記号で囲まれたJavaシステム・プロパティのキー。
  • ${および}記号で囲まれた環境変数のキー。例:
    ${USERNAME}

包括的なリソースの定義

カスタム・アプリケーション・サーバー・リソース・ディメンションは、特定の要件を満たすように定義できます。

カスタム・アプリケーション・サーバーのリソース・ディメンションを定義するには、ResourceCollection.acmlという名前の新しい構成ファイルをoracle-apm-agent/config/<version>ディレクトリに作成します。

ResourceCollection.acmlファイルはAPMエージェント・デプロイメントでは作成されず、手動で作成する必要があります。

ResourceCollection.acmlの形式は、カスタムACML形式(YAMLのサブセット)です。

ACMLタグ データ型 必須 説明
リソース:   はい リソース・コレクション・ヘッダー。
<resource_entry_name>: string はい レポート・リソース名。
プロパティー: <property key> string はい リソースのAPMプロパティ・キー。

このリソース値のプロパティ・キーです。変数解決のために他のリソースでも使用されます。

タイプ: <resource type> string はい このプロパティのタイプ。
スカラー: <リソース・スカラー> string はい リソース値タイプです。

サポートされている値は、string、longまたはdoubleです。

identity: <resource as identity> ブール いいえ このリソースがアプリケーション・サーバー・アイデンティティ計算に使用されるかどうかを示すフラグ。

null以外の値を持つリソースは、appserverIdディメンションの計算に使用されます。

優先度: <コレクション優先度> 符号なし整数 いいえ リソース収集の優先度を示す正の整数。0 (ゼロ)は最高の優先度です。カスタム・リソースは、常にこの値を0に設定する必要があります。
デフォルト: <デフォルト値> string いいえ 指定されたどのソースもNULL以外の値を戻さない場合のリソースのデフォルト値。
source: 適用なし はい このリソースのソースの配列ノード。

このソース配列には、1つ以上の子要素を定義できます。各要素は定義に従って順番に評価され、NULL以外の値を持つ最初の要素が使用されます。

要素評価でNULL以外の値が返されなかった場合、このリソースは無視されます。
-タイプ: mbean string いいえ JMX MBeanからリソース・メタデータを収集します。リソースごとに複数を定義できます。
mbean_name: <mbean object name> string いいえ mbean_nameは、MBeanのObjectNameです。
value_path: <値選択パス> string いいえ

value_pathは、指定したMBeanから開始するスラッシュ区切りの選択パスです。

最初のパス・ノードはMBeanの属性であり、属性の値は連続する各パス・ノードで評価されます。

評価では次がサポートされます。

  • MBean属性
  • ObjectName
  • Javaオブジェクト・フィールド名
  • javaオブジェクト引数なしメソッド名
  • CompositeDataのキー
  • TubularDataのキー
  • 配列のインデックス
  • Mapのキー
  • コレクションのインデックス
<regex解析> string いいえ

選択したリソース値は、regex解析タグを使用してさらに処理できます。詳細は、正規表現の解析を参照してください。

タイプ: property string いいえ システム・プロパティまたは環境変数のリソース値。リソースごとに複数を定義できます。
キー: <property key> string いいえ システム・プロパティまたは環境変数のキー名。
-タイプ: value string いいえ 静的値。この値はnullではないため、各リソースに最大1つ定義する必要があります。
値: <静的値または変数(あるいはその両方)> string いいえ 値は、次の1つ以上です。
  • 固定文字列。
  • システムプロパティー。
  • 環境変数
  • リソースプロパティー。

プロパティ・キーには、実行時に指定したキーの値に解決される${および}記号が含まれます。指定されたプロパティ・キーが見つからない場合、このリソースの値には、${および}記号を含む未解決のキーが含まれます。

<regex解析> string いいえ 選択したリソース値は、regex解析タグを使用してさらに処理できます。詳細は、正規表現の解析を参照してください。

Regex解析

正規表現解析は、正規表現を使用してリソース値の特定の値を抽出するソース・ノードの追加タグです。構文の詳細は、次を参照してください。

タグ ベース・タイプ 説明
regex: <regex:: string グループ構成によるリソース値に対する正規表現。
<regex解析> 符号なしの整数 正規表現のグループ番号。指定されたグループの値は最終リソース値です。