Performance Fundamentals: Docker Monitoring
Docker has become much more popular, and with widespread use comes the need for more monitoring. Check out the performance fundamentals of Docker monitoring!
Join the DZone community and get the full member experience.Join For Free
Docker has become increasingly popular, achieving widespread adoption. As with any platform, maintaining strong performance is a must. One of the best steps in ensuring proper performance is monitoring. Application performance monitoring and application performance management are hugely essential in the enterprise realm, so it’s no surprise that Docker monitoring practices are on the rise. I recently had the wonderful opportunity to chat with Sematext’s Sales, Marketing and Product Manager Mick Emmett and DevOps Evangelist Stefan Thies, to discuss Docker monitoring.
Docker deployments are the epitome of dynamic. Containers remain in a constant state of flux, moving about, starting, and stopping. Therefore it’s imperative to track more than simply performance metrics. Monitoring container performance is good, but to get comprehensive analysis of your setup, you’ll want even more data. For instance, when something happens to container (stopping, starting, etc.), knowing that it stopped, started, or died is just the first step. Diagnosing the root cause means understanding why.
To uncover this why, events are essential. As Thies and Emmett explained, Sematext added beefy Docker monitoring features to their platform. Various tracked metrics include status events like container lifecycle and runtime events, and basic information such as Docker version, API iteration, and OS.
Every time a container is created, destroyed, started, stopped, or when it dies, spm-agent-docker captures the appropriate event so you can what happened where and when, correlate it with metrics, alerts, anomalies – all of which are captured in SPM.
Moreover, events are captured and exported to SPM in real-time. From here they can be displayed in a neat, informative dashboard. As humans, we require information, and often visuals are more easily digested than simply text. This is especially true when diagnosing events, such as Docker event monitoring. That way we can notice patterns and weed out anomalies. Making metrics actionable is what’s really important however, as hordes of stats do nothing if we can’t put them to use.
During our conversation, Emmett and Thies observed that CoreOS has risen in popularity, so accordingly they’ve added increased CoreOS functionality. Users have the ability to index CoreOS logs into Logsene, a neat touch. This way, containers, app logs, and metrics are in a central location. The more info stored in the same place, the better correlations once can draw. Ultimately, that’s a fundamental tenant of monitoring: the more [useful and actionable] data that can be gleaned and cross-referenced to draw conclusions, the more accurate analysis will ultimately be. For an in-depth dive into Docker monitoring, check out Sematext's awesome webinar below:
Got a story to share on monitoring your Docker set up? Looking for further Docker performance analysis? Leave a comment with your opinion on the state of Docker monitoring and how it impacts performance, or hit me up on Twitter!
Opinions expressed by DZone contributors are their own.