PDF
Download PDF
Download page 自動インストゥルメンテーションの構成例.
自動インストゥルメンテーションの構成例
このページでは、一般的な自動インストゥルメンテーション構成シナリオの例について説明します。
- Example 1:
ecom
名前空間内のすべての展開をインストゥルメント化します。各ポッドで実行されている Java エージェントは、Ecommerce
アプリケーションでコントローラに登録され、階層名はデフォルトで Kubernetes の展開名になります。 - Example 2:すべての名前空間の、名前が
Payment
で始まり、ラベルmodule=payment
を持つ展開のみをインストゥルメント化します。 - Example 3:名前空間
ecom
およびbooks
のすべての展開をインストゥルメント化します。books
名前空間内のアプリケーションの場合は、コントローラでBookStore
というアプリケーション名を使用し、Java エージェントの特定のバージョンを使用します。 - Example 4:
groceries
名前空間が別のコントローラのアプリケーション名を使用するように例 3 の構成を上書きし、the -javaagent
Java 引数を挿入するようにJAVA_OPTS
環境変数を上書きします。 - Example 5:名前空間
books
の Node.js アプリケーションと、名前空間groceries
の .NET Core Linux アプリケーションをインストゥルメント化します。また、Node.js アプリケーションで、分析エージェントにトランザクションデータを送信する必要があります。 - Example 6:Java アプリケーションの
str
で始まる名前のコンテナを、名前空間ecom
でインストゥルメント化します。また、controllerConf
ConfigMap にあるcontroller-info.xml
およびapp-agent-config.xml
構成ファイルとlogConf
ConfigMap にあるエージェントのロギング設定用のlog4j2.xml
ファイルのカスタムエージェント設定を使用します。これらのConfigMaps
はクラスタエージェントの名前空間にあります。 - Example 7:
groceries
名前空間のすべての展開をインストゥルメント化し、books
およびecom
名前空間のPayment
で始まる名前が付いた展開のみをインストゥルメント化します。
All Deployments within a Namespace
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom
defaultAppName: Ecommerce
instrumentationRules:
- language: java
imageInfo:
image: docker.io/appdynamics/java-agent:latest
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
YML
Specify Names and Labels in a Deployment
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: .*
defaultAppName: Ecommerce
instrumentationRules:
- matchString: ^Payment
labelMatch:
- module: payment
YML
Instrument Deployments in Namespaces and Specify Agent Versions
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books
defaultAppName: Ecommerce
instrumentationRules:
- namespaceRegex: books
appName: BookStore
imageInfo:
image: "docker.io/appdynamics/java-agent:21.7.0"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
- namespaceRegex: ecom
YML
Override Configuration Using Environment Variables
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
defaultAppName: Ecommerce
imageInfo:
java:
image: "docker.io/appdynamics/java-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
instrumentationRules:
- namespaceRegex: books
appName: BookStore
imageInfo:
image: "docker.io/appdynamics/java-agent:21.7.0"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
- namespaceRegex: groceries
appName: Groceries
env: JAVA_OPTS
- namespaceRegex: ecom
#no appName and matchstring for this rule so it will take default appName and default matchstring which is .*
YML
Instrument a Node.js Application with Analytics Agent
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
defaultAppName: Ecommerce
appNameStrategy: namespace
imageInfo:
java:
image: "docker.io/appdynamics/java-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
instrumentationRules:
- namespaceRegex: groceries
language: dotnetcore
imageInfo:
image: "docker.io/appdynamics/dotnet-core-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
- namespaceRegex: books
matchString: openmct
language: nodejs
imageInfo:
image: "docker.io/appdynamics/nodejs-agent:20.5.0-alpinev10"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
analyticsHost: <hostname of the Analytics Agent>
analyticsPort: 443
analyticsSslEnabled: true
YML
Instrument Containers with Custom Agent Configuration
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom
defaultAppName: Ecommerce
instrumentationRules:
- namespaceRegex: ecom
matchString: ^Payment
appName: <application-name>
language: <language>
customAgentConfigSource:
- configMapName: controllerConf
subDir: /ver20.8.0.3686/conf/
- configMapName: logConf
subDir: /ver20.8.0.3686/conf/logging
instrumentContainer: select
containerMatchString: ^str
imageInfo:
image: <image-repo>
imagePullPolicy: IfNotPresent
YML
Instrument Namespaces and Specify Unique Names
apiVersion: cluster.appdynamics.com/v1alpha1
kind: Clusteragent
metadata:
name: k8s-cluster-agent
namespace: appdynamics
spec:
appName: "<app-name>"
controllerUrl: "<protocol>://<appdynamics-controller-host>:8080"
account: "<account-name>"
# docker image info
image: "<your-docker-registry>/appdynamics/cluster-agent:tag"
serviceAccountName: appdynamics-cluster-agent
nsToMonitor:
- "default"
# auto-instrumentation config
instrumentationMethod: Env
nsToInstrumentRegex: ecom|books|groceries
defaultAppName: Ecommerce
appNameStrategy: namespace
defaultMatchString: ^payment
imageInfo:
java:
image: "docker.io/appdynamics/java-agent:latest"
agentMountPath: /opt/appdynamics
imagePullPolicy: Always
instrumentationRules:
- namespaceRegex: groceries
matchString: .*
- namespaceRegex: ecom|books
#no matchstring so it will take default matchstring which is ^payment
YML