Supported OS
Agent Check: Containerd Overview This check monitors the Containerd container runtime.
Setup Installation Containerd is a core Datadog Agent check. You must configure Containerd in both datadog.yaml
and containerd.d/conf.yaml
.
In datadog.yaml
, configure your cri_socket_path
for the Agent to query Containerd. In containerd.d/conf.yaml
, configure the check instance settings (such as filters
) for the events.
Installation on containers If you are using the Agent in a container, setting the DD_CRI_SOCKET_PATH
environment variable to the Containerd socket automatically enables the Containerd integration with the default configuration.
For example, to install the integration on Kubernetes, edit your DaemonSet to mount the Containerd socket from the host node to the Agent container and set the DD_CRI_SOCKET_PATH
environment variable to the DaemonSet mount path:
Linux container apiVersion : extensions/v1beta1
kind : DaemonSet
metadata :
name : datadog-agent
spec :
template :
spec :
containers :
- name : datadog-agent
# ...
env :
- name : DD_CRI_SOCKET_PATH
value : /var/run/containerd/containerd.sock
volumeMounts :
- name : containerdsocket
mountPath : /var/run/containerd/containerd.sock
- mountPath : /host/var/run
name : var-run
readOnly : true
volumes :
- hostPath :
path : /var/run/containerd/containerd.sock
name : containerdsocket
- hostPath :
path : /var/run
name : var-run
Note: The /var/run
directory must be mounted from the host to run the integration without issues.
Windows container apiVersion : extensions/v1beta1
kind : DaemonSet
metadata :
name : datadog-agent
spec :
template :
spec :
containers :
- name : datadog-agent
# ...
env :
- name : DD_CRI_SOCKET_PATH
value : \\\\.\\pipe\\containerd-containerd
volumes :
- hostPath :
path : \\\\.\\pipe\\containerd-containerd
name : containerdsocket
volumeMounts :
- name : containerdsocket
mountPath : \\\\.\\pipe\\containerd-containerd
Configuration Edit the containerd.d/conf.yaml
file, in the conf.d/
folder at the root of your Agent’s configuration directory to start collecting your Containerd performance data. See the sample containerd.d/conf.yaml for all available configuration options.
Restart the Agent
Validation Run the Agent’s status
subcommand and look for containerd
under the Checks section.
Data Collected Metrics containerd.cpu.system (gauge)The total CPU timeShown as nanosecond containerd.cpu.throttled.periods (gauge)The total CPU throttled time (Linux only)Shown as nanosecond containerd.cpu.total (gauge)The total CPU timeShown as nanosecond containerd.cpu.user (gauge)The total user CPU timeShown as nanosecond containerd.image.pull (count)The number of image pull requestsShown as byte containerd.image.size (gauge)The size of the container imageShown as byte containerd.mem.cache (gauge)The cache amount used (Linux only)Shown as byte containerd.mem.commit (gauge)The committed memory (Windows only)Shown as byte containerd.mem.commit_peak (gauge)The peak committed memory (Windows only)Shown as byte containerd.mem.current.failcnt (gauge)The usage failcnt (Linux only) containerd.mem.current.limit (gauge)The memory limit (Linux only)Shown as byte containerd.mem.current.usage (gauge)The memory usage (Linux only)Shown as byte containerd.mem.kernel.usage (gauge)The kernel usage (Linux only)Shown as byte containerd.mem.kernel_tcp.failcnt (gauge)The kerneltcp failcnt (Linux only) containerd.mem.kernel_tcp.limit (gauge)The kerneltcp limit (Linux only)Shown as byte containerd.mem.kernel_tcp.max (gauge)The kerneltcp maximum usage (Linux only)Shown as byte containerd.mem.kernel_tcp.usage (gauge)The kerneltcp usage (Linux only)Shown as byte containerd.mem.rss (gauge)The rss amount used (Linux only)Shown as byte containerd.mem.swap.usage (gauge)The swap usage (Linux only)Shown as byte containerd.mem.working_set (gauge)The container working set usageShown as byte containerd.proc.open_fds (gauge)The number of open file descriptorsShown as file containerd.storage.read (rate)Read bytes (Windows only)Shown as byte containerd.storage.write (rate)Write bytes (Windows only)Shown as byte containerd.uptime (gauge)Time since the container was startedShown as second
Events The Containerd check can collect events. Use filters
to select the relevant events. See the sample containerd.d/conf.yaml to have more details.
Service Checks containerd.health
Returns CRITICAL
if the Agent check is unable to connect to the monitored containerd socket. Returns OK
otherwise.
Statuses: ok, critical
Troubleshooting Need help? Contact Datadog support .