Cluster Agent Configuration Files

This page provides a reference for these internal configuration files used by the Cluster Agent:

  • agent-monitoring.yml
  • bootstrap-config.yml
  • logger-config.yml
Important: We recommend that you do not change the default values unless asked to do so by the customer support. Values supplied by the Splunk AppDynamics Operator always take precedence over the internal configuration files.

Agent Monitoring Configuration Reference

The agent-monitoring.yml file contains configuration information that can be modified by the Cluster Agent. The table lists the fields expected by the agent-monitoring.yml file. Use these fields to configure pods and containers monitored by the Cluster Agent:

Field nameDescriptionDefault
blocklisted-label (Optional) Field used to specify a Kubernetes label (a key-value pair). If this label exists, then the container, or pod, is not monitored. In the example, any pods with the label appdynamics.exclude set to true are blocklisted.
appdynamics.exclude: true
blocklisted-names (Optional) Field used to specify which pods and containers are not monitored. In the example, the pod ignored-pod with associated containers container3 and container4 are not monitored.Empty
cluster-metric-collection-interval-seconds

How often the Agent collects metrics in seconds Do not set this value to less than 30 seconds.

60
container-filter (Optional) Blocklist or allowlist pods and containers, based on the container names.Empty
container-registration-batch-size Maximum number of containers per batch in one registration cycle. 25
container-registration-max-parallel-requests Maximum number of batches in one registration cycle 3
metadata-collection-interval-seconds

How often metadata is collected for containers and pods.

60
metric-collection-interval-seconds

Sampling interval at which metrics should be collected periodically.

Do not set this value to less than 15 seconds.

Note: The Kubernetes Metrics Server's sampling interval must be the same as this configuration value. Any change to this configuration requires a re-deployment of the Kubernetes metrics-server add-on.
  • Default metric collection sampling interval is 30 seconds
  • Default collection interval in kubelet is 15 seconds
metric-upload-retry-count

Number of times metric upload action to be attempted, if unsuccessful for the first time.

3
metric-upload-retry-interval-milliseconds

Interval between consecutive metric upload retries, in milliseconds

5
pod-registration-batch-size

Maximum number of pods per batch in one registration cycle

30
allowlisted-names (Optional) Field used to specify pods and containers to monitor. In the example, the pod monitored-pod with its containers container1 and container2 are monitored.Empty

agent-monitoring.yml example:

metric-collection-interval-seconds: 30
container-filter:
  blocklisted-label:
    appdynamics.exclude:
      true
#  allowlisted-names:
#    pod-name1:
#      container-name1
#      container-name2
#    pod-name2:
#      container-name1
#      container-name2
#    pod-name3:
#      container-name1
#      container-name2
#  blocklisted-names:
#    pod-name:
#      container-name1
#      container-name2
#    pod-name2:
#      container-name1
#      container-name2

Bootstrap Configuration Reference

The bootstrap-config.yml file contains configuration information read by the Cluster Agent during start up. The table lists the fields expected by the bootstrap-config.yml file:

Field nameDescriptionDefault
account Name of the account on the Controller Empty
account-access-key Account access keyEmpty
cluster-name Unique name assigned to the monitoring clusterEmpty
container-registration-interval-seconds

How often the Cluster Agent sends container information to the Controller. The interval at which the Cluster Agent checks for running containers.

Modify the default value only if you want to discover running containers more frequently; use the default value for most environments.

120
controller-host Controller host nameEmpty
controller-port Controller portEmpty
controller-ssl-enabled Denotes if the Controller is SSL-enabled. false
event-upload-interval-seconds How often events are uploaded to the Controller, in seconds. 10
http-client-timeout-seconds Number of seconds after which the server call is terminated if no response is received from the Controller. 30
log-output-directory Directory to which the logs should be written. logs
monitored-namespaces Namespaces to be monitored in the cluster; comma-separated strings. default

bootstrap-config.yml example:

account: <account-name>
account-access-key:<account-access-key>
controller-host: localhost
controller-port: 8090
cluster-name: <cluster-name>
monitored-namespaces: default
event-upload-interval-seconds: 10
container-registration-interval-seconds: 120
http-client-timeout-seconds: 30
log-output-directory: logs
# SSL configuration
controller-ssl-enabled: false

Logging Configuration Reference

By default, the Cluster Agent writes log files to the <cluster_agent_home>/logs/<node_name> directory.

You can control the logging level for the Cluster Agent by changing the value of the log-level parameter. For maximum debugging information, set the logger-config.yml logging level toDEBUG.

You can modify the logger-config.yml file and set values for these attributes:

AttributeDescriptionDefaultType
log-level Number of log details: INFO , WARNING , DEBUG or TRACE. INFO String
max-filesize-mb Maximum file size of the log in MB 5 Integer
max-backups Maximum number of backups the log saves. When the maximum number of backups is reached, the oldest log file after the initial log file is deleted. 3 Integer
write-to-stdout Write logging information to stdout . Options: true , false . true String

logger-config.yml example:

log-level: INFO
max-filesize-mb: 5
max-backups: 3
write-to-stdout: true