Splunk AppDynamics アプリケーション名戦略

コントローラのアプリケーション ダッシュボードには、3 つのアプリケーション名戦略が用意されています。次のいずれかの値に appNameStrategy プロパティを割り当てて、戦略を選択します。

  • 手動cluster-agent.yaml ファイル内の defaultAppName または appName パラメータを使用して、アプリケーション名を設定します。

  • ラベル:ワークロードの仕様のラベルをアプリケーション名として使用します。

  • 名前空間:Kubernetes 名前空間をアプリケーション名として使用します。

手動戦略

デフォルトでは appNameStrategymanual となり、 defaultAppName または appName パラメータを使用してアプリケーション名を設定します。

  • defaultAppName が指定されている場合は、インストゥルメンテーション ルールで上書きされない限り、これを使用します。
  • appName がインストゥルメンテーション ルールで指定されている場合は、それを使用します。

たとえば、次の仕様で、ECommerceecom および groceries 名前空間に適用されるデフォルトのアプリケーション名であり、BookStorebooks 名前空間に適用されるアプリケーション名です。

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 ラベルがありません。仕様には、値が eCommerceappname というラベルがあるため、コントローラには eCommerce アプリケーションにレポートするデータが表示されます。

次の仕様では、ワークロード仕様のラベル appname を使用して ecomgroceries 名前空間のアプリケーション名を設定し、ラベル appbooks 名前空間で使用します。

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 パラメータをアプリケーション名戦略として使用すると、コントローラのアプリケーション ダッシュボードでアプリケーションが展開されている名前空間名をアプリケーション名として使用できます。

次の仕様では、ecombooks、および 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