OOM Kill

Supported OS Linux

Información general

Este check monitoriza el proceso OOM (sin memoria) kill del kernel a través del Datadog Agent y el System Probe.

Configuración

Instalación

El check OOM Kill está incluido en el paquete del Datadog Agent. Se basa en un programa eBPF implementado en el System Probe.

El programa eBPF utilizado por el System Probe se compila en tiempo de ejecución y requiere que tengas acceso a los encabezados del kernel adecuados.

En las distribuciones similares a Debian, instala los encabezados del kernel de la siguiente manera:

apt install -y linux-headers-$(uname -r)

En las distribuciones similares a RHEL, instala los encabezados del kernel de la siguiente manera:

yum install -y kernel-headers-$(uname -r)
yum install -y kernel-devel-$(uname -r)

Nota: Para que funcione el check OOM Kill se requiere la versión 4.9 o posterior del kernel. Además, las versiones de Windows y CentOS/RHEL anteriores a la 8 no son compatibles.

Configuración

  1. En el archivo system-probe.yaml situado en la raíz de tu directorio de configuración del Agent, añade la siguiente configuración:

    system_probe_config:
        enable_oom_kill: true
    
  2. Asegúrate de que el archivo oom_kill.d/conf.yaml está presente en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus métricas de OOM Kill. Consulta el oom_kill.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración.

  3. Reinicia el Agent.

Configuración con Docker

Además de montar system-probe.yaml y oom_kill.d/conf.yaml como se ha descrito anteriormente, haz la siguiente configuración:

  1. Monta los siguientes volúmenes en el contenedor del Agent:

    -v /sys/kernel/debug:/sys/kernel/debug
    -v /lib/modules:/lib/modules
    -v /usr/src:/usr/src
    
  2. Añade el siguiente permiso para habilitar las operaciones BPF:

    --privileged
    

    A partir de la versión 5.8 del kernel, el parámetro --privileged puede sustituirse por --cap-add CAP_BPF.

Nota: El modo --privileged no es compatible con Docker swarm.

Configuración con Helm

Con Datadog Helm chart, asegúrate de que los parámetros datadog.systemProbe y datadog.systemProbe.enableOOMKill están habilitados en el archivo values.yaml.

Configuración con el Operator (v1.0.0+)

Establece el parámetro features.oomKill.enabled en el manifiesto del DatadogAgent:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  features:
    oomKill:
      enabled: true

Nota: Cuando utilices COS (Container Optimized OS), anula el volumen src en el nodo del Agent:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  features:
    oomKill:
      enabled: true
  override:
    nodeAgent:
      volumes:
      - emptyDir: {}
        name: src

Validación

Ejecuta el subcomando de estado del Agent y busca oom_kill en la sección Checks.

Datos recopilados

Métricas

oom_kill.oom_process.count
(count)
The count of processes OOM killed
Shown as process

Checks de servicio

El check OOM Kill no incluye ningún check de servicio.

Eventos

El check OOM Kill envía un evento para cada OOM Kill que incluye el ID y el nombre de proceso eliminado, así como el ID y el nombre de proceso desencadenante.

Solucionar problemas

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