Monitor Type: collectd/docker
(Source)
Accepts Endpoints: No
Multiple Instances Allowed: Yes
Pulls container stats from the Docker Engine. We strongly recommend using the docker-container-stats monitor instead, as it will scale to large number of containers much better.
See https://github.com/signalfx/docker-collectd-plugin.
To activate this monitor in the Smart Agent, add the following to your agent config:
monitors: # All monitor config goes under this key
- type: collectd/docker
... # Additional config
For a list of monitor options that are common to all monitors, see Common Configuration.
Config option | Required | Type | Description |
---|---|---|---|
dimensions |
no | map of strings |
A set of dimensions to add to container metrics (see https://github.com/signalfx/docker-collectd-plugin#extracting-additional-dimensions). |
dockerURL |
yes | string |
URL of the Docker engine, can be a unix socket path. |
excludedImages |
no | list of strings |
A list of images to exclude from monitoring |
excludedNames |
no | list of strings |
A list of container names to exclude from monitoring |
excludedLabels |
no | map of strings |
A map of label keys/values that will cause a container to be ignored. |
collectNetworkStats |
no | bool |
If true, will collect network stats about a container (will not work in some environments like Kubernetes). (default: false ) |
These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.
All of the following metrics are part of the blkio
metric group. All of
the non-default metrics below can be turned on by adding blkio
to the
monitor config option extraGroups
:
blkio.io_service_bytes_recursive.async
(cumulative)
Volume, in bytes, of asynchronous block I/Oblkio.io_service_bytes_recursive.read
(cumulative)
Volume, in bytes, of reads from block devicesblkio.io_service_bytes_recursive.sync
(cumulative)
Volume, in bytes, of synchronous block I/Oblkio.io_service_bytes_recursive.total
(cumulative)
Total volume, in bytes, of all block I/Oblkio.io_service_bytes_recursive.write
(cumulative)
Volume, in bytes, of writes to block devices
All of the following metrics are part of the cpu
metric group. All of
the non-default metrics below can be turned on by adding cpu
to the
monitor config option extraGroups
:
cpu.usage.kernelmode
(cumulative)
Jiffies of CPU time spent in kernel mode by the containercpu.usage.system
(gauge)
Jiffies of CPU time used by the systemcpu.usage.total
(gauge)
Jiffies of CPU time used by the containercpu.usage.usermode
(cumulative)
Jiffies of CPU time spent in user mode by the container
All of the following metrics are part of the memory
metric group. All of
the non-default metrics below can be turned on by adding memory
to the
monitor config option extraGroups
:
memory.usage.limit
(gauge)
Memory usage limit of the container, in bytesmemory.usage.max
(gauge)
Maximum measured memory usage of the container, in bytesmemory.usage.total
(gauge)
Bytes of memory used by the container
All of the following metrics are part of the network
metric group. All of
the non-default metrics below can be turned on by adding network
to the
monitor config option extraGroups
:
network.usage.rx_bytes
(cumulative)
Bytes received by the container via its network interfacenetwork.usage.rx_dropped
(cumulative)
Number of inbound network packets dropped by the containernetwork.usage.rx_errors
(cumulative)
Errors receiving network packetsnetwork.usage.rx_packets
(cumulative)
Network packets received by the container via its network interfacenetwork.usage.tx_bytes
(cumulative)
Bytes sent by the container via its network interfacenetwork.usage.tx_dropped
(cumulative)
Number of outbound network packets dropped by the containernetwork.usage.tx_errors
(cumulative)
Errors sending network packetsnetwork.usage.tx_packets
(cumulative)
Network packets sent by the container via its network interface
The following information applies to the agent version 4.7.0+ that has
enableBuiltInFiltering: true
set on the top level of the agent config.
To emit metrics that are not default, you can add those metrics in the
generic monitor-level extraMetrics
config option. Metrics that are derived
from specific configuration options that do not appear in the above list of
metrics do not need to be added to extraMetrics
.
To see a list of metrics that will be emitted you can run agent-status monitors
after configuring this monitor in a running agent instance.
The following information only applies to agent version older than 4.7.0. If
you have a newer agent and have set enableBuiltInFiltering: true
at the top
level of your agent config, see the section above. See upgrade instructions in
Old-style whitelist filtering.
If you have a reference to the whitelist.json
in your agent's top-level
metricsToExclude
config option, and you want to emit metrics that are not in
that whitelist, then you need to add an item to the top-level
metricsToInclude
config option to override that whitelist (see Inclusion
filtering. Or you can just
copy the whitelist.json, modify it, and reference that in metricsToExclude
.