If you search for the general topic of “Docker Host Monitoring“, the majority of articles and available tools relate to monitoring the Docker *containers*.
The tools that do exist for *host machine* monitoring almost exclusively depend on installing some sort of agent software on the host machine itself.
This is at odds with a fully Dockerized application architecture in the sense that a fully Dockerized application should have no host dependency other than Docker itself.
The notion of ‘no dependencies other than Docker‘ becomes even more important as you move from an application architecture that requires multiple servers to distributed servers and, eventually, to transient servers.
To address this need, we built a Docker image that monitors its *host machine* resources in a very simple fashion: collect resource usage stats and log them to stdout.
CPU Usage: 2% Memory Usage: 75.28% Disk Usage: 9%If you are using a tool such as Rancher, this becomes very convenient - particularly for the case of an architecture that includes transient hosts.
This log output can be used for alarms/alerts/triggers as you see fit, which amounts to your own basic version of one of the more popular server monitoring services! We are currently using LogEntries for this.