Kubernetes is one of the most popular systems on the container orchestration landscape today. According to Redmonk, 71% of Fortune 100 companies use containers, with more than 50% using Kubernetes as their container orchestration platform. With containers and orchestrators becoming very popular, creating highly dynamic environments with rapidly changing workloads, there’s a strong need to monitor these components dynamically.
Due to the ephemeral nature of pods and containers, many organizations are facing the challenge of monitoring Kubernetes environments at scale. While they’re excited about the scaling possibilities, companies are also concerned with how to maintain visibility into Kubernetes’ performance and health.
As a Kubernetes environment continues to scale—growing more complex and cumbersome to manage—it becomes challenging to measure the health of the cluster. It is important to monitor the hierarchy of the cluster along with the health of the elements (nodes, pods, containers and applications) within the cluster.
AppDynamics Cluster Agent Provides Streamlined Monitoring Data Collection
We developed the AppDynamics Kubernetes Cluster Agent to provide an easy, streamlined approach to collecting cluster-level monitoring data. This approach is particularly beneficial for large Kubernetes clusters with hundreds or thousands of nodes, as it significantly reduces the load on the API server while still allowing you to surface valuable insights.
The AppDynamics Cluster Agent gives you insights into how your containers are behaving and helps you keep track of scheduling-related issues. The Agent also retrieves system-level data and automatically discovers and monitors applications running on the node.
Read more about each of our Cluster Agent components in the official Kubernetes documentation.
Dynamic deployments of applications across a Kubernetes cluster.
Collect Cluster-Level Data from API Server
In addition to collecting these node-level metrics, the AppDynamics Cluster Agent queries the API server on the master node to collect data on the behavior of specific Kubernetes components, and also gathers key metadata on the cluster as a whole.
Each Agent retrieves the list of services that target the pods scheduled on that particular node, uses this data to map relevant application metrics to services, and then tags each metric with the appropriate pod name and service. You can also configure agents to elect a leader that queries the API server regularly to collect Kubernetes events. Although this setup provides visibility into all layers of your cluster, it places increasing load on the API server and etcd as the size of the cluster increases.
Explore Our AppDynamics Cluster Agent
By offering powerful tools such as the AppDynamics Kubernetes Cluster Agent, we’re dedicated to ensuring your teams will continue to use Kubernetes for massive scale and functionality. And with the dynamic challenges facing IT operations and development teams, the AppDynamics Kubernetes Cluster Agent provides a clear way to visualize and determine the health of your Kubernetes environments.
The AppDynamics Cluster Agent is available now, and you can deploy it by following the guidelines in our documentation. If you’re already using the AppDynamics Cluster Agent to monitor a Kubernetes cluster, this migration plan can help you roll out the new version of the node-based Agent and benefit from the Cluster Agent.
We would love to hear from you! Reach out to our support team with any questions or feedback. Visit us at KubeCon + CloudNativeCon in San Diego from November 18-21, and AWS re:Invent 2019 in Las Vegas from December 2-6 to view live demos of our AppDynamics Kubernetes Cluster Agent.