Updated: Docker Monitoring Prometheus + Grafana
It's been almost a year since I started the initial Docker Monitoring project. This project then spawned off into a Docker Prometheus stack shortly after when I discovered the cAdvisor integration.
A year is a long time in Open Source Software (OSS) projects. I like to think that OSS projects are measured in dog years as 1 year seems like much longer when looking back on all the versions. Reflecting back to my first commit of the project a lot has changed and improved with Prometheus, cAdvisor and Grafana. All of them have added new features, integrations and look better.
Updating the Prometheus stack has been on my ToDo list for quite sometime. I've updated the project a couple times just to keep it working with the latest docker-compose versions and then migrate to compose version 2 format.
And then... I was lucky enough to receive a Pull Request from Philicious last week which kicked off the project update and forced me to get it done. He did an amazing job refactoring the project.
The new stack comprises of Prometheus, Grafana, cAdvisor and Node_Exporter
- Moved away from the Prometheus PromDash Dashboard and instead integrated the far better Grafana
- Added a environment file to set Usernames and Passwords for Grafana. Can also be adapted for further variables for Grafana.
- We no longer build images locally and pull everything from Docker Hub
- Added Node_Exporter to gather machine(host) metrics
- Created internal and external network connections between containers.
Switching to Grafana was a logical move. Grafana has advanced considerably in the last year and graphing has become much easier and the integration with Prometheus is seamless.
@Philicious and I both created Dashboards for the project. I forked my Dashboard from the Grafana Kubernetes project and adjusted the queries to match up with cAdvisor. Docker Dashboard
@Philicious created a great dashboard for the project which provides a lot of great metrics and graphs https://grafana.net/dashboards/193
Please try both dashboards and provide suggestions or both dashboards are also available on Github.
To get started all that is required is a Docker Host or Docker for Mac/Windows with the latest version of Docker installed along with Docker-Compose.
Head over to the https://github.com/vegasbrianc/prometheus to get stared monitoring and provide any suggestions or open issues if you spot anything out of place.
If you liked this article be sure to Follow Me on Twitter to stay updated!