Información general

La integración de Node.js te permite recopilar y monitorizar tus logs de aplicación, trazas (traces) y métricas personalizadas de Node.js.

Configuración

Recopilación de métricas

La integración de Node.js te permite monitorizar una métrica personalizada al instrumentar unas pocas líneas de código. Por ejemplo, puedes tener una métrica que devuelva el número de páginas vistas o el tiempo de llamada a una función.

Para obtener información adicional sobre la integración de Node.js, consulta la guía sobre el envío de métricas.

// Require dd-trace
const tracer = require('dd-trace').init();

// Increment a counter
tracer.dogstatsd.increment('page.views');

Ten en cuenta que, para que las métricas personalizadas funcionen, es necesario habilitar DogStatsD en Agent. La recopilación está habilitada por defecto, pero el Agent solo escucha métricas desde el host local. Para permitir métricas externas, necesitas establecer una variable de entorno o actualizar el archivo de configuración:

DD_USE_DOGSTATSD=true # default
DD_DOGSTATSD_PORT=8125 # default
DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true # if expecting external metrics
use_dogstatsd: true # default
dogstatsd_port: 8125 # default
dogstatsd_non_local_traffic: true # if expecting external metrics

También necesitarás configurar para que tu aplicación utilice el recopilador de DogStatsD del Agent:

DD_DOGSTATSD_HOSTNAME=localhost DD_DOGSTATSD_PORT=8125 node app.js

Recopilación de trazas

Consulta la documentación dedicada para instrumentar tu aplicación Node.js para enviar traces (trazas) a Datadog.

Recopilación de logs

Disponible para la versión 6.0 o posterior del Agent

Consulta la documentación específica para configurar recopilación de logs de Node.js para reenviar tus logs a Datadog.

Recopilación de perfiles

Consulta la documentación dedicada para activar el perfilador de Node.js.

Datos recopilados

Métricas

runtime.node.cpu.user
(medidor)
Uso de la CPU en código de usuario
Mostrado en porcentaje.
runtime.node.cpu.system
(medidor)
Uso de la CPU en el código del sistema
Mostrado en porcentaje.
runtime.node.cpu.total
(medidor)
Uso total de la CPU
Mostrado como porcentaje.
runtime.node.mem.rss
(medidor)
Tamaño del conjunto residente
Mostrado como byte
runtime.node.mem.heap_total
(medidor)
Memoria heap total
Mostrado como byte
runtime.node.mem.heap_used
(medidor)
Uso de memoria Heap
Mostrado como byte
runtime.node.mem.external
(medidor)
Memoria externa
Mostrado como byte
runtime.node.heap.total_heap_size
(medidor)
Tamaño total de heap
Mostrado como byte
runtime.node.heap.total_heap_size_executable
(medidor)
Tamaño total de heap ejecutable
Mostrado como byte
runtime.node.heap.total_physical_size
(mediidor)
Tamaño físico total de heap
Mostrado como byte
runtime.node.heap.used_heap_size
(medidor)
Tamaño de heap utilizado
Mostrado como byte
runtime.node.heap.heap_size_limit
(medidor)
Límite de tamaño de heap
Mostrado como byte
runtime.node.heap.malloced_memory
(medidor)
Memoria malgastada
Mostrado como byte
runtime.node.heap.peak_malloced_memory
(medidor)
Pico de memoria asignada
Mostrado como byte
runtime.node.heap.size.by.space
(medidor)
Tamaño del espacio de heap
Mostrado como byte
runtime.node.heap.used_size.by.space
(medidor)
Tamaño de espacio heap utilizado
Mostrado como byte
runtime.node.heap.available_size.by.space
(medidor)
Tamaño del espacio disponible en heap
Mostrado como byte
runtime.node.heap.physical_size.by.space
(medidor)
Tamaño físico del espacio heap
Mostrado como byte
runtime.node.process.uptime
(medidor)
Tiempo de actividad del proceso
Mostrado en segundos
runtime.node.event_loop.delay.max
(medidor)
Retardo máximo del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.min
(medidor)
Retardo mínimo del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.avg
(medidor)
Retardo medio del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.sum
(tasa)
Retardo total del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.median
(medidor)
Mediana del retardo del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.95percentile
(medidor)
Percentil 95 del retardo del bucle de eventos
Mostrado en nanosegundos
runtime.node.event_loop.delay.count
(tasa)
Count de iteraciones del bucle de eventos donde se detecta un retardo
Mostrado como ejecución
runtime.node.gc.pause.max
(medidor)
Pausa máxima de recolección de basura
Mostrado en nanosegundos
runtime.node.gc.pause.min
(medidor)
Pausa mínima de recolección de basura
Mostrado en nanosegundos
runtime.node.gc.pause.avg
(medidor)
Pausa media de recolección de basura
Mostrado en nanosegundos
runtime.node.gc.pause.sum
(tasa)
Pausa total de recolección de basura
Mostrado en nanosegundos
runtime.node.gc.pause.median
(medidor)
Mediana de la pausa de recolección de basura
Mostrado en nanosegundos
runtime.node.gc.pause.95percentile
(medidor)
Pausa de recolección de basura del percentil 95
Mostrado en nanosegundos
runtime.node.gc.pause.count
(tasa)
Número de recolecciones de basura
Mostrado como recolección de basura
runtime.node.gc.pause.by.type.max
(medidor)
Pausa máxima de recolección de basura por tipo
Mostrado como nanosegundo
runtime.node.gc.pause.by.type.min
(medidor)
Pausa mínima de recolección de basura por tipo
Mostrado en nanosegundos
runtime.node.gc.pause.by.type.avg
(medidor)
Pausa media de recolección de basura por tipo
Mostrado en nanosegundos
runtime.node.gc.pause.by.type.sum
(tasa)
Pausa total de recolección de basura por tipo
Mostrado en nanosegundos
runtime.node.gc.pause.by.type.median
(medidor)
Mediana de la pausa de recolección de basura por tipo
Mostrado en nanosegundos
runtime.node.gc.pause.by.type.95percentile
(medidor)
Pausa de recopilación de basura del percentil 95 por tipo
Mostrado en nanosegundos
runtime.node.gc.pause.by.type.count
(tasa)
Número de recolecciones de basura por tipo
Mostrado como recolección de basura

Solucionar problemas

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

Referencias adicionales