Containerd

Supported OS

Información general

Este check monitoriza el tiempo de ejecución del contenedor Containerd.

Configuración

Instalación

El check de Containerd es un check central del Datadog Agent . Debes configurar Containerd tanto en datadog.yaml como en containerd.d/conf.yaml.

En datadog.yaml, configura tu cri_socket_path para que el Agent realice consultas a Containerd. En containerd.d/conf.yaml, configura los parámetros de la instancia del check (como filters) para eventos.

Instalación en contenedores

Si utilizas el Agent en un contenedor, al configurar la variable de entorno DD_CRI_SOCKET_PATH en el socket Containerd se habilita automáticamente la integración Containerd con la configuración predeterminada.

Por ejemplo, para instalar la integración en Kubernetes, edita tu DaemonSet para instalar el socket Containerd del nodo host en el contenedor del Agent y configura la variable de entorno DD_CRI_SOCKET_PATH en la ruta de instalación del DaemonSet:

Contenedor Linux
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

Nota: El directorio /var/run debe instalarse desde el host para ejecutar la integración sin problemas.

Contenedor Windows
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

Configuración

  1. Edita el archivo containerd.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración de tu Agent, para empezar a recopilar los datos de rendimiento de Containerd. Consulta el containerd.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles.

  2. Reinicia el Agent.

Validación

Ejecuta el subcomando status del Agent y busca containerd en la sección Checks.

Datos recopilados

Métricas

containerd.cpu.system
(gauge)
The total CPU time
Shown as nanosecond
containerd.cpu.throttled.periods
(gauge)
The total CPU throttled time (Linux only)
Shown as nanosecond
containerd.cpu.total
(gauge)
The total CPU time
Shown as nanosecond
containerd.cpu.user
(gauge)
The total user CPU time
Shown as nanosecond
containerd.image.pull
(count)
The number of image pull requests
Shown as byte
containerd.image.size
(gauge)
The size of the container image
Shown 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 usage
Shown as byte
containerd.proc.open_fds
(gauge)
The number of open file descriptors
Shown 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 started
Shown as second

Esta integración funciona en Linux y en Windows, pero algunas métricas dependen del sistema operativo. Para ver la lista de métricas dependientes del sistema operativo, consultametadata.csv.

Eventos

El check de Containerd puede recopilar eventos. Utiliza filters para seleccionar los eventos correspondientes. Para obtener más información, consulta el containerd.d/conf.yaml de ejemplo.

Checks de servicio

containerd.health
Returns CRITICAL if the Agent check is unable to connect to the monitored containerd socket. Returns OK otherwise.
Statuses: ok, critical

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.