Procesos

Supported OS Linux Mac OS Windows

Integration version5.0.0

Información general

El check de proceso 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 de cuántas instancias de un proceso específico deben ejecutarse y recibe alertas cuando no se cumplen los umbrales (consulta *Checks de servicio a continuación).

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.

Aunque no hay una configuración de check por defecto, aquí hay un ejemplo de process.d/conf.yaml que monitoriza procesos SSH/SSHD. Para ver todas las opciones de configuración disponibles, consulta el process.d/conf.yaml de ejemplo:

init_config:
instances:
  - name: ssh
    search_string:
      - ssh
      - sshd

Nota: Asegúrate de reiniciar el Agent después de realizar cambios de configuración.

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 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 I/O de procesos no están disponibles en Linux o macOS, ya que los archivos que lee el Agent (/proc//io) sólo pueden ser leídos 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.iowait
  • system.processes.mem.page_faults.minor_faults
  • system.processes.mem.page_faults.children_minor_faults
  • system.processes.mem.page_faults.major_faults
  • system.processes.mem.page_faults.children_major_faults
  • system.processes.mem.real

Nota: Utiliza un check de WMI para reunir 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 otros procesos de usuarios. Esto provoca que las siguientes opciones de check no funcionen:

  • exact_match, cuando se configura como false
  • user, 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 sólo es exacta en procesos que duran más de 30 segundos. No esperes que tu valor sea exacto en procesos con duraciones más cortas.

Para ver la lista completa de métricas, consulta la sección Métricas.

Datos recopilados

Métricas

system.processes.cpu.pct
(gauge)
The CPU utilization of a process.
Shown as percent
system.processes.cpu.normalized_pct
(gauge)
The normalized CPU utilization of a process.
Shown as percent
system.processes.involuntary_ctx_switches
(gauge)
The number of involuntary context switches performed by this process.
Shown as event
system.processes.ioread_bytes
(gauge)
The number of bytes read from disk by this process. In Windows: the number of bytes read.
Shown as byte
system.processes.ioread_bytes_count
(count)
The number of bytes read from disk by this process. In Windows: the number of bytes read.
Shown as byte
system.processes.ioread_count
(gauge)
The number of disk reads by this process. In Windows: the number of reads by this process.
Shown as read
system.processes.iowrite_bytes
(gauge)
The number of bytes written to disk by this process. In Windows: the number of bytes written by this process.
Shown as byte
system.processes.iowrite_bytes_count
(count)
The number of bytes written to disk by this process. In Windows: the number of bytes written by this process.
Shown as byte
system.processes.iowrite_count
(gauge)
The number of disk writes by this process. In Windows: the number of writes by this process.
Shown as write
system.processes.mem.page_faults.minor_faults
(gauge)
In Unix/Linux and macOS: The number of minor page faults per second for this process.
Shown as occurrence
system.processes.mem.page_faults.children_minor_faults
(gauge)
In Unix/Linux and macOS: The number of minor page faults per second for children of this process.
Shown as occurrence
system.processes.mem.page_faults.major_faults
(gauge)
In Unix/Linux and macOS: The number of major page faults per second for this process.
Shown as occurrence
system.processes.mem.page_faults.children_major_faults
(gauge)
In Unix/Linux and macOS: The number of major page faults per second for children of this process.
Shown as occurrence
system.processes.mem.pct
(gauge)
The process memory consumption.
Shown as percent
system.processes.mem.real
(gauge)
The non-swapped physical memory a process has used and cannot be shared with another process (Linux only).
Shown as byte
system.processes.mem.rss
(gauge)
The non-swapped physical memory a process has used. aka "Resident Set Size".
Shown as byte
system.processes.mem.vms
(gauge)
The total amount of virtual memory used by the process. aka "Virtual Memory Size".
Shown as byte
system.processes.number
(gauge)
The number of processes.
Shown as process
system.processes.open_file_descriptors
(gauge)
The number of file descriptors used by this process (only available for processes run as the dd-agent user)
system.processes.open_handles
(gauge)
The number of handles used by this process.
system.processes.threads
(gauge)
The number of threads used by this process.
Shown as thread
system.processes.voluntary_ctx_switches
(gauge)
The number of voluntary context switches performed by this process.
Shown as event
system.processes.run_time.avg
(gauge)
The average running time of all instances of this process
Shown as second
system.processes.run_time.max
(gauge)
The longest running time of all instances of this process
Shown as second
system.processes.run_time.min
(gauge)
The shortest running time of all instances of this process
Shown as second

Eventos

El check de procesos no incluye eventos.

Checks de servicio

process.up
Returns OK if the check is within the warning thresholds, CRITICAL if it’s outside of the critical thresholds, and WARNING if it’s outside of the warning thresholds.
Statuses: ok, warning, critical

Solucionar problemas

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

Referencias adicionales

Para hacerse una mejor idea de cómo (o por qué) monitorizar el consumo de recursos de los proceso con Datadog, consulta esta serie de entradas de blog.