Versión de la integración5.1.0
El check de procesos te permite:
- Recopila métricas del uso de recursos para procesos en ejecución específicos en cualquier host. Por ejemplo, CPU, memoria, E/S y número de subprocesos.
- Utiliza monitores de procesos para configurar umbrales sobre cuántas instancias de un proceso específico deben ejecutarse y recibir alertas cuando los umbrales no se cumplen (consulta Checks de servicio más abajo).
Configuración
Instalación
El check de procesos está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tu servidor.
Configuración
A diferencia de muchos checks, el check de procesos no monitoriza nada útil por defecto. Debes configurar los procesos que quieres monitorizar.
Si bien no existe una configuración de check estándar por defecto, aquí hay un ejemplo de process.d/conf.yaml que monitoriza los procesos SSH/SSHD. Consulta el ejemplo process.d/conf.yaml para conocer todas las opciones de configuración disponibles:
init_config:
instances:
- name: ssh
search_string:
- ssh
- sshd
Nota: Después de realizar cambios en la configuración, asegúrate de reiniciar el Agent.
La recuperación de algunas métricas de procesos requiere que el recopilador de Datadog se ejecute como el usuario del proceso monitorizado o con acceso privilegiado. Para la métricaopen_file_descriptors en plataformas Unix, existe una opción de configuración adicional. Configurar try_sudo como true en el archivo conf.yaml permite que el check de procesos intente utilizar sudo para recopilar la métrica open_file_descriptors. El uso de esta opción de configuración requiere definir reglas para sudoers apropiadas en /etc/sudoers:
dd-agent ALL=NOPASSWD: /bin/ls /proc/*/fd/
Validación
Ejecuta el subcomando de estado del Agent y busca process en la sección Checks.
Notas de métricas
Las siguientes métricas no están disponibles en Linux o macOS:
- Las métricas de E/S del proceso no están disponibles en Linux o macOS, ya que los archivos que lee el Agent (
/proc/<PID>/io) solo son legibles por el propietario del proceso. Para obtener más información, lee las FAQ del Agent.
Las siguientes métricas no están disponibles en Windows:
system.cpu.iowaitsystem.processes.mem.page_faults.minor_faultssystem.processes.mem.page_faults.children_minor_faultssystem.processes.mem.page_faults.major_faultssystem.processes.mem.page_faults.children_major_faultssystem.processes.mem.real
Nota: Utiliza un check de WMI para recopilar métricas de fallos de páginas en Windows.
Nota: En la versión 6.11 o posteriores en Windows, el Agent se ejecuta como ddagentuser en lugar de Local System. Debido a esto, no tiene acceso a la línea de comandos completa de los procesos que se ejecutan bajo otros usuarios y al usuario de los procesos de otros usuarios. Esto provoca que las siguientes opciones del check no funcionen:
exact_match, cuando se configura como falseuser, que permite seleccionar los procesos que pertenecen a un usuario específico
Todas las métricas se configuran por instance en process.yaml y están etiquetados como process_name:<instance_name>.
La métrica system.processes.cpu.pct enviada por este check solo es precisa para los procesos que viven más de
de 30 segundos. No esperes que su valor sea exacto para procesos de vida más corta.
Para ver la lista completa de métricas, consulta la sección Métricas.
Datos recopilados
Métricas
| |
|---|
system.processes.cpu.pct (gauge) | Uso de CPU de un proceso. Se muestra como porcentaje |
system.processes.cpu.normalized_pct (gauge) | Uso normalizado de CPU de un proceso. Se muestra como porcentaje |
system.processes.involuntary_ctx_switches (gauge) | Número de cambios de contexto involuntarios realizados por este proceso. Se muestra como evento |
system.processes.ioread_bytes (gauge) | Número de bytes leídos del disco por este proceso. En Windows: el número de bytes leídos. Se muestra como bytes |
system.processes.ioread_bytes_count (count) | Número de bytes leídos del disco por este proceso. En Windows: el número de bytes leídos. Se muestra como bytes |
system.processes.ioread_count (gauge) | Número de lecturas del disco realizadas por este proceso. En Windows: el número de lecturas realizadas por este proceso. Se muestra como lectura |
system.processes.iowrite_bytes (gauge) | Número de bytes escritos en el disco por este proceso. En Windows: el número de bytes escritos por este proceso. Se muestra como bytes |
system.processes.iowrite_bytes_count (count) | Número de bytes escritos en el disco por este proceso. En Windows: el número de bytes escritos por este proceso. Se muestra como bytes |
system.processes.iowrite_count (gauge) | Número de escrituras en el disco realizadas por este proceso. En Windows: el número de escrituras de este proceso. Se muestra como escritura |
system.processes.mem.page_faults.minor_faults (gauge) | En Unix/Linux y macOS: el número de fallos menores de página por segundo para este proceso. Se muestra como caso |
system.processes.mem.page_faults.children_minor_faults (gauge) | En Unix/Linux y macOS: el número de fallos menores de página por segundo por cada elemento secundario para este proceso. Se muestra como caso |
system.processes.mem.page_faults.major_faults (gauge) | En Unix/Linux y macOS: el número de fallos mayores de página por segundo para este proceso. Se muestra como caso |
system.processes.mem.page_faults.children_major_faults (gauge) | En Unix/Linux y macOS: el número de fallos mayores de página por segundo por cada elemento secundario para este proceso. Se muestra como caso |
system.processes.mem.pct (gauge) | Consumo de memoria del proceso. Se muestra como porcentaje |
system.processes.mem.real (gauge) | Memoria física no intercambiada que un proceso ha utilizado y no puede ser compartida con otro proceso (solo Linux). Se muestra como bytes |
system.processes.mem.rss (gauge) | Memoria física no intercambiada que un proceso ha utilizado. también conocido como “Tamaño del conjunto residente”. Se muestra como bytes |
system.processes.mem.vms (gauge) | Cantidad total de memoria virtual utilizada por el proceso. también conocido como “Tamaño de memoria virtual”. Se muestra como bytes |
system.processes.number (gauge) | Número de procesos. Se muestra como proceso |
system.processes.open_file_descriptors (gauge) | Número de descriptores de archivos utilizados por este proceso (solo disponible para procesos ejecutados como usuario dd-agent) |
system.processes.open_handles (gauge) | Número de manejadores utilizados por este proceso. |
system.processes.threads (gauge) | Número de subprocesos utilizados por este proceso. Se muestra como subproceso |
system.processes.voluntary_ctx_switches (gauge) | Número de cambios de contexto voluntarios realizados por este proceso. Se muestra como evento |
system.processes.run_time.avg (gauge) | Tiempo medio de ejecución de todas las instancias de este proceso Se muestra como segundos |
system.processes.run_time.max (gauge) | Tiempo más largo de ejecución de todas las instancias de este proceso Se muestra como segundos |
system.processes.run_time.min (gauge) | Tiempo más corto de ejecución de todas las instancias de este proceso Se muestra como segundos |
Eventos
El check de procesos no incluye eventos.
Checks de servicio
process.up
Devuelve OK si el check está dentro de los umbrales de advertencia, CRITICAL si está fuera de los umbrales críticos y WARNING si está fuera de los umbrales de advertencia.
Estados: ok, advertencia, crítico
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.
Referencias adicionales
Para hacerte una mejor idea de cómo (o por qué) monitorizar el consumo de recursos por parte de los proceso con Datadog, consulta esta serie de entradas de blog.