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 distribuciones de tipo Debian, instala las cabeceras de kernel de la siguiente manera:
apt install -y linux-headers-$(uname -r)
En distribuciones de tipo RHEL, instala las cabeceras de 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
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
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.
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:
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
Añade el siguiente permiso para habilitar las operaciones BPF:
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 o posterior)
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 (Contenedor Optimized OS), anula el volumen src
en el Agent del nodo:
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 servicios
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.