このページでは、Kubernetes 環境でアプリケーション サーバ エージェントを設定し、init コンテナまたは Dockerfile を使用して手動でアプリケーションをインストゥルメント化する場合に使用するベストプラクティスについて説明します。
環境変数を使用して、Kubernetes でアプリケーション サーバ エージェントを設定できます。ユースケースに応じて、環境変数を設定するオプションは次の 3 つです。
これらのベストプラクティスを実装するには、言語固有のコンテナインストールページを参照してください。
Splunk AppDynamics にアクセスするには、ログイン情報と、組織の Splunk AppDynamics コントローラにアクセスできる URL が必要です。この情報が不明な場合は、Splunk AppDynamics 管理者に問い合わせてください。
Kubernetes で実行されているコンテナをインストゥルメント化する場合、環境変数を設定する各アプリケーション サーバ エージェントで、次のような設定を行う必要があります。
- 接続パラメータ
- アプリケーションメタデータ
- エージェントの動作
ConfigMap を使用して、アプリケーションの環境変数を名前空間の範囲内にある Kubernetes オブジェクトに保存できます。ConfigMap は、名前空間内の複数の Kubernetes アプリケーション間で共有されるエージェント設定を管理するために使用される、最適な 12 要素方式です。
コントローラのログイン情報の設定は、単一の ConfigMap に保存され、そのコントローラにレポートする名前空間内の各アプリケーションで共有されます。開発、テスト、実稼働などの異なる環境で複数のコントローラを使用する場合は、それらの環境に関連付けられている名前空間に異なる ConfigMap を保存できます。
コントローラのアクセスキーは、環境変数としてアプリケーション サーバ エージェントに渡すことができるもう一つの設定です。機密データは、ConfigMap ではなく、秘密を使用して Kubernetes 名前空間に保存されます。値は、プレーンテキストで操作するのではなく、Kubernetes の秘密を使用して難読化することができます。
Splunk AppDynamics コントローラのアプリケーション階層名は、特定の Splunk AppDynamics アプリケーションで報告するサービスを識別します。アプリケーション階層名は、Kubernetes アプリケーションごとに異なるエージェント設定の一例ですが、通常は環境や名前空間によって異なります。階層名のようなアプリケーション固有の設定は、Kubernetes 導入仕様で直接定義する方が簡単です。
エージェント環境変数を設定すると、それらがアプリケーションに追加されたことを確認できます。
環境変数を確認するには、次の手順を実行します。
- ConfigMap を作成します。
シークレットを作成します。
導入仕様で環境変数を作成します。
- アプリケーションコンテナを再起動します。
kubectl exec
を使用してコンテナにログインします。
kubectl -n ecommerce exec -it <pod name> /bin/sh
BASH
コンテナで使用可能な Splunk AppDynamics 環境変数をリストし、それらが定義され、正しい値が指定されていることを確認します。
env | grep APPD
APPDYNAMICS_AGENT_APPLICATION_NAME=<value>
APPDYNAMICS_AGENT_ACCOUNT_NAME=<value>
APPDYNAMICS_CONTROLLER_HOST_NAME=<value>
...
BASH