次のようにデータベースエージェントのコンテナイメージをインストールします。

  1. データベースエージェントのコンテナイメージを取得する
  2. データベースエージェントを展開する


データベースエージェントは、非ルートユーザーとしてインストールできます。

データベースエージェントのコンテナイメージを取得する

以下のいずれかの方法でコンテナイメージを取得できます。

データベースエージェントのコンテナイメージをダウンロードしてビルドする

  1. ダウンロードポータルからデータベースエージェントの zip ファイルをダウンロードします。
  2. データベースエージェントの zip ファイルを解凍します。
  3. ファイルを解凍したディレクトリに移動し、次のコマンドを実行します。

    docker build -t <image-name> .
    CODE

Docker Hub からデータベースエージェントのコンテナイメージをプルする

  1. Docker Hub から最新のデータベースエージェントのコンテナイメージをプルします。

    docker pull appdynamics/db-agent:latest
    CODE
  2. (オプション)イメージにタグを付けます。

    docker tag appdynamics/db-agent:latest <image-name>
    CODE

Docker でイメージを実行する場合は、次のように特定の環境変数を設定します。

Sample command

docker run -e APPDYNAMICS_CONTROLLER_HOST_NAME="" -e APPDYNAMICS_CONTROLLER_PORT="" -e APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY='' -e APPDYNAMICS_AGENT_ACCOUNT_NAME="" -e APPDYNAMICS_CONTROLLER_SSL_ENABLED="" -e APPDYNAMICS_DB_AGENT_NAME="DatabaseAgent" -e APPDYNAMICS_DB_PROPERTIES="-Ddbagent.telemetry.enabled=true" -d <image-name>
CODE

上記のコマンドで指定された環境変数は例です。必要に応じて、環境変数をさらに追加して設定できます。詳細については、「データベースエージェントの構成プロパティ」を参照してください。

APPDYNAMICS_DB_PROPERTIES パラメータにさらにプロパティを追加するには、スペースで区切ってプロパティを追加します。
次に例を示します。

APPDYNAMICS_DB_PROPERTIES: "-Ddbagent.telemetry.enabled=true -Dretry.on.auth.failure=false"
CODE

データベースエージェントを展開する

データベースエージェントを展開するには、次の手順を実行します。

  1. EKS クラスタにデータベースエージェントを展開する
  2. configMap を更新する
  3. パラメータとしてアカウントアクセスキーを指定する

EKS クラスタにデータベースエージェントを展開する

yaml ファイルで以下のフィールドを更新します。

YAML ファイルフィールド

accessKey.secret.yaml

APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY

dbagentProperties.configMap.yamlAPPDYNAMICS_CONTROLLER_HOST_NAME
APPDYNAMICS_CONTROLLER_PORT
APPDYNAMICS_CONTROLLER_SSL_ENABLED
APPDYNAMICS_DB_AGENT_NAME
APPDYNAMICS_AGENT_ACCOUNT_NAME
dbagent.deployment.yamlspec.template.spec.containers.image

データベースエージェントを展開するには、次の手順を実行します。

  1. k8s-deploy ディレクトリに移動します。 

  2. db-agent プロパティの configMap を作成します。

    kubectl create -f dbagentProperties.configMap.yaml --save-config
    CODE
  3. アカウントアクセスキーのシークレットを作成します。

    kubectl create -f accessKey.secret.yaml --save-config
    CODE
  4. ログの configMap を作成します。

    kubectl create -f logs.configmap.yaml --save-config
    CODE
  5. db-agent の展開を作成します。

    kubectl create -f dbagent.deployment.yaml --save-config
    CODE

ラベルがクラスタ内の既存の展開と重複している場合は、deployment.yaml ファイル内のセレクタとラベルを編集できます。

セレクタまたはラベルを他のコントローラ(他の展開および StatefulSet を含む)と重複させないでください。Kubernetes では重複を防げません。したがって、複数のコントローラでセレクタが重複している場合、コントローラが競合して予期しない動作をする可能性があります。

configMap を更新する

  1. この展開で使用される以下の configMap ファイルを変更します。
    • appd-db-agent-properties
    • appd-db-agent-log-config
  2. configMap を再適用します。

    kubectl apply appd-db-agent-properties
    CODE
    kubectl apply appd-db-agent-log-config
    CODE
  3. db-agent 展開をロールアウトし、再起動します。

    kubectl rollout restart deployment <deployment-name>
    CODE

パラメータとしてアカウントアクセスキーを指定する

Splunk AppDynamics ではアカウントアクセスキーにはシークレットを使用することが推奨されています。

デフォルトでは、db-agent 展開はアカウントアクセスキーにシークレットを使用します。

ただし、アカウントアクセスキーをパラメータとして渡す場合は、次の手順を実行します。

  1. APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY プロパティを appd-db-agent-properties configMap に追加します。

    プロパティをエンコードしないでください。

  2. appd-db-agent-properties configMap を再適用します。

    kubectl apply appd-db-agent-properties
    CODE
  3. dbagent.deployment.yaml ファイル内の spec.template.spec.containers.envFrom.secretRef セクションをコメントアウトします。
  4. db-agent 展開を再適用します。

    kubectl apply -f dbagent.deployment.yaml
    CODE