Splunk AppDynamics アプリケーション名戦略
コントローラのアプリケーション ダッシュボードには、3 つのアプリケーション名戦略が用意されています。次のいずれかの値に appNameStrategy プロパティを割り当てて、戦略を選択します。
手動:
cluster-agent.yamlファイル内のdefaultAppNameまたはappNameパラメータを使用して、アプリケーション名を設定します。ラベル:ワークロードの仕様のラベルをアプリケーション名として使用します。
名前空間:Kubernetes 名前空間をアプリケーション名として使用します。
手動戦略
デフォルトでは appNameStrategy が manual となり、 defaultAppName または appName パラメータを使用してアプリケーション名を設定します。
defaultAppNameが指定されている場合は、インストゥルメンテーション ルールで上書きされない限り、これを使用します。appNameがインストゥルメンテーション ルールで指定されている場合は、それを使用します。
たとえば、次の仕様で、ECommerce は ecom および groceries 名前空間に適用されるデフォルトのアプリケーション名であり、BookStore は books 名前空間に適用されるアプリケーション名です。
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<cluster-name>"
# ...
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
appNameStrategy: manual
defaultAppName: ECommerce
instrumentationRules:
- namespaceRegex: books
appName: BookStore
ラベル戦略
このオプションでは、アプリケーション名戦略として label パラメータを使用します。ラベルオプションを使用するには、appNameLabel パラメータに値を指定します。appNameLabel 値は、ワークロード仕様で指定されたラベルを参照します。
spec.appNameLabelが指定されている場合は、仕様レベルの値が使用されます。- インストルメンテーション ルールで
appNameLabelが指定されている場合は、仕様で別の appNameLabel が指定されていない限り、その値が使用されます。 - インストルメンテーション ルールで指定された appNameLabel が導入仕様で見つからない場合は、仕様レベルの
appNameLabel値が使用されます。
次の仕様例では、appNameLabel: app がインストルメンテーション ルールで使用されていますが、導入仕様には app ラベルがありません。仕様には、値が eCommerce の appname というラベルがあるため、コントローラには eCommerce アプリケーションにレポートするデータが表示されます。
次の仕様では、ワークロード仕様のラベル appname を使用して ecom と groceries 名前空間のアプリケーション名を設定し、ラベル app を books 名前空間で使用します。
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<cluster-name>"
# ...
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
appNameStrategy: label
appNameLabel: appname
instrumentationRules:
- namespaceRegex: books
appNameLabel: app
次の導入仕様のスニペットに示すように、appname ラベルを設定する ecom または groceries 名前空間に導入されたアプリケーションの場合、コントローラのアプリケーション ダッシュボードで e-コマースアプリケーションにレポートされます。
apiVersion: apps/v1
kind: Deployment
metadata:
name: ecom-app
labels:
appname: eCommerce
spec:
...
名前空間戦略
このオプションで Kubernetes namespace パラメータをアプリケーション名戦略として使用すると、コントローラのアプリケーション ダッシュボードでアプリケーションが展開されている名前空間名をアプリケーション名として使用できます。
次の仕様では、ecom、books、および groceries 名前空間の各アプリケーションで、展開先の名前空間に基づいてアプリケーション名が使用されます。
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<cluster-name>"
# ...
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
appNameStrategy: namespace