Just recently we launched AppDynamics for Kubernetes, giving enterprises end-to-end, unified visibility into their entire Kubernetes stack and Kubernetes-orchestrated applications for both on-prem and public cloud environments. Our industry-leading APM provides visibility into Kubernetes by leveraging labels such as Namespace, Pod or ReplicaSet. And AppDynamics customers can organize, group, query or filter Kubernetes objects or performance metrics based on labels.
Of course, we’re always finding ways to make things better. As a preview of what’s to come, we’re now offering the AppDynamics Kubernetes Events Monitor Extension, which we plan to incorporate into future builds of our core solution.
In our 4.4.3 release, built-in Kubernetes capabilities focus on monitoring the containers and applications that run on top of Kubernetes. This new extension adds the additional capability of monitoring metrics provided by the Kubernetes Events API.
By monitoring these events, our extension enables enterprises to troubleshoot everything that goes wrong in the Kubernetes orchestration platform—from scaling up/scaling down, new deployments, deleting applications, creating new applications, and so on. If an event goes to a warning state, users can drill down into the warning to see where it occurred, making troubleshooting easier.
How It Works
Kubernetes usually stores events for a certain amount of time, which by default isn’t very long. After an hour, in fact, the events get purged. The AppDynamics Machine Agent, in addition to being used to report on basic hardware metrics (CPU, memory, disk, etc.) is the hook for custom extensions, including our new Kubernetes Events Monitor Extension.
It’s fairly easy to install our new extension. You’ll find detailed instructions here, but here’s a quick overview:
Deploy the AppDynamics Machine Agent as you normally would, and then add the Kubernetes Events Monitor Extension to it. If you’re deploying the Machine Agent using Docker, as a Kubernetes daemonset, simply add the extension to the container.
Configuration is simple. The extension just needs to know how to connect to the Kubernetes Cluster (from your kubectl client config), as well as your credentials for logging into the AppDynamics platform.
Once setup is complete, you’ll be able to push Kubernetes events to AppDynamics.
Once configured, the Kubernetes Events Monitor Extension will query Kubernetes events every minute.
The extension tracks all events happening in Kubernetes, including time-stamping information and messages. Below is a sample dashboard:
Here’s a closer view:
The Event Details view provides more information. Below, the Message field shows that Kubernetes tried to attach a volume to a running deployment, but couldn’t mount it due to a timeout.
The Events Monitor Extension also shows the Kubernetes Namespace—important information for locating where the event occurred (e.g., the specific host and component) in the Kubernetes cluster.
Like all AppDynamics extensions, the Kubernetes Events Monitor Extension is user-configurable. For example, with a few simple edits to the extension configuration file, you can change the default one-minute query time for Kubernetes events, the duration of timeouts, and other settings.
Seamless Integration with Business iQ
The Kubernetes extension takes full advantage of the Business iQ real-time performance monitoring toolkit, allowing you to create metrics, visualizations and alarms. You can also use Business iQ to analyze a transaction in conjunction with Kubernetes events.
Below are some sample visualizations:
Future features and functionality are subject to change at the sole discretion of AppDynamics, and AppDynamics will have no liability for delay in the delivery or failure to deliver any of the features and functionality set forth in this document.