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

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

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

自動インストルメンテーションの設定の構造は、一連のデフォルトプロパティに基づいています。これは、1 つ以上定義されたプロパティを使用して上書きできます。
注: 同じ、または異なるサポート対象アプリケーションタイプのマルチコンテナ自動インストルメンテーションが必要な場合は、 cluster-agent.yaml(CLI)または values.yaml(Helm)ファイルで、instrumentationConfig.instrumentationVersion パラメータを v2 に設定します。
instrumentationRules
cluster-agent.yaml
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
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>" がクラスタエージェント構成ファイルに追加されています。
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:
    kubectl -n appdynamics create secret generic <secret-name> --from-literal=<custom-Controller-key-name>=<key-value>
  3. Add the following configuration under Instrumentation Rules:
    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.

一般的な自動インストゥルメンテーション タスク

次のプロパティは、一般的な自動インストゥルメンテーション設定タスクをサポートするために使用できます。

  • 自動インストゥルメンテーションの範囲内にある名前空間を設定するには、次のプロパティを設定します。

    • nsToInstrument
    • nsToInstrumentRegex
  • (オプション)自動インストゥルメンテーションの範囲内にある名前空間内のアプリケーションのセットをフィルタリングしてターゲットにするには、次のプロパティを設定します。
    • instrumentationMatchString
    • labelMatch
  • インストゥルメント化されたアプリケーションにアプリケーション名と階層名を割り当てるには、次のプロパティを設定します。
  • マルチコンテナ アプリケーションに含まれるコンテナをインストゥルメント化するには、次のプロパティを設定します。
    • instrumentContainer
    • containerMatchString instrumentContainer のデフォルトでは、Kubernetes API によって返される順序に基づいて最初のコンテナがインストゥルメント化されます。
  • Node.js アプリケーションにトランザクション分析が必要な場合は、分析ホストとポートを指定します。
    • analyticsHostanalyticsPort

      「分析エージェントを使用しない分析の展開」を参照してください。 Analytics エージェントを使用しない分析の展開トランザクション分析の設定は、.NET および Java アプリケーションには必要ありません。各アプリケーションポッドに分析エージェントコンテナを追加し、アプリケーションコンテナで開始および停止するサイドカーモデルを使用して、分析エージェントを展開できます。サイドカーアプローチを使用する場合、アプリケーション サーバー エージェントはデフォルトのホスト localhost とポート 9090 を使用し、自動的に接続します。追加設定は必要ありません。「Kubernetes でのエージェント側コンポーネントのインストール」を参照してください。

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

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

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

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

appNameStrategy手動

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

  • 手動
  • 名前空間
  • label

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

defaultAnalyticsHostN/A

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

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

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

defaultAnalyticsPortN/A

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

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

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

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

defaultAnalyticsSslEnabledN/A

この値は、Analytics エージェントポートが SSL 対応かどうかに基づいています。ポートで SSL が有効になっている場合は、値を true に指定します。それ以外の場合は、false を指定します。

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

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

defaultAppName

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

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

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

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

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

defaultContainerMatchStringN/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 に値が指定されておらず、このパラメータに値を指定しない場合、クラスタエージェントはすべての展開をインストゥルメント化します。

enableForceReInstrumentationfalse

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

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

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

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

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

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

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

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

imageInfo

java:
image: "docker.io/appdynamics/java-      agent:latest"
agentMountPath: "/opt/appdynamics"
imagePullPolicy: "IfNotPresent"
dotnetcore:
image: "docker.io/appdynamics/dotnet-core-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: "IfNotPresent"
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:エージェントイメージの場所、およびそのタグ/バージョン

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

    • Always

    • IfNotPresent

    • ever

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

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

runAsGroup

0

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

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

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

runAsUser

0

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

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

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

resourcesToInstrument導入

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

  • 導入
  • StatefulSet
  • DeploymentConfig

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

resourcesToInstrument

  • 導入

  • StatefulSet

tierNameLabelN/A

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

tierNameStrategy手動

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

  • 手動
  • label

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

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

  1. kubectl exec の実行

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

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

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

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

InstrumentationRule プロパティ

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

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

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

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

analyticsPortN/A

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

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

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

analyticsSslEnabledN/A

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

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

containerMatchStringN/A

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

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

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

customAgentConfigSourceN/A

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

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

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

customSecretKeyN/A

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

instrumentContainer

第1

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

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

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

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

  • dotnetcore
  • java
  • nodejs
matchStringN/A

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

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

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

labelMatch:

  • label1: value1

  • label1: value2

  • label2: value2

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

appName<defaultAppName>

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

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

appNameLabelN/A

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

customAgentConfigN/A

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

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

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

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

tierName""

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

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

tierNameLabelN/A

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

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

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

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

env""

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

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

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

imageInfo
image:  "docker.io/appdynamics/java-agent:latest"
agentMountPath: "/opt/appdynamics"
imagePullPolicy: "IfNotPresent"
dotnetcore:
image: "docker.io/appdynamics/dotnet-core-agent:latest"
agentMountPath: /opt/appdynamics
alpineInitContainerImage: alpine
imagePullPolicy: "IfNotPresent"
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
    • なし
    このパラメータは、自動インストルメンテーション中に追加される init コンテナで使用されます。デフォルト値は IfNotPresent です。

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

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

netvizInfo

bciEnabled;true

ポート:3892

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

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

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

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

runAsGroup

0

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

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

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

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

runAsUser

0

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

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

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

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

securityContext

該当なし

必要なセキュリティコンテキスト制約パラメータを指定します。securityContext 内で使用できるパラメータのリストについては、「securityContext パラメータ」を参照してください。

SecurityContext パラメータ

securityContext パラメータ内で次のパラメータを使用できます。

注: OpenShift バージョンが 4.14 より新しい場合は、securityContext 内のすべての子パラメータが、セキュリティコンテキスト制約(SCC)で概説されている許容値に基づいて指定されていることを確認します。Red Hat OpenShift ドキュメントの「セキュリティコンテキスト上の制約」を参照してください。たとえば、インストゥルメンテーション ルールの RunAsUser プロパティを使用する場合、ユーザー ID(UID)は許容範囲内である必要があります。UID の SCC の許容範囲は 1000 ~ 9001 です。したがって、RunAsUser 値はこの範囲内でのみ追加できます。他のセキュリティ コンテキスト パラメータについても同様です。
パラメータ名 デフォルト値 説明

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 モードで使用できます。

procMountDefaultProcMount

コンテナに使用する 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 モードで使用できます。