自動インストルメンテーションの設定

このページでは、自動インストゥルメンテーションを設定するために使用できる cluster-agent.yaml および Helm の values.yaml ファイルで利用可能なプロパティについて説明します。

Configuration Structure for Auto-Instrumentation

The structure of the auto-instrumentation configuration is based on a set of default properties, which you can override by using properties defined in one or more
注: If you require multi-container auto-instrumentation for the same or different supported application types, set the instrumentationConfig.instrumentationVersion parameter to v2 in the cluster-agent.yaml (CLI) or the values.yaml (Helm) file.
instrumentationRules
cluster-agent.yaml
CODE
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
  name: k8s-cluster-agent
  namespace: appdynamics
spec:
  # cluster agent properties required to enable auto-instrumentation
  instrumentationMethod: Env
  # default auto-instrumentation properties may be overridden in an instrumentationRule
  nsToInstrumentRegex: dev|stage|prod
  enableInstallationReport: false
  image: "docker.io/appdynamics/java-agent:21.7.0"
  # one or more instrumentationRules
  instrumentationRules:
    - nsToInstrumentRegex: dev
      imageInfo:
        image: "docker.io/appdynamics/java-agent:21.3.1"
        agentMountPath: /opt/appdynamics
        imagePullPolicy: Always
    - nsToInstrumentRegex: stage
      imageInfo:
        image: "docker.io/appdynamics/java-agent:21.5.0"
        agentMountPath: /opt/appdynamics
        imagePullPolicy: Always
values.yaml
CODE
deploymentMode: MASTER
# cluster agent properties
clusterAgent:
  nsToMonitorRegex: .*
  # Instrumentation config
  instrumentationConfig:
    enabled: true
  # required to enable auto-instrumentation
  instrumentationMethod: Env
  # default auto-instrumentation properties may be overridden in an instrumentationRule
  nsToInstrumentRegex: dev|stage|prod
   image: "docker.io/appdynamics/java-agent:21.7.0"
# one or more instrumentationRules
instrumentationRules:
  - nsToInstrumentRegex: dev
    imageInfo:
      image: "docker.io/appdynamics/java-agent:21.3.1"
      agentMountPath: /opt/appdynamics
      imagePullPolicy: Always
  - nsToInstrumentRegex: stage
    imageInfo:
      image: "docker.io/appdynamics/java-agent:21.5.0"
      agentMountPath: /opt/appdynamics
      imagePullPolicy: Always

InstrumentationRules によるデフォルトのプロパティのオーバーライド

クラスタエージェントは、InstrumentationRule 内の namespaceRegexmatchString,、および labelMatch プロパティの組み合わせを使用して、自動インストゥルメンテーションの名前空間内の DeploymentsDeploymentConfigs、および StatefulSets をターゲットにします。最初に一致した InstrumentationRule が使用されます。一致するルールが見つからない場合は、デフォルトのプロパティを使用して自動インストルメンテーションを適用するかどうかが決定されます。

  • nsToInstrumentRegex
  • defaultInstrumentationLabelMatch
  • defaultInstrumentMatchString
たとえば、次の InstrumentationRule -matchString "<string>" がクラスタエージェント構成ファイルに追加されています。
CODE
instrumentationRules:
	   	- matchString: "<string>"
注: 自動インストルメンテーションが機能するには、展開が必要です。

展開名がこの文字列と一致する場合、一致する instrumentationRule にある残りのプロパティが適用され、設定されているデフォルトのプロパティがオーバーライドされます。文字列が一致しない場合、クラスタエージェントはプロパティ nsToInstrumentRegex, defaultInstrumentationLabelMatch および defaultInstrumentMatchString をデフォルト値に設定してインストゥルメンテーション ルールを決定します。

Use Custom Access Key

You can create custom access key and use for a specific license rule that you create in Controller for the instrumenting applications. Perform the following to use Custom Access Key based on the rules you have defined for a tenant:

  1. Create required License Rules.
    This generates a key.
  2. Run the following command to create the custom secret using the key generated in step 1:
    CODE
    kubectl -n appdynamics create secret generic <secret-name> --from-literal=<custom-Controller-key-name>=<key-value>
  3. Add the following configuration under Instrumentation Rules:
    CODE
    customSecretName: <generated-secret-name>
    customSecretKey: <generated-key>
注: Ensure that you provide the correct secret name and key values in the cluster-agent.yaml file for auto-instrumentation. If the values are incorrect, you cannot monitor the applications.If you have auto-instrumented the applications and require to update the secret later, you require to set the enableForceReInstrumentation parameter to true during the re-instrumentation process.This restarts Cluster Agent.

Common Auto-Instrumentation Tasks

These properties are available to support common auto-instrumentation configuration tasks:

  • To set the namespaces that are in scope for auto-instrumentation:

    • nsToInstrument
    • nsToInstrumentRegex
  • (Optional) To filter and target the set of applications within a namespace that are in scope for auto-instrumentation:
    • instrumentationMatchString
    • labelMatch
  • To assign an application and tier name to an instrumented application:
  • To instrument which containers are in a multi-container application:
    • instrumentContainer
    • containerMatchString The instrumentContainer default is to instrument the first container based on the ordering returned by the Kubernetes API.
  • If transaction analytics is required for Node.js applications, then specify the analytics host and port:
    • analyticsHostanalyticsPort

      See Deploy Analytics Without the Analytics Agent. Configuration of transaction analytics is not required for .NET and Java applications. You can deploy the Analytics Agent using the sidecar model where you add an Analytics Agent container to each application pod, and then start/stop with the application container. If you use the sidecar approach, the App Server Agent uses the default host localhost and port 9090 and connects automatically. No additional configuration is required. See Install Agent Side Components in Kubernetes.

デフォルトの自動インストルメンテーション プロパティ

次の表に、cluster-agent.yaml 仕様で定義されている自動インストルメンテーションの設定に使用できるデフォルトプロパティを示します。

パラメータ デフォルト 説明
appNameLabel N/A

このラベルの値は、Splunk AppDynamics アプリケーション名になります。

appNameStrategy 手動

Splunk AppDynamics アプリケーションの名前を指定するオプション。このパラメータには、次のいずれかの値を指定できます。

  • 手動
  • 名前空間
  • label

アプリケーションの命名方法」を参照してください。

defaultAnalyticsHost N/A

分析エージェントのホスト名。

このパラメータは、Node.js エージェントでデフォルトのトランザクションデータを分析エージェントに送信する必要がある場合に必要となります。

デフォルト値は、instrumentationRules 設定によって上書きされない限り、すべてのインストルメント化されたリソースに適用されます。

defaultAnalyticsPort N/A

分析エージェントのリスニングポート。

たとえば、分析エージェントがポート 9090 でリッスンしている場合、このパラメータの値は 9090 です。

デフォルト値は、instrumentationRules 設定によって上書きされない限り、すべてのインストルメント化されたリソースに適用されます。

このパラメータは、Node.js エージェントでデフォルトのトランザクションデータを分析エージェントに送信する必要がある場合に、defaultAnalyticsHost で必要となります。

defaultAnalyticsSslEnabled N/A

この値は、Analytics エージェントポートが SSL 対応かどうかに基づいています。ポートが SSL 対応の場合は値を true として指定し、非対応の場合は false として指定します。

このパラメータは、Node.js エージェントでデフォルトのトランザクションデータを分析エージェントに送信する必要がある場合に、defaultAnalyticsPortdefaultAnalyticsHost で必要となります。

デフォルト値は、instrumentationRules 設定によって上書きされない限り、すべてのインストルメント化されたリソースに適用されます。

defaultAppName

"" (必須)コントローラに報告するためにエージェントによって使用されるアプリケーション名。
defaultCustomConfig N/A

このパラメータは、Java アプリケーションに固有です。

アプリケーション フレームワークでインストルメンテーションに特定の設定が必要な場合は、カスタムシステムプロパティを追加できます。

この値は、他の Java エージェントプロパティとともに設定された env or defaultEnv 変数に追加されます。

Helm を使用して展開をアップグレードする場合、defaultEnv の代わりにこのパラメータを使用すると、再インストルメンテーションの問題を回避できます。「自動インストルメンテーションの検証」の「アップグレードされた展開の再インストルメンテーションの問題のトラブルシューティング」を参照してください。

defaultContainerMatchString N/A

これは、インストゥルメント化するコンテナを選択するための正規表現値です。このパラメータを使用するには、インストゥルメンテーション ルールで指定された instrumentContainer 内で select オプションを使用する必要があります。

このパラメータとともに select オプションを使用すると、クラスタエージェントは正規表現値に一致するコンテナをインストゥルメント化します。

defaultEnv

JAVA_TOOL_OPTIONS

このパラメータは、Java アプリケーションに固有です。

javaagent 引数とアプリケーション エージェントのシステムプロパティが追加される環境変数。

この変数を上書きして、展開に最適な他の環境変数を使用できます。

ただし、展開をアップグレードするためにこの値をオーバーライドすると、クラスタエージェントは再インストゥルメントしません。これは、Java エージェントと展開の両方が JAVA_TOOL_OPTIONS 環境変数を使用するために発生します。したがって、アップグレード中にこれをオーバーライドすると、アノテーションは更新されず、再インストルメンテーションが失敗します。

トラブルシューティングの詳細については、「自動インストルメンテーションの検証」の「アップグレードされた展開の再インストルメンテーションの問題のトラブルシューティング」を参照してください。

defaultInstrumentationLabelMatch

[ ]

インストルメンテーションのためのマークが付けられた特定の展開ラベル。

このパラメータは、インストゥルメント化する key-value ペアのリストを受け入れます。

インストルメンテーションには、少なくとも 1 つのラベルを一致させる必要があります。

例:

defaultInstrumentationLabelMatch:- label1: value1

- label1: value2

- label2: value2

たとえば、label1: value2 のみが一致する場合、インストルメンテーションは期待どおりに機能します。

defaultInstrumentMatchString

.*

インストルメンテーションの対象になる展開の名前。

このパラメータは、instrumentationRules 内で指定された matchstring パラメータのデフォルト値として使用されます。matchstring が指定されていない場合、クラスタエージェントはこのパラメータ値を使用します。

このパラメータは、正規表現として展開名を受け入れます。

インストゥルメント化する展開が複数ある場合は、スペースを使用せずに名前を "|" で区切ることができます。

デフォルトでは、このパラメータは nsToInstrumentRegex によって構成されたすべての展開をインストルメント化します。したがって、インストゥルメンテーション ルールの matchString に値が指定されておらず、このパラメータに値を指定しない場合、クラスタエージェントはすべての展開をインストゥルメント化します。

enableForceReInstrumentation false

新しく展開されたインストルメンテーション プロパティで、正常にインストゥルメント化されたポッドの古い設定を上書きする必要がある場合は、このプロパティを true に設定する必要があります。

デフォルトでは、このプロパティは false に設定されています。

クラスタエージェントのアップグレード中に、インストルメンテーション構成を正常にインストルメント化された展開に更新する必要がある場合は、値を true に設定します。

正常にインストゥルメント化された展開にインストルメンテーション構成を保持する必要がある場合は、値を false に設定します。ただし、既存の展開のインストルメンテーション状態が失敗または新規の場合は、更新された構成が適用されます。

注: クラスタエージェントをアップグレードする場合、正常にインストゥルメント化された展開に更新された構成を適用するには、この値を true に設定する必要があります。
enableInstallationReport "false"

インストール情報の収集を有効または無効にします。次の詳細を含む要約レポートが生成されます。

  • PodName
  • 名前空間
  • AppName
  • TierName
  • NodeName
  • AgentType
  • AgentVersion
  • ステータス
  • タイムスタンプ

インストールレポートを表示するには、「インストールレポートの表示」を参照してください。

imageInfo

CODE
java:
image: "docker.io/appdynamics/java-      agent:latest"
agentMountPath: "/opt/appdynamics"
imagePullPolicy: "IfNotPresent"
CODE
dotnetcore:
image: "docker.io/appdynamics/dotnet-core-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: "IfNotPresent"
CODE
nodejs:
image: "docker.io/appdynamics/nodejs-agent:20.8.0-stretch-slimv14"
agentMountPath: /opt/appdynamics
imagePullPolicy: "Always"

Node.js エージェント、.NET Core for Linux、および Java エージェントがプルされた Docker リポジトリ。

サポートされる値は以下の通りです:

  • image:エージェントイメージの場所、およびその tag/version

  • agentMountPath:イメージファイルシステム内のイメージアーティファクトの場所。デフォルトは /opt/appdynamics です。パスが異なる場合は、この構成を変更する必要があります。imagePullPolicy:エージェントの Docker イメージに必要なプルポリシー。要件に基づいて、次のプルポリシーのいずれかを選択できます。

    • Always

    • IfNotPresent

    • ever

このパラメータは、自動インストゥルメンテーション中に追加される init コンテナで使用されます。

CODE
instrumentationMethod
None

アプリケーションのインストゥルメント化に使用されるインストルメンテーション方式。

サポートされる値は以下の通りです:

  • None:インストゥルメンテーションは無効になります。
  • Env:インストゥルメンテーション プロパティをコンテナ環境変数にアタッチします。値が設定されていない場合、インストルメンテーションは開始されません。

instrumentationVersion

v1 これは、複数コンテナ環境でアプリケーションを自動インストルメント化するために必要です。1 つまたは複数のアプリケーションタイプを含めることができます。

値を v2 として指定すると、異なる構成の単一言語または複数言語のいずれかを使用するマルチコンテナポッドでアプリケーションを自動インストゥルメント化できます。ただし、v2 では構成ファイルを使用したカスタムエージェント構成はサポートされていません。

instrumentationRules

[ ]

必須。このパラメータは、自動インストルメンテーションを有効にするために使用されます。これには、特定のインストルメンテーション ルールのリストが含まれます。ルールは 1 つまたは複数の名前空間に適用できます。また、展開名とラベルに基づいてフィルタ処理できます。インストルメンテーション ルールは細かく設定でき、特定の展開を対象にすることをサポートできます。

インストルメンテーション ルールのためのクラスタエージェントの構成」を参照してください。

javaAgentCustomSSLKeystore

N/A

Java エージェント SSL キーストアファイルのシークレット名。詳細については、「Java エージェント自動インストルメンテーションのカスタム SSL の使用」を参照してください。

javaAgentCustomSSLKeystorePasswordSecret

N/A

Java エージェント SSL キーストアパスワードのシークレット名。詳細については、「Java エージェント自動インストルメンテーションのカスタム SSL の使用」を参照してください。

nsToInstrumentRegex

""

必須。値を指定しない場合、自動インストルメンテーションは機能しません。

正規表現としてインストゥルメント化される名前空間を指定します。

インストゥルメント化する名前空間が複数ある場合は、スペースを使用せずに "|" を使用して名前空間を区切ります。

デフォルトでは、名前空間はインストゥルメント化されません。

numberOfTaskWorkers 2

同時に自動インストゥルメント化される展開数のレート制限を設定します。

注: この値を大きくすると、クラスタ内でのポッドの同時再起動数が増加する可能性があります。

netvizInfo

bciEnabled;true

ポート:3892

ネットワークの可視性アプリケーション エージェントの netviz を設定するには、「Kubernetes CLI を使用したインフラストラクチャの可視性のインストール 」のネットワークエージェントのインストール方法を参照してください。

デフォルトでは、netviz が有効になっています。ネットワークエージェントが存在しない場合、このプロパティは影響を与えません。netviz エージェントを有効または無効にできます。

サポートされる値は以下の通りです:

  1. bciEnablednetviz が有効になっているかどうかを示す boolean フラグ。
  2. port:ネットワークエージェントがリッスンしているポート(デフォルトは 3892))。デフォルトポート以外のポートでネットワークエージェントを実行している場合にのみ、この値を上書きします。

runAsGroup

0

アプリケーションコンテナを非ルートユーザとして構成した場合は、対応するグループのグループ ID(GID)を提供します。

runAsUser は、エージェント アーティファクトに適切なファイル権限を設定するために使用されます。

デフォルト値 runAsGroupinstrumentationRules 設定によって上書きされない限り、すべてのインストゥルメント化されたリソースに適用されます。

runAsUser

0

アプリケーションコンテナを非ルートユーザーとして構成した場合は、対応するユーザーのユーザー ID(UID)を指定します。

runAsUser は、エージェント アーティファクトに適切なファイル権限を設定するために使用されます。

デフォルト値 runAsUser は、instrumentationRules 設定によって上書きされない限り、すべてのインストゥルメント化されたリソースに適用されます。

resourcesToInstrument Deployment

クラスタエージェントは、このパラメータにリストされているリソースをインストゥルメント化します。サポートされる値は、次のとおりです。

  • Deployment
  • StatefulSet
  • DeploymentConfig

たとえば、Deployments および StatefulSets をインストゥルメント化するには、次のように設定します。

resourcesToInstrument

  • 導入

  • StatefulSet

tierNameLabel N/A

このラベルの値は、Splunk AppDynamics 階層名になります。

tierNameStrategy 手動

階層の名前を指定するオプション。このパラメータには、次のいずれかの値を指定できます。

  • 手動
  • label

インストールレポートの表示

cluster-agent.yaml ファイルで enableInstallationReport パラメータを有効にしている場合は、要約されたインストールレポートを表示できます。「デフォルトの自動インストルメンテーション プロパティ」を参照してください。インストールレポートを表示するには、次の手順を実行します。

  1. kubectl exec の実行

    CODE
    kubectl exec -it <cluster-agent-pod-name> -n <namespace> sh
  2. ログのディレクトリに移動します。
  3. InstallationReport.csv ファイルを開き、レポートを確認します。

Java エージェント自動インストルメンテーションのカスタム SSL の使用

デフォルトの cluster-agent.yaml ファイルで次のプロパティを使用して、キーストアファイルのシークレットとパスワードを指定できます。これにより、カスタム SSL を使用した Java エージェントの自動インストルメンテーションが有効になります。

  • javaAgentCustomSSLKeystore
  • javaAgentCustomSSLKeystorePasswordSecret
注: これらのプロパティを使用するには、カスタム SSL 証明書に JKS 形式を使用し、ファイルに custom-ssl.jks という名前を付ける必要があります。証明書の作成については、次を参照してください。

Java エージェント用 SSL の有効化

次のコマンドを実行して、カスタム SSL を使用した Java エージェントの自動インストルメンテーションに使用されるシークレットを作成します。

  1. キーストアファイルのシークレットを作成します。
    CODE
    kubectl -n appdynamics create secret generic <secret name> --from-file=<path to custom-ssl.jks file>
  2. キーストアパスワードのシークレットを作成します。
    CODE
    kubectl -n appdynamics create secret generic <secret name> --from-literal=keystore-password=‘<keystorePassword>’

証明書更新後のシークレットの更新

カスタム SSL キーストアファイルまたはキーストアパスワードを変更する場合は、次の手順を実行する必要があります。

  1. アプリケーション名前空間にある既存の appd-cert および java-agent-custom-ssl-password シークレットを削除します。
    CODE
    kubectl -n <application-namespace> delete secret appd-cert
    CODE
    kubectl -n <application-namespace> delete secret java-agent-custom-ssl-password

    アプリケーションの名前空間の古いシークレット(appd-cert および java-agent-custom-ssl-password)を削除して、この更新プロセス中の古いシークレットデータや競合するシークレットデータを回避する必要があります。

  2. Java アプリケーションのインストゥルメント化を解除します。
  3. キーストアファイルとキーストアパスワードの新しいシークレットを作成します。「Java エージェント自動インストルメンテーションのカスタム SSL の使用」を参照してください。
  4. Java アプリケーションを再インストゥルメント化します。

InstrumentationRule プロパティ

次の表に、InstrumentationRule で自動インストルメンテーションを設定するために使用できるプロパティを示します。

パラメータ名 デフォルト値 説明
analyticsHost N/A

分析エージェントのホスト名。

このパラメータは、Node.js エージェントまたは .NET Core エージェントでデフォルトのトランザクションデータを Analytics エージェントに送信する必要がある場合に必須となります。

analyticsPort N/A

分析エージェントのリスニングポート。

たとえば、分析エージェントがポート 9090 でリッスンしている場合、このパラメータの値は 9090 です。

このパラメータは、Node.js エージェントでデフォルトのトランザクションデータを分析エージェントに送信する必要がある場合に、defaultAnalyticsHost で必要となります。

analyticsSslEnabled N/A

この値は、Analytics エージェントポートが SSL 対応かどうかに基づいています。ポートが SSL 対応でない場合は、値を false と指定します。

defaultAnalyticsPortこのパラメータは、Node.js エージェントでデフォルトのトランザクションデータを分析エージェントに送信する必要がある場合に、defaultAnalyticsHost と で必要となります。

containerMatchString N/A

これは、値を満たす名前を持つコンテナを選択するための正規表現値です。このパラメータでは、defaultInstrumentContainer または instrumentContainer 内で select オプションを使用する必要があります。

このパラメータとともに select オプションを使用すると、クラスタエージェントは正規表現値に一致するコンテナをインストゥルメント化します。

このパラメータは、defaultContainerMatchString に指定されたデフォルト値を上書きします。

customAgentConfigSource N/A

このパラメータは、ConfigMaps を介してインストゥルメント化するエージェントのカスタム設定を使用するオプションを提供します。このパラメータでは、クラスタエージェントの名前空間に必要な ConfigMap を作成する必要があります。このパラメータは、クラスタエージェントの YAML ファイルから動的に設定できます。YAML ファイルに加えた変更は、アプリケーションを再起動することなく、インストゥルメント化されたすべてのエージェントに対して更新されます。同様に、ConfigMap の設定に加えた変更は、アプリケーションを再起動することなく、すべてのインストゥルメント化されたエージェントに対して更新されます。

  • configMapName:ConfigMap の名前を指定します。これにより、エージェントは同じカスタム ConfigMap を使用して、インストゥルメント化されたすべてのエージェント名前空間を更新できます。
  • subDir:(Java エージェントの場合は必須)ConfigMap がマウントされる場所の相対パスを指定します。/ver20.8.0.3686/conf20.8.0.3686例:。ここで、 は Java エージェントのバージョンです。このディレクトリは、Java エージェントのバージョンによって異なる場合があります。例 6 を参照してください。ConfigMap の絶対マウントパスは <agent home path>/subDir です。ConfigMapConfigMap の絶対マウントパスは です。この は、ターゲットアプリケーションの名前空間にある同じ名前の ConfigMap を置き換えます。
注: 展開から ConfigMap ファイル(ルールで使用)を削除する必要がある場合は、最初にこのパラメータをクラスタエージェントの YAML ファイルから削除し、次にクラスタエージェントの名前空間から ConfigMap を削除する必要があります。
customSecretName N/A

カスタムシークレット名。これは、ライセンスルールを定義するときに生成される名前と同じです。

customSecretKey N/A

カスタムシークレットキー。これは、ライセンス ルールを定義するときに生成されるキーと同じです。

instrumentContainer

first

このパラメータは、インストゥルメント化する必要があるコンテナを選択するオプションを提供します。次の値のいずれでも指定できます。

  • first:これはデフォルト値です。この値を指定すると、クラスタエージェントはポッド内の最初のコンテナをインストゥルメント化します。
  • all:この値を指定すると、クラスタエージェントはポッド内のすべてのコンテナをインストゥルメント化します。
  • select:この値を指定すると、クラスタエージェントは、defaultContainerMatchString パラメータまたは containerMatchString パラメータで指定された正規表現と一致する名前のコンテナのみをインストゥルメント化します。
language N/A

インストゥルメント化されるアプリケーションの言語。

サポート対象の言語は次のとおりです。

  • dotnetcore
  • java
  • nodejs
matchString N/A

ルールが適用される展開名を照合するための正規表現。

このパラメータに値を指定しない場合、クラスタエージェントは defaultInstrumentMatchString で指定された値を使用し、その値を満たすすべての展開をインストゥルメント化します。

namespaceRegex "" このルールの一部としてインストゥルメント化される名前空間を指定する正規表現。名前空間は、パイプ記号(|) を使用してスペースを使用せずに区切ることができます。
labelMatch {} このルールに含めるラベルの key-value ペアのリスト。 いずれかのラベルと一致すれば満たされます。例:

labelMatch

  • label1: value1

  • label1: value2

  • label2: value2

label1: value2 のみが一致する場合、インストルメンテーションは期待どおりに機能します。

appName <defaultAppName>

コントローラに報告するために Java エージェントによって使用されるアプリケーション名。これは defaultAppName を上書きします。

値が指定されていない場合は、構成された defaultAppName が使用されます。

appNameLabel N/A

Splunk AppDynamicsこのラベルの値は、 アプリケーション名になります。

customAgentConfig N/A

このパラメータは、Java および Node.js アプリケーションに固有です。

アプリケーション フレームワークでインストルメンテーションに特定の設定が必要な場合は、カスタムシステムプロパティを追加できます。

Java アプリケーションの場合:この値は、他の Java エージェントプロパティとともに設定された または 変数に追加されます。

Node.js アプリケーションの場合:この値は NODE_OPTIONS に追加されます。

tierName ""

コントローラに報告するために Java エージェントによって使用される階層名。

階層名が指定されていない場合は、階層の名前戦略が手動のとき、展開名がデフォルトとして使用されます。

tierNameLabel N/A

このラベルの値は、AppDynamics 階層名になります。

nodeName "" このパラメータは、階層の下のノードに順番に名前を付けるために使用されます。abcたとえば、階層内で使用される 2 つのノードがあり、アプリケーション環境の展開名は とします。構成ファイルでノード名の値を指定しない場合、クラスタエージェントは次をノード名とします。
  • abc-1
  • abc-2
注: -Dappdynamics.agent.reuse.nodeName.prefix JVM 引数は、自動インストゥルメンテーションではサポートされていません。
reuseNodeName true

このパラメータは、 Javaエージェントにのみ適用されます。

ノード名を再利用する必要がない場合は、このプロパティを false に設定します。

注: -Dappdynamics.agent.reuse.nodeName JVM 引数は、自動インストゥルメンテーションではサポートされていません。
env ""

このパラメータは、Java アプリケーションに固有です。

アプリケーション エージェントのシステムプロパティが追加される環境変数。指定すると、このインストルメンテーション ルールと一致する展開の defaultEnv を上書きします。

何も指定されていない場合、デフォルトは defaultEnv(構成されている場合)または env JAVA_TOOL_OPTIONS(デフォルトのクラスタレベルで構成されていない場合)になります。

imageInfo
CODE
image:  "docker.io/appdynamics/java-agent:latest"
agentMountPath: "/opt/appdynamics"
imagePullPolicy: "IfNotPresent"
CODE
dotnetcore:
image: "docker.io/appdynamics/dotnet-core-agent:latest"
agentMountPath: /opt/appdynamics
alpineInitContainerImage: alpine
imagePullPolicy: "IfNotPresent"
CODE
nodejs:
image: "docker.io/appdynamics/nodejs-agent:20.8.0-stretch-slimv14"
agentMountPath: /opt/appdynamics
imagePullPolicy: "IfNotPresent"

次のプロパティのいずれかを選択できます。

  • image:エージェントイメージの場所、およびそのタグ/バージョン。
  • agentMountPath:イメージファイルシステム内のイメージアーティファクトの場所。デフォルトは /opt/appdynamics です。この構成は、パスがデフォルトパスと異なる場合にのみ必要です。
  • alpineInitContainerImage:init コンテナの .NET インストゥルメンテーションに使用される Alpine イメージの場所とそのタグ/バージョン。
  • imagePullPolicy:エージェントの Docker イメージに必要なプルポリシー。デフォルトは IfNotPresent です。要件に基づいて、次のプルポリシーのいずれかを選択できます。
    • Always
    • IfNotPresent
    • Never
    このパラメータは、自動インストルメンテーション中に追加される init コンテナで使用されます。デフォルト値は IfNotPresent です。

このルールで言及されている特定の言語について、このインストルメンテーション ルールと一致する展開の image-info を上書きします。

デフォルトのクラスタレベルの構成を上書きし、この特定の選択したルールにカスタムのエージェントバージョンを使用する場合は、これを構成する必要があります。

netvizInfo

bciEnabled;true

ポート:3892

ネットワークの可視性アプリケーション エージェントの netviz を設定するには、「Kubernetes CLI を使用したインフラストラクチャの可視性のインストール」を参照して、ネットワークエージェントをインストールします。

デフォルトでは、netviz netviz です。

サポートされる値は以下の通りです:

  1. bciEnablednetviz が有効になっているかどうかを示す boolean フラグ。
  2. port:ネットワークエージェントがリッスンしているポート(デフォルトは 3892))。デフォルトポート以外のポートでネットワークエージェントを実行している場合にのみ、この値を上書きします。

runAsGroup

0

アプリケーションコンテナを非ルートユーザとして構成した場合は、対応するグループの groupId を提供します。

これにより、エージェント アーティファクトに適切なファイル権限が設定されます。

この値は、インストゥルメント化されたすべてのリソースに適用されます。

デフォルトのインストゥルメンテーション用に設定されている runAsGroup のデフォルト値を上書きする必要がある場合、またはこのルールを満たすリソースに特定の値が必要な場合は、このパラメータを追加します。

runAsUser

0

:アプリケーションコンテナを非ルートユーザーとして構成した場合は、対応するユーザーの userId を提供します。

これにより、エージェント アーティファクトに適切なファイル権限が設定されます。

この値は、インストゥルメント化されたすべてのリソースに適用されます。

デフォルトのインストゥルメンテーション用に設定されている runAsUser のデフォルト値を上書きする必要がある場合、またはこのルールを満たすリソースに特定の値が必要な場合は、このパラメータを追加します。

allowPrivilegeEscalation 該当なし

プロセスが親プロセスよりも多くの権限を取得できるかどうかを制御します。次のコンテナとして実行されている場合、この値は true です。

  • 特権コンテナ
  • CAP_SYS_ADMIN
注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

capabilities 該当なし

実行中のコンテナの POSIX 機能を追加または削除します。これは、コンテナランタイムにデフォルトの機能セットを使用します。

注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

privileged いいえ

ホストでのルートに相当する特権モードでコンテナを実行します。

注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

procMount DefaultProcMount

コンテナに使用する proc マウントのタイプ。

注: このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。
readOnlyRootFilesystem いいえ

このコンテナに読み取り専用のルートファイルシステムがあるかどうかを指定します。

注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

runAsNonRoot いいえ

コンテナを非ルートユーザーとして実行する必要があるかどうかを指定します。

この値が true の場合、Kubelet は実行時にイメージを検証して、ルートとして実行したときにコンテナの開始が失敗することを確認します。このパラメータが指定されていない場合、または値が false の場合、検証は行われません。

注: このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。
seLinuxOptions 該当なし

SELinux コンテキストをコンテナに適用します。このパラメータが指定されていない場合、コンテナランタイムは各コンテナにランダムな SELinux コンテキストを割り当てます。

注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

seccompProfile 該当なし

コンテナで使用される seccomp オプションを指定します。ポッドレベルとコンテナレベルの両方で seccomp オプションが指定されている場合、コンテナオプションはポッドオプションをオーバーライドします。

注:
  • このパラメータは、spec.os.name が Windows の場合は使用できません。

  • このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。

windowsOptions 該当なし

すべてのコンテナに Windows 固有のオプションを指定します。

注: このパラメータは、現在、Deployment および DeploymentConfig モードで使用できます。