This is a Fluentd plugin to collect Docker metrics periodically.
It's assumed to run on the host server. It periodically runs Docker Remote API calls to fetch container IDs and looks at /sys/fs/cgroups/<metric_type>/docker/<container_id>/
for relevant stats. You can say this is an implementation of the metric collection strategy outlined in this blog post.
to be uploaded on Rubygems
<source>
type docker_metrics
stats_interval 1m
</source>
- stats_interval: how often to poll Docker containers for stats. The default is every minute.
- cgroup_path: The path to cgroups pseudofiles. The default is
sys/fs/cgroup
. - tag_prefix: The tag prefix. The default value is "docker"
2014-11-22 17:48:26 +0000 docker.blkio.io_queued: {"key":"blkio_io_queued_total","value":0,"type":"counter","hostname":"precise64","id":"24f5fb3bfc429e88aa3dbacd704667899dc496067cedcfa58dd84da42e7cb3cf","name":"/world"}
2014-11-22 17:48:26 +0000 docker.blkio.sectors: {"key":"blkio_sectors","value":136,"type":"counter","hostname":"precise64","id":"24f5fb3bfc429e88aa3dbacd704667899dc496067cedcfa58dd84da42e7cb3cf","name":"/world"}
In particular, each event is a key-value pair of individual metrics. Also, it has
hostname
is the hostname of the Docker hostid
is the ID of the containername
is the descriptive name of the container (a ladocker inspect --format '{{ .Names }}'
)