アプリケーション エージェントを手動で設定してクラスタエージェントと関連付ける

次の設定は、Kubernetes 以降の場合にのみ必要です。エージェントをクラスタエージェントと関連付ける必要がある場合は、自動インストゥルメンテーションを有効にして、containerAppCorrelationMethodproxy に設定する必要があります。これは、エージェントがアプリケーションコンテナのコンテナ ID を取得するために必要です。

前述の手順を使用して自動インストルメンテーションを有効にすると、自動インストルメンテーションはアプリケーションをインストルメント化しませんが、コンテナメタデータサーバーを起動してコンテナ ID を取得します。nsToExcludeRegex パラメータを使用して、特定の名前空間を無視するように設定できます。

Java エージェントは HOSTNAME 環境変数に依存し、クラスタエージェントを照会するポッド名として使用します。コンテナ ID を正確に抽出するには、これらの変数を変更しないまま保持することが重要です。

  1. クラスタエージェントをバージョン 23.9 以降にアップグレードします
  2. アプリケーションが実行されているポッドに次の環境変数(env)を追加します。
    • APPDYNAMICS_CONTAINER_NAME:<インストゥルメント化されたコンテナの名前>
    • APPDYNAMICS_CONTAINERINFO_FETCH_SERVICE'cluster-metadata-service.<namespace of the cluster agent>:<metadataServerPort(default 9090)>'
    • APPDYNAMICS_POD_NAMESPACE:<アプリケーションポッドの名前空間>
  3. 構成ファイルspec セクションで、containerAppCorrelationMethod パラメータの値を proxy として設定します。このパラメータの詳細については、「Correlate Application Containers with AppAgents (For Kubernetes version >=1.25)」を参照してください。
  4. 構成ファイルを編集して、インストゥルメンテーション方式を Env として含めます。これにより、アプリケーションコンテナとクラスタエージェントの関連付けが有効になります。
    注: 手動インストルメンテーションでは、これらのプロパティを設定する必要があります。これらのプロパティを適用すると、アプリケーションは、手動アプリケーション インストルメンテーション用にクラスタエージェントと関連付けることができます。これにより、自動インストルメンテーション機能が有効になることはありません。
    • (cluster-agent.yaml 内)instrumentationMethod: None

      cluster-agent.yaml

      apiVersion: cluster.appdynamics.com/v1alpha1
      kind: Clusteragent
      metadata:
      name: k8s-cluster-agent
      namespace: appdynamics
      spec:
      instrumentationMethod: Env
    • (values.yaml 内)enabled: true InstrumentationConfig

      values.yaml の例

      deploymentMode: MASTER
      clusterAgent:
      nsToMonitorRegex: .*
      instrumentationConfig:
      enabled: true
      instrumentationMethod: Env

      自動インストルメンテーションの有効化の詳細については、「自動インストルメンテーションの設定」を参照してください。