Docker Monitoring
Docker Metricsβ
Agent gathers the following metrics:
- containers_count: Number of running Docker containers.
In addition to the above global metric, the following information are retrieved per Docker container:
- Name of the container.
- Docker ID of the container.
- Status of the container (running, stopped, ...).
- Date when the container is created, started and/or stopped.
- Image name used to create the container.
- Command used to create the container.
- A copy of Docker inspect for the container.
The above information are not archived: only latest value is available, and when a container is destroyed, the information for this container are deleted.
Finally, for each container, Agent gathers the following metrics:
Metric | Description |
---|---|
container_cpu_used | CPU used by container in percent. |
container_health_status | Status of Docker container, if your container has an HEALTHCHECK defined, this metric will contains the result of this check |
container_io_read_bytes | Disk read throughput of container in bytes per second |
container_io_write_bytes | Disk write throughput of container in bytes per second |
container_mem_used | Memory used by container in bytes |
container_mem_used_perc | Memory used by container in percent |
container_mem_used_perc_status | Status of memory used by container |
container_net_bits_recv | Network traffic received by container in bits per second |
container_net_bits_sent | Network traffic sent by container in bits per second |
Docker Labelsβ
The following labels are known by the Bleemeo agent:
glouton.enable
: If false, the Bleemeo agent will ignore the container. Once ignored, information and metrics from this container won't be gathered and any service running in this container won't be discovered.glouton.check.ignore.port.80
: If true, the Bleemeo agent skips the check on port 80 that the auto-discovered may have wrongly detected. This option isn't limited to port 80, and any other value could be used.prometheus.io/scrape
,prometheus.io/path
,prometheus.io/port
: Configure the Bleemeo agent to scrape a Prometheus metric exporter. See See the Prometheus page for details.glouton.allow_metrics
,glouton.deny_metrics
,glouton.include_default_metrics
: Configure which Prometheus metrics are scraped. See See the Prometheus page for details.
Filtering monitored containerβ
You can configure which container will be monitored by Bleemeo agent. In addition to
the label glouton.enable
described above, the following could be added in
Bleemeo agent configuration:
container:
filter:
allow_by_default: true
allow_list:
- "bleemeo_*"
deny_list:
- "bleemeo_ephemeral"
- "bleemeo_builder"
This will:
allow_by_default
enable monitoring of container when the container name is neither allowed/denied by the list or when the container don't have the labelglouton.enable
. If unspecified,allow_by_default
is enabled.deny_list
is a list of container name that will not be monitored. They are not monitored even if also present inallow_list
or with a labelglouton.enable
. The deny_list take precedence over other configuration.allow_list
is a list of container name that will be monitored, unless excluded by thedeny_list
. Allow list take precedence over a labelglouton.enable
For both the allow_list
and the deny_list
, you can use plain name or use pattern with the *
wildcard. In above example
bleemeo_*
match anything that start with bleemeo_
.