Ultimate Guide to Docker Monitoring
Containerization is still all the rage in the IT industry and it is causing serious disruption in the way we are looking to deploy applications. Docker is leading the charge by offering a series of products supported by many platforms including Amazon Web Services, Microsoft Azure and Google Cloud Platform.
Docker presents a challenge for the traditional infrastructure team as it adds another layer of virtualization and abstraction on a traditional infrastructure. In many monitored estates, the actual monitoring of Docker is skipped as it can present more of a challenge than traditional monitoring.
Getting your microservices monitored correctly is a true challenge. Below are some of the issues we have seen people hit and some considerations that might make things a lot simpler.
Dealing with scaling up and down
A good Docker environment will be load aware with many containers being provisioned and de-provisioned as required. As a result, monitoring it will be a dynamic affair and for many teams, this can be quite a challenge. How do you best keep track of an environment that can double in size under load? You look to ways you can add and remove hosts from a monitoring system as needed. Utilizing a monitoring product with a strong, documented API is one of the best ways you can automate host enrollment.
Adding value to notifications
It’s not just a case of getting the hosts monitored. Your monitored estate just got a whole lot more distributed now that you are running Docker. But with the right implementation and processes in place, there is no need to worry about a container going missing here or there because it can be dealt with during working hours, rather than the moment it fails. Within an Opsview deployment, we would normally look to setting up time based notification profiles to optimize this, with only a check based on defined business service availability needing full ‘out of hours’ notifications when it comes to your Docker estate. All of this should help you avoid notification fatigue.
Accurate availability tracking
When it comes to tracking entire service availability in a scale up/down Docker environment, problems can arise as you are considering availability at the host level and not the service. You should always look for options that can transform your monitored estate into business relevant services and report on availability over that service, rather than just at the host level. If you’re an Opsview user, this is when BSM (business server monitoring) becomes key.
Monitoring all the components of a Docker host
Monitoring Docker adds many extra elements into the mix that require monitoring. Make sure that you capture all the elements in your platform including your cluster manager, the Docker process itself, the cluster nodes you use to build the Docker environment, the Docker containers and most importantly, the service itself. Without monitoring all the subcomponents of your microservices architecture, you open yourself up to missing issues.
Demonstrating the business value of Docker monitoring
Sometimes there is a question as to what is being achieved with a new or different platform design. The easiest way to demonstrate the value of a platform is through accurately monitoring it, showcasing improved performance, improved uptime and better management of bursting resources. Look to your monitoring system’s ability to report when you need to highlight the improvements made as you might find life gets a little easier.
Achieving this with Opsview as a Docker monitoring tool
There are many monitoring systems out there that can solve your Docker monitoring needs, we would be wrong to pretend otherwise. However, Opsview Monitor has been built to offer comprehensive coverage of monitoring from Windows 2003 Server to your smart PDUs to AWS’s PaaS Docker offering on EC2 container service. On top of this, Opsview can turn your Docker monitoring into a business ready view that can be shared with other business units to highlight the performance of your environment.