Download PDF
Download page AppDynamics Collectors Settings.
AppDynamics Collectors Settings
This page provides a complete list of configurations for the appdynamics-cloud-k8s-monitoring
subchart. For global settings, see Configure AppDynamics Cloud Kubernetes Collectors.
appdynamics-cloud-k8s-monitoring
Configuration
You can include these configuration options under the appdynamics-cloud-k8s-monitoring
key in the collectors-values.yaml
file:
To reinstall or upgrade the collectors, see Upgrade or Uninstall Kubernetes and App Service Monitoring.
Install Switches Configuration
You can include the following configurations under the install key:
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
| Set this option to True if you are installing cluster monitoring. | Optional | true | No |
defaultInfraCollectors | Set this option to True if you are installing server and container monitoring. | Optional | true | No |
logCollector | Set this option to True if you are installing log collector monitoring | Optional | false | No |
Role-Based Access Control (RBAC) Configuration
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
| The name of the service account to create for the Cluster Collector. | Optional |
| Yes |
| The name of the service account to create for the Infrastructure Collector. | Optional |
| Yes |
| The name of the service account to create for the Log Collector. | Optional |
| Yes |
Collectors Configuration
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
Cluster Collector (include these configuration options under the clustermonConfig key) | ||||
logLevel | The log level of the collector. | Optional | info | No |
logFilesMaxSizeMb | The maximum size of one log file (in MB). | Optional | 10 | No |
logFilesNumBackups | The maximum number of log files created before overwriting the oldest one. | Optional | 4 | No |
| Whether Kubernetes® logs will report logs. | Optional | true | No |
filters | The filters that you can use for monitoring. You can include these filters:
| Optional |
YML
| No |
ingressControllers | Configuration override for ingress controller labels and metrics port. | Optional |
YML
| No |
events | The events that require collection. You can exclude the required events based on the severity (INFO, WARNING, SEVERE) and Kubernetes event reason. You can create a custom event group classified as severe events. This classifies the events as severe based on the list of event reasons that you specify in the | Optional |
YML
| No |
Infrastructure Collector (include these configuration options under the infraManagerConfig key) | ||||
| The log level of Infrastructure Collector. | Optional | info | No |
| The maximum size of one log file (in MB). | Optional | 10 | No |
| The maximum number of log files created before overwriting the oldest one. | Optional | 4 | No |
| Determines whether logs report through Kubernetes logs. | Optional | true | Yes |
Server Collector Configuration (include these configuration options under the servermonConfig key) | ||||
exporterPort | The port used to start Node Exporter. | Optional | 9100 | No |
| The log level of the Server Collector. | Optional | info | No |
| The maximum size of one log file (in MB). | Optional | 10 | No |
| The maximum number of log files created before overwriting the oldest one. | Optional | 4 | No |
Container Collector Configuration (include these configuration options under the containermonConfig key) | ||||
| The log level of the Container Collector. | Optional | info | No |
| The maximum size of one log file (in MB). | Optional | 10 | No |
| The maximum number of log files created before overwriting the oldest one. | Optional | 4 | No |
To include the Log Collector configuration options, see AppDynamics Log Collector Settings.
Supported Kubernetes Configuration Options
Kubernetes supports the following parameters which are configurable through the collectors-values.yaml
file:
- Cluster Collector Pod Configuration
- Infrastructure Collector Pod Configuration
- Log Collector Pod Configuration
Cluster Collector Pod Configuration
You can include the following configuration options under the clustermonPod
key in collectors-values.yaml
:
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
image | The Cluster Collector image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional | appdynamics/appdynamics-cloud-k8s-monitoring:22.10.0-1366 | No |
imagePullPolicy | Image pull policy for the Cluster Collector pod. | Optional | Always | No |
resources | Resources you assign to the pod. | Optional |
YML
| No |
labels | Labels for the pod. | Optional | { } | Yes |
annotations | Annotations for the pod. | Optional | { } | No |
nodeSelector | Node selector for the pod. | Optional | { } | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
affinity | Affinity for the pod. | Optional | { } | No |
tolerations | Tolerations for the pod. | Optional | [ ] | No |
securityContext | Security Context for the pod. | Optional | { } | No |
Infrastructure Collector Pod Configuration
You can include the following configuration options under the inframonPod
key in collectors-values.yaml
:
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
image | Infrastructure Collector image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional | appdynamics/appdynamics-cloud-k8s-monitoring:22.10.0-1366 | No |
imagePullPolicy | Image pull policy for the Infrastructure Collector pod. | Optional | Always | No |
resources | Resources you assign to the pod. | Optional |
YML
| No |
labels | Labels for the pod. | Optional | { } | Yes |
annotations | Annotations for the pod. | Optional | { } | No |
nodeSelector | Node selector for the pod. | Optional | { } | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
affinity | Affinity for the pod. | Optional | { } | No |
tolerations | Tolerations for the pod. If you have used taints on any of the nodes in the cluster, ensure to add this configuration to monitor the nodes. For more information see Monitor Tainted Nodes. | Optional | [ ] | No |
securityContext | Security Context for the pod. | Optional | { } | No |
Log Collector Pod Configuration
You can include the following configuration options under the logCollectorPod
key in collectors-values.yaml
:
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
image | Log Collector image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional |
| No |
imagePullPolicy | Image pull policy for the Log Collector pod. | Optional | Always | No |
resources | Resources you assign to the pod. | Optional |
YML
| No |
labels | Labels for the pod. | Optional | { } | Yes |
annotations | Annotations for the pod. | Optional | { } | No |
nodeSelector | Node selector for the pod. | Optional | { } | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
affinity | Affinity for the pod. | Optional | { } | No |
tolerations | Tolerations for the pod. If you have used taints on any of the nodes in the cluster, ensure to add this configuration to monitor the nodes. For more information see Monitor the Tainted Nodes. | Optional | [ ] | No |
securityContext | Security Context for the pod. | Optional | { } | No |
Example of Using the Configuration Options
The following example outlines the use of all the configuration options the collectors chart provides:
global:
clusterName: sampleCluster
appdynamics-cloud-k8s-monitoring:
install:
clustermon: true
defaultInfraCollectors: true
logCollector: false
# RBAC config
clustermonServiceAccount: appdynamics-clustermon
inframonServiceAccount: appdynamics-inframon
logCollectorServiceAccount: appdynamics-log-collector
#Clustermon Configs
clustermonConfig:
logLevel: info
logFilesMaxSizeMb: 10
logFilesNumBackups: 4
printToStdout: "true"
filters:
namespace:
includeRegex: "dev.*"
excludeRegex: "secure.*"
entity:
excludeRegex: "counter.*"
excludeLabels:
- selector:
version: v1
env: prod
- selector:
version: v2
env: dev
label:
excludeRegex: "pass.*"
ingressControllers:
nginx:
port: 10254
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
events:
enabled: true
severityToExclude: [Normal]
reasonToExclude: [BackOff, Started]
severeGroupByReason: [Failed, Evicted]
#Infrastructure Collector Configs
infraManagerConfig:
logLevel: info
logFilesMaxSizeMb: 10
logFilesNumBackups: 4
printToStdout: "true"
#Servermon Configs
servermonConfig:
logLevel: info
logFilesMaxSizeMb: 10
logFilesNumBackups: 4
exporterPort: 9100
#Containermon Configs
containermonConfig:
logLevel: info
logFilesMaxSizeMb: 10
logFilesNumBackups: 4
#Log Collector Configs
logCollectorConfig:
container:
conditions:
- condition:
operator: equals
key: kubernetes.container.name
value: log-generator-logback
messageParser:
logback:
enabled: true
pattern: "%d{yyyy-MM-dd'T'HH:mm:ss.nnnnnnnnn} %p %C{1.} [%t] %m%n"
multiLinePattern: '^[[:space:]]+(at|\.{3})[[:space:]]+\b|^Caused by:'
monitoring:
enabled: false
#Deployment specific configs
clustermonPod:
image: appdynamics/appdynamics-cloud-k8s-monitoring:22.10.0-1366
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
labels:
key1: "value1"
annotations:
key2: "value2"
tolerations:
- key: "key3"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
disktype: ssd
imagePullSecrets:
- name: aws-ecr-secret
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key4
operator: In
values:
- value3
- value4
securityContext:
fsGroupChangePolicy: "OnRootMismatch"
#Daemonset specific configs
inframonPod:
image: appdynamics/appdynamics-cloud-k8s-monitoring:22.10.0-1366
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
labels:
key1: "value1"
annotations:
key2: "value2"
tolerations:
- key: "key3"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
disktype: ssd
imagePullSecrets:
- name: aws-ecr-secret
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key4
operator: In
values:
- value3
- value4
securityContext:
fsGroupChangePolicy: "OnRootMismatch"
#Daemonset specific configs
logCollectorPod:
image: appdynamics/appdynamics-cloud-log-collector-agent:22.8.0-304
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 64Mi
labels:
key1: "value1"
annotations:
key2: "value2"
tolerations:
- key: "key3"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
disktype: ssd
imagePullSecrets:
- name: aws-ecr-secret
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key4
operator: In
values:
- value3
- value4
securityContext:
fsGroupChangePolicy: "OnRootMismatch"
OpenTelemetry™ and Kubernetes® (as applicable) are trademarks of The Linux Foundation®.