The AppDynamics Cluster Agent is a new, lightweight agent written in Golang for monitoring Kubernetes and OpenShift clusters. The Cluster Agent is designed to help you monitor and understand how Kubernetes infrastructure affects your applications and business performance. With the Cluster Agent, you can collect metadata, metrics, and events about a Kubernetes cluster. The Cluster Agent works on Red Hat OpenShift and cloud-based Kubernetes platforms, such as Amazon EKS, Azure AKS, and Pivotal PKS.
Cluster Monitoring in the Controller
The Cluster Agent monitors events and metrics of Kubernetes or OpenShift clusters. It also tracks the state of most Kubernetes resources: pods, replica sets, deployments, services, persistent volumes, nodes, and so on. The data is received through the Kubernetes API at a configurable interval and is sent to the AppDynamics Controller. See Cluster Metrics.
Cluster Agent and Server Visibility with Docker Monitoring
AppDynamics Server Visibility is designed to monitor the worker nodes themselves at a more detailed level. Server Visibility includes the ability to monitor running containers via Docker Monitoring, however, the Cluster Agent also monitors the same containers through the Kubernetes API. You cannot run Server Visibility with Docker Monitoring enabled and the Cluster Agent at the same time. Doing so may result in your data being overwritten, and may lead to unpredictable behaviors.
When both agents are deployed to the cluster, make sure that the Machine Agent is deployed with Docker Visibility disabled. For instructions, see Controller Settings for Docker Visibility.
Cluster Dashboard Metrics
The Cluster Dashboard provides an overview of potential issues with cluster health, grouped by category and severity. It shows error events, evictions, node resource starvation, distribution of pod phases, issues associated with:
- application issues
- cluster configuration
- image or storage access issues
- security access errors
- quota violations.
The dashboard contains cluster resource capacity stats and resource utilization data relative to the deployment requests and limits for CPU, Memory and Storage. The dashboard also provides real-time stats about the state of monitored objects on the cluster, best-practice violations, and missing dependencies. See Monitor Cluster Health.
Cluster Agent Health Rules
You can create Cluster Agent Health Rules based on cluster metrics. Because Health Rules for Clusters are created using server health rules, the health rule violations for Clusters show as a server health rule violation. When creating the Health Rule, in the Affected Entities section, select Custom and then select your Cluster Agent from the list of machines. When setting the Critical/Warning conditions you will see the entire metric tree, select the Cluster Agent metrics for which the Health Rule needs to be created. To create Health Rules for Cluster Agent metrics, follow the procedures documented here Create a Health Rule.
Example of metrics for which Health Rules can be created include:
- Number of error events
- Number of evictions
- Number of threats
- Nodes with disk pressure
- Nodes with memory pressure
- CPU/Memory utilization vs to quotas
Cluster Agent Logs
The AppDynamics Cluster Agent writes log files to the <cluster-agent>/logs/cluster-agent-log file. It is possible to configure to write logs to
stdout. See View Cluster Agent Logs.