Container

Supported OS Linux Windows

Integration version1.0.0

Agent Check: Container

Overview

This check reports a set of metrics about any running containers, regardless of the runtime used to start them.

NOTE: The container check is different from the containerd check. The container checks report standardized metrics for all containers found on the system, regardless of the container runtime. The containerd is dedicated to containerd runtime and publishes metrics in the containerd.* namespace.

Setup

Installation

Container is a core Datadog Agent check and is automatically activated if any supported container runtime is detected. Configuring access to supported container runtimes (Docker, containerd) may be required depending on your environment.

Installation on containers

The container check requires some folders to be mounted to allow for automatic activation. This is handled by the official Helm Chart, the Datadog Operator, and as documented set ups for Kubernetes, Docker, ECS, and ECS Fargate.

Configuration

The container check does not expose any specific configuration settings. To customize common fields or to force the activation of the container check, follow these steps:

  1. Create the container.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory.

  2. Restart the Agent

The container check can collect metrics about CPU, Memory, Network and Disks IO. Some metrics may not be available depending on your environment (Linux / Windows, for instance).

Validation

Run the Agent’s status subcommand and look for container under the Checks section.

Data Collected

Metrics

container.cpu.limit
(gauge)
The maximum CPU time available to the container
Shown as nanocore
container.cpu.system
(gauge)
The container system CPU usage
Shown as nanocore
container.cpu.throttled
(gauge)
The total cpu throttled time
Shown as nanosecond
container.cpu.throttled.periods
(gauge)
The number of periods during which the container was throttled
container.cpu.usage
(gauge)
The container total CPU Usage
Shown as nanocore
container.cpu.user
(gauge)
The container userspace CPU usage
Shown as nanocore
container.io.read
(gauge)
The number of bytes read from disks by this container
Shown as byte
container.io.read.operations
(gauge)
The number of read operations done by this container
container.io.write
(gauge)
The number of bytes written to disks by this container
Shown as byte
container.io.write.operations
(gauge)
The number of write operations done by this container
container.memory.cache
(gauge)
The container cache usage
Shown as byte
container.memory.commit
(gauge)
The container commit memory usage
Shown as byte
container.memory.commit.peak
(gauge)
The container peak commit memory usage
Shown as byte
container.memory.kernel
(gauge)
The container kernel memory usage
Shown as byte
container.memory.limit
(gauge)
The container memory limit
Shown as byte
container.memory.major_page_faults
(count)
Number of major page faults incurred
container.memory.oom_events
(gauge)
The number of OOM events triggered by the container
container.memory.page_faults
(count)
Total number of page faults incurred
container.memory.rss
(gauge)
The container RSS usage
Shown as byte
container.memory.soft_limit
(gauge)
The container memory soft limit
Shown as byte
container.memory.swap
(gauge)
The container swap usage
Shown as byte
container.memory.usage
(gauge)
The container total memory usage
Shown as byte
container.memory.usage.peak
(gauge)
The maximum memory usage recorded since the container started
Shown as byte
container.memory.working_set
(gauge)
The container working set usage
Shown as byte
container.net.rcvd
(gauge)
The number of network bytes received (per interface)
Shown as byte
container.net.rcvd.packets
(gauge)
The number of network packets received (per interface)
container.net.sent
(gauge)
The number of network bytes sent (per interface)
Shown as byte
container.net.sent.packets
(gauge)
The number of network packets sent (per interface)
container.pid.open_files
(gauge)
The number of open file descriptors (Linux only)
container.pid.thread_count
(gauge)
The number of threads running inside this container
container.pid.thread_limit
(gauge)
The maximum number of threads for this container
container.restarts
(gauge)
The number of container restarted
container.uptime
(gauge)
The container uptime
Shown as second

Troubleshooting

Need help? Contact Datadog support.

PREVIEWING: may/embedded-workflows