Download PDF
Download page Cisco AppDynamics Collectors Settings.
Cisco AppDynamics Collectors Settings
This page provides a complete list of configurations for the appdynamics-cloud-k8s-monitoring
subchart. For global settings, see Configure Cisco AppDynamics 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 |
Agent Management Configuration
You can include the following configurations under the agentManagementEnabled
key:
Parameter | Description | Required | Default | Reinstall Required |
---|---|---|---|---|
clustermon | By default this value is set to true. This displays the cluster collector details in Agent Management page (Cisco Cloud Observability>Tools>Agent Management). | Optional |
| No |
defaultInfraCollectors | By default this value is set to true. This displays the Infrastructure collector details in Agent Management page (Cisco Cloud Observability>Tools>Agent Management). | Optional |
| No |
logCollector | By default this value is set to true. This displays the log collector details in Agent Management page (Cisco Cloud Observability>Tools>Agent Management). | Optional |
| 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 |
os | The operating system of the nodes on which Cluster Collector will be installed. This can be either | Optional | linux | No |
| Whether Kubernetes® logs will report logs. | Optional | true | No |
filters | The filters that you can use for monitoring. You can include these filters:
When you filter namespaces using
CODE
To specify entity filters with a scope, use
| 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 |
configurations | This allows you to enable or disable monitoring Configurations (ConfigMap, Secret) By default this is enabled. | Optional |
CODE
| No |
autoscalers | This allows you to enable or disable monitoring the auto scalers (HPA) By default this is enabled. | Optional |
CODE
| No |
labels | This allows you to enable or disable labels collection By default this is enabled. | Optional |
CODE
| 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) | ||||
os | The operating system of the nodes on which the Server Collector will be installed. This can be any of the following:
| Optional | [linux] | No |
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 |
env | To override the parameters mentioned in this table for a specific operating system. For example, if you want to set different logLevel for linux and Windows include the following:
CODE
| Optional | { } | No |
Container Collector Configuration (include these configuration options under the containermonConfig key) | ||||
os | The operating system of the nodes on which the Container Collector will be installed. This can be any of the following:
| Optional | [linux] | No |
| 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 |
env | To override the parameters mentioned in this table for a specific operating system. For example, if you want to set different
CODE
| Optional | { } | No |
To include the Log Collector configuration options, see 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
- Windows Exporter 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 |
---|---|---|---|---|
affinity | Affinity for the pod. | Optional | { } | No |
annotations | Annotations for the pod. | Optional | { } | No |
image | The Cluster Collector image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional |
| No |
imagePullPolicy | Image pull policy for the Cluster Collector pod. | Optional | Always | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
labels | Labels for the pod. | Optional | { } | Yes |
nodeSelector | Node selector for the pod. | Optional |
| No |
priorityClassName | The name of the pod priority class, which is used in the pod specification to set the priority. | Optional | NA | No |
resources | Resources you assign to the pod. The default resource values are based on the deployment profiles described in Performance and Scaling for Kubernetes Collectors and Operators. For information on performance and scaling, review that page. | Optional |
YML
| No |
securityContext | Security Context for the pod. | Optional | { } | No |
tolerations | Tolerations for the pod. | Optional | [ ] | No |
Windows Exporter Pod Configuration
Parameter | Description | Required | Default | |
---|---|---|---|---|
affinity | Affinity for the pod. | Optional | { } | No |
annotations | Annotations for the pod. | Optional | { } | No |
image | The Windows Exporter image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional | ghcr.io/prometheus-community/windows-exporter:0.23.1 | No |
imagePullPolicy | Image pull policy for the Windows Exporter pod. | Optional | Always | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
labels | Labels for the pod. | Optional | { } | Yes |
nodeSelector | Node selector for the pod. | Optional |
| No |
priorityClassName | The name of the pod priority class, which is used in the pod specification to set the priority. | Optional | NA | No |
resources | Resources you assign to the pod. | Optional |
YML
| No |
securityContext | Security Context for the pod. | Optional | { } | No |
tolerations | Tolerations 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 |
---|---|---|---|---|
affinity | Affinity for the pod. | Optional | { } | No |
annotations | Annotations for the pod. | Optional | { } | No |
env | To override the parameters mentioned in this table for a specific operating system. For example, if you want to set different
CODE
| Optional | { } | No |
image | Infrastructure Collector image address in format: <registryUrl>/<registryAccount>/<project>:<tag> | Optional |
| No |
imagePullPolicy | Image pull policy for the Infrastructure Collector pod. | Optional | Always | No |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
labels | Labels for the pod. | Optional | { } | Yes |
nodeSelector | Node selector for the pod. | Optional |
| No |
priorityClassName | The name of the pod priority class, which is used in the pod specification to set the priority. | Optional | NA | No |
resources | Resources you assign to the pod. The default resource values are based on the deployment profiles described in Performance and Scaling for Kubernetes Collectors and Operators. For information on performance and scaling, review that page. | Optional | For Linux:
YML
For Windows:
YML
| No |
securityContext | Security Context 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 |
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 |
---|---|---|---|---|
annotations | Annotations for the pod. | Optional | { } | No |
affinity | Affinity for the pod. | Optional | { } | No |
env | To override the parameters mentioned in this table for a specific operating system. For example, if you want to set different
CODE
| Optional | { } | No |
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 |
imagePullSecrets | Image pull secrets for the pod. | Optional | [ ] | No |
labels | Labels for the pod. | Optional | { } | Yes |
nodeSelector | Node selector for the pod. | Optional |
| No |
priorityClassName | The name of the pod priority class, which is used in the pod specification to set the priority. | Optional | NA | No |
resources | Resources you assign to the pod. | Optional |
YML
| No |
securityContext | Security Context 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 |
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: "kube-root-ca.crt|openshift-service-ca.crt|counter.*"
excludeLabels:
- selector:
version: v1
env: prod
- selector:
version: v2
env: dev
label:
excludeRegex: "pass.*|web.*"
annotation:
excludeRegex: "pass.*|web.*"
scopedFilters:
- scope:
namespaceRegex: ""
entityTypes: [""]
entityFilter:
excludeRegex: ""
- scope:
namespaceRegex: ""
entityTypes: [""]
entityFilter:
excludeLabels:
- owner: "helm"
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:24.7.0-2057
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:24.7.0-2057
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:24.4.0-1163
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®.