Esta referencia completa documenta todas las métricas de RabbitMQ recopiladas por la integración de OpenTelemetry Collector. Cada métrica incluye descripciones detalladas y ejemplos prácticos de consultas NRQL.
Sugerencia
¿Nuevo en el monitoreo de RabbitMQ? Comience con la guía de visión general para comprender la arquitectura de la integración y las opciones de implementación.
Comprensión de las métricas de RabbitMQ
La integración de RabbitMQ con OpenTelemetry recopila métricas a través de la API de gestión de RabbitMQ, proporcionando una visibilidad integral de la salud y el rendimiento de su broker de mensajería.
Categorías de métricas:
- Métricas de nodo - Uso de recursos a nivel de nodo, incluyendo memoria, disco, descriptores de archivos y estadísticas de la máquina virtual de Erlang
- Métricas de cola - Conteo de mensajes, actividad del consumidor y rendimiento a nivel de cola por cola
- Métricas de mensajes - Tasas de publicación, entrega y confirmación de mensajes
- Métricas de E/S - Operaciones de lectura/escritura en disco y latencia para la persistencia de mensajes
- Métricas de conexión - Eventos del ciclo de vida de conexiones y canales
Atributos comunes de métricas:
Todas las métricas incluyen estos atributos para filtrar y agrupar:
instrumentation.provider = 'opentelemetry'- Identifica métricas de esta integraciónrabbitmq.deployment.name- Su identificador de desplieguerabbitmq.server.endpoint- Endpoint de la API de gestiónhost.name- Nombre de host donde se ejecuta RabbitMQ
Importante
Al consultar las métricas de RabbitMQ, incluya siempre instrumentation.provider = 'opentelemetry' en su cláusula WHERE para asegurarse de que solo obtiene datos de esta integración.
Métricas de recursos del nodo
Las métricas de recursos de nodo rastrean la memoria, el disco, los descriptores de archivos y los recursos de la VM de Erlang para cada nodo de RabbitMQ.
Memoria métrica
Tipo: Gauge\ Unidad: Bytes\ Descripción: Memoria total utilizada por el nodo de RabbitMQ en bytes.
Caso de uso: Monitorear el consumo de memoria del nodo para evitar condiciones de memoria insuficiente.
Ejemplos de NRQL:
Ver el uso actual de la memoria:
SELECT latest(rabbitmq.node.mem_used) / 1024 / 1024 AS 'Memory Used (MB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_used'FACET host.nameRastree las tendencias de la memoria:
SELECT latest(rabbitmq.node.mem_used) / 1024 / 1024 AS 'Memory Used (MB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_used'FACET host.nameTIMESERIESPorcentaje de uso de memoria:
SELECT (latest(rabbitmq.node.mem_used) / latest(rabbitmq.node.mem_limit)) * 100 AS 'Memory Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Bytes\ Descripción: Límite de memoria configurado para el nodo de RabbitMQ.
Caso de uso: Compare con la memoria utilizada para calcular la utilización y activar alarmas.
Ejemplos de NRQL:
Ver límites de memoria:
SELECT latest(rabbitmq.node.mem_limit) / 1024 / 1024 / 1024 AS 'Memory Limit (GB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_limit'FACET host.nameCálculo del margen de memoria:
SELECT (latest(rabbitmq.node.mem_limit) - latest(rabbitmq.node.mem_used)) / 1024 / 1024 AS 'Available Memory (MB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTipo: Gauge\ Unidad: Booleano (0 o 1)\ Descripción: Estado de la alarma de memoria (0 = sin alarma, 1 = alarma activada).
Caso de uso: Alertar cuando se supere el umbral de memoria.
Ejemplos de NRQL:
Verificar el estado de la alarma:
SELECT latest(rabbitmq.node.mem_alarm) AS 'Memory Alarm'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_alarm'FACET host.nameAlerta sobre alarma de memoria:
SELECT latest(rabbitmq.node.mem_alarm)FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_alarm' AND rabbitmq.node.mem_alarm = 1FACET host.nameTipo: Medidor\ Unidad: Bytes por segundo\ Descripción: Tasa de cambio del uso de memoria por segundo.
Caso de uso: Monitorear la tasa de crecimiento de la memoria para detectar fugas de memoria.
Ejemplos de NRQL:
Ver tasa de crecimiento de memoria:
SELECT latest(rabbitmq.node.mem_used_details.rate) / 1024 AS 'Memory Growth Rate (KB/s)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_used_details.rate'FACET host.nameTIMESERIESMétricas de disco
Tipo: Gauge\ Unidad: Bytes\ Descripción: Espacio en disco disponible en bytes.
Caso de uso: Monitorear la disponibilidad de espacio en disco para evitar condiciones de disco lleno.
Ejemplos de NRQL:
Ver espacio en disco disponible:
SELECT latest(rabbitmq.node.disk_free) / 1024 / 1024 / 1024 AS 'Disk Free (GB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.disk_free'FACET host.namePorcentaje de utilización del disco:
SELECT ((latest(rabbitmq.node.disk_free_limit) - latest(rabbitmq.node.disk_free)) / latest(rabbitmq.node.disk_free_limit)) * 100 AS 'Disk Usage %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Bytes\ Descripción: Umbral del límite de espacio libre en disco.
Caso de uso: Compare con el espacio libre en disco para calcular la utilización.
Ejemplos de NRQL:
Ver límite de espacio libre en disco:
SELECT latest(rabbitmq.node.disk_free_limit) / 1024 / 1024 / 1024 AS 'Disk Free Limit (GB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.disk_free_limit'FACET host.nameTipo: Gauge\ Unidad: Booleano (0 o 1)\ Descripción: Estado de alarma de espacio libre en disco (0 = sin alarma, 1 = alarma activada).
Caso de uso: Alertar cuando se supere el umbral de espacio en disco.
Ejemplos de NRQL:
Verificar el estado de la alarma de disco:
SELECT latest(rabbitmq.node.disk_free_alarm) AS 'Disk Alarm'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.disk_free_alarm'FACET host.nameMétricas de descriptores de archivos y sockets
Tipo: Medidor\ Unidad: Descriptores de archivos\ Descripción: Número de descriptores de archivos actualmente en uso.
Caso de uso: Rastree el uso de descriptores de archivos para evitar el agotamiento.
Ejemplos de NRQL:
Ver uso de descriptores de archivos:
SELECT latest(rabbitmq.node.fd_used) AS 'FDs Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.fd_used'FACET host.nameUtilización de descriptores de archivos:
SELECT (latest(rabbitmq.node.fd_used) / latest(rabbitmq.node.fd_total)) * 100 AS 'FD Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Descriptores de archivos\ Descripción: Número total de descriptores de archivos disponibles.
Caso de uso: Compare con los descriptores de archivos utilizados para calcular la utilización.
Ejemplos de NRQL:
Ver límite de descriptores de archivo:
SELECT latest(rabbitmq.node.fd_total) AS 'Total FDs'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.fd_total'FACET host.nameTipo: Medidor\ Unidad: Sockets\ Descripción: Número de sockets de red actualmente en uso.
Caso de uso: Monitorear el uso de sockets para rastrear la actividad de conexión.
Ejemplos de NRQL:
Ver uso de sockets:
SELECT latest(rabbitmq.node.sockets_used) AS 'Sockets Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.sockets_used'FACET host.nameTIMESERIESUtilización de sockets:
SELECT (latest(rabbitmq.node.sockets_used) / latest(rabbitmq.node.sockets_total)) * 100 AS 'Socket Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTipo: Gauge\ Unidad: Sockets\ Descripción: Número máximo de sockets disponibles.
Caso de uso: Comparar con los sockets utilizados para calcular la utilización.
Ejemplos de NRQL:
Ver límite de sockets:
SELECT latest(rabbitmq.node.sockets_total) AS 'Total Sockets'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.sockets_total'FACET host.nameMétricas de la máquina virtual de Erlang
Tipo: Gauge\ Unidad: Procesos\ Descripción: Número de procesos de Erlang actualmente en uso.
Caso de uso: Monitorear el uso de procesos de Erlang para evitar el agotamiento del límite de procesos.
Ejemplos de NRQL:
Ver el uso de procesos de Erlang:
SELECT latest(rabbitmq.node.proc_used) AS 'Erlang Processes Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.proc_used'FACET host.nameUtilización del proceso:
SELECT (latest(rabbitmq.node.proc_used) / latest(rabbitmq.node.proc_total)) * 100 AS 'Process Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Procesos\ Descripción: Número máximo de procesos de Erlang permitidos.
Caso de uso: Comparar con los procesos utilizados para calcular la utilización.
Ejemplos de NRQL:
Ver el límite de procesos de Erlang:
SELECT latest(rabbitmq.node.proc_total) AS 'Max Erlang Processes'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.proc_total'FACET host.nameTipo: Gauge\ Unidad: Procesos\ Descripción: Número de procesos de Erlang esperando para ejecutarse.
Caso de uso: Monitorear la longitud de la cola del planificador de la VM de Erlang para detectar la saturación de la CPU.
Ejemplos de NRQL:
Ver profundidad de la cola de ejecución:
SELECT latest(rabbitmq.node.run_queue) AS 'Run Queue Depth'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.run_queue'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Procesadores\ Descripción: Número de procesadores de CPU disponibles para el nodo.
Caso de uso: Información de los recursos del sistema para la planificación de capacidad.
Ejemplos de NRQL:
Ver conteo de CPU:
SELECT latest(rabbitmq.node.processors) AS 'CPU Count'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.processors'FACET host.nameTipo: Gauge\ Unidad: Milisegundos\ Descripción: Tiempo de actividad del nodo en milisegundos.
Caso de uso: Monitorear la estabilidad del nodo y detectar reinicios.
Ejemplos de NRQL:
Ver tiempo de actividad del nodo:
SELECT latest(rabbitmq.node.uptime) / 1000 / 60 / 60 / 24 AS 'Uptime (days)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.uptime'FACET host.nameDetectar reinicios recientes:
SELECT latest(rabbitmq.node.uptime) / 1000 / 60 AS 'Uptime (minutes)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.uptime' AND rabbitmq.node.uptime < 3600000FACET host.nameTipo: Gauge\ Unidad: Cambios por segundo\ Descripción: Tasa de cambios de contexto por segundo.
Caso de uso: Monitorear el rendimiento de la VM de Erlang y la actividad del planificador.
Ejemplos de NRQL:
Ver tasa de cambio de contexto:
SELECT latest(rabbitmq.node.context_switches_details.rate) AS 'Context Switches/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.context_switches_details.rate'FACET host.nameTIMESERIESRecogida de basura métrica
Tipo: Gauge\ Unidad: ejecuciones de GC por segundo\ Descripción: Tasa de ejecuciones de recolección de basura por segundo.
Caso de uso: Monitorear la frecuencia del GC para detectar presión de memoria.
Ejemplos de NRQL:
Ver tasa de GC:
SELECT latest(rabbitmq.node.gc_num_details.rate) AS 'GC Runs/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.gc_num_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Bytes por segundo\ Descripción: Tasa de bytes recuperados por la recolección de basura por segundo.
Caso de uso: Monitorear la eficiencia del GC y la recuperación de memoria.
Ejemplos de NRQL:
Ver tasa de recuperación de GC:
SELECT latest(rabbitmq.node.gc_bytes_reclaimed_details.rate) / 1024 / 1024 AS 'GC Reclaimed (MB/s)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.gc_bytes_reclaimed_details.rate'FACET host.nameTIMESERIESMétricas de E/S y persistencia
Las métricas de E/S rastrean las operaciones de lectura/escritura en disco y la latencia para la persistencia de mensajes.
Operaciones de E/S de disco
Tipo: Medidor\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de lectura de E/S por segundo.
Caso de uso: Monitorear la actividad de lectura de disco para la recuperación de mensajes.
Ejemplos de NRQL:
Ver tasa de operaciones de lectura:
SELECT latest(rabbitmq.node.io_read_count_details.rate) AS 'Read Ops/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_read_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Bytes por segundo\ Descripción: Tasa de bytes leídos por segundo.
Caso de uso: Monitorear el rendimiento de lectura de disco.
Ejemplos de NRQL:
Ver rendimiento de lectura:
SELECT latest(rabbitmq.node.io_read_bytes_details.rate) / 1024 / 1024 AS 'Read Throughput (MB/s)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_read_bytes_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Milisegundos\ Descripción: Tasa promedio de tiempo de lectura de E/S.
Caso de uso: Monitorear la latencia de lectura para problemas de rendimiento.
Ejemplos de NRQL:
Latencia de lectura de la vista:
SELECT latest(rabbitmq.node.io_read_avg_time_details.rate) AS 'Avg Read Time (ms)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_read_avg_time_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de escritura de E/S por segundo.
Caso de uso: Monitorear la actividad de escritura en disco para la persistencia de mensajes.
Ejemplos de NRQL:
Ver la tasa de operaciones de escritura:
SELECT latest(rabbitmq.node.io_write_count_details.rate) AS 'Write Ops/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_write_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Bytes por segundo\ Descripción: Tasa de bytes escritos por segundo.
Caso de uso: Monitorear el rendimiento de escritura en disco.
Ejemplos de NRQL:
Ver rendimiento de escritura:
SELECT latest(rabbitmq.node.io_write_bytes_details.rate) / 1024 / 1024 AS 'Write Throughput (MB/s)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_write_bytes_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Milisegundos\ Descripción: Tasa promedio de tiempo de escritura de E/S.
Caso de uso: Monitorear la latencia de escritura para detectar problemas de rendimiento.
Ejemplos de NRQL:
Ver latencia de escritura:
SELECT latest(rabbitmq.node.io_write_avg_time_details.rate) AS 'Avg Write Time (ms)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_write_avg_time_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de sincronización de E/S por segundo.
Caso de uso: Monitorear la frecuencia de fsync para operaciones de durabilidad.
Ejemplos de NRQL:
Ver tasa de operaciones de sincronización:
SELECT latest(rabbitmq.node.io_sync_count_details.rate) AS 'Sync Ops/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_sync_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Milisegundos\ Descripción: Tasa promedio de tiempo de sincronización de E/S.
Caso de uso: Monitorear la latencia de sincronización para el rendimiento de durabilidad.
Ejemplos de NRQL:
Latencia de sincronización de vistas:
SELECT latest(rabbitmq.node.io_sync_avg_time_details.rate) AS 'Avg Sync Time (ms)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_sync_avg_time_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de búsqueda de E/S por segundo.
Caso de uso: Monitorear la actividad de búsqueda del disco.
Ejemplos de NRQL:
Ver tasa de operaciones de búsqueda:
SELECT latest(rabbitmq.node.io_seek_count_details.rate) AS 'Seek Ops/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_seek_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Milisegundos\ Descripción: Tasa promedio de tiempo de búsqueda de E/S.
Caso de uso: Monitorear la latencia de búsqueda.
Ejemplos de NRQL:
Latencia de búsqueda de vista:
SELECT latest(rabbitmq.node.io_seek_avg_time_details.rate) AS 'Avg Seek Time (ms)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_seek_avg_time_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de reapertura de archivos por segundo.
Caso de uso: Monitorear la rotación de descriptores de archivos.
Ejemplos de NRQL:
Ver tasa de reapertura:
SELECT latest(rabbitmq.node.io_reopen_count_details.rate) AS 'Reopen Ops/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.io_reopen_count_details.rate'FACET host.nameTIMESERIESMétricas del almacén de mensajes
Tipo: Medidor\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de lectura del almacén de mensajes por segundo.
Caso de uso: Monitorear lecturas de persistencia de mensajes.
Ejemplos de NRQL:
Ver tasa de lectura del almacén de mensajes:
SELECT latest(rabbitmq.node.msg_store_read_count_details.rate) AS 'Msg Store Reads/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.msg_store_read_count_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de escritura en el almacén de mensajes por segundo.
Caso de uso: Monitorear las escrituras de persistencia de mensajes.
Ejemplos de NRQL:
Ver la tasa de escritura del almacén de mensajes:
SELECT latest(rabbitmq.node.msg_store_write_count_details.rate) AS 'Msg Store Writes/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.msg_store_write_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de lectura del índice de la cola por segundo.
Caso de uso: Monitorear las lecturas de índice de cola.
Ejemplos de NRQL:
Ver tasa de lectura del índice de la cola:
SELECT latest(rabbitmq.node.queue_index_read_count_details.rate) AS 'Queue Index Reads/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.queue_index_read_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Operaciones por segundo\ Descripción: Tasa de operaciones de escritura de índice de cola por segundo.
Caso de uso: Monitorear las escrituras en el índice de la cola.
Ejemplos de NRQL:
Ver tasa de escritura del índice de cola:
SELECT latest(rabbitmq.node.queue_index_write_count_details.rate) AS 'Queue Index Writes/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.queue_index_write_count_details.rate'FACET host.nameTIMESERIESMétricas de la base de datos Mnesia
Tipo: Gauge\ Unidad: Transacciones por segundo\ Descripción: Tasa de transacciones de RAM de Mnesia por segundo.
Caso de uso: Monitorear la actividad de transacciones de la RAM de la base de datos.
Ejemplos de NRQL:
Ver la tasa de transacciones de RAM de Mnesia:
SELECT latest(rabbitmq.node.mnesia_ram_tx_count_details.rate) AS 'Mnesia RAM Tx/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mnesia_ram_tx_count_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Transacciones por segundo\ Descripción: Tasa de transacciones de disco de Mnesia por segundo.
Caso de uso: Monitorear la actividad de transacciones de disco de la base de datos.
Ejemplos de NRQL:
Ver la tasa de transacciones de disco de Mnesia:
SELECT latest(rabbitmq.node.mnesia_disk_tx_count_details.rate) AS 'Mnesia Disk Tx/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mnesia_disk_tx_count_details.rate'FACET host.nameTIMESERIESMétricas de cola
Las métricas de cola proporcionan información sobre el flujo de mensajes, las acumulaciones y la actividad del consumidor por cola.
Tipo: Gauge\ Unidad: Consumidores\ Descripción: Número de consumidores conectados a la cola.
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Monitorear las conexiones de los consumidores para detectar desconexiones.
Ejemplos de NRQL:
Ver consumidores por cola:
SELECT latest(rabbitmq.consumer.count) AS 'Consumers'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.consumer.count'FACET rabbitmq.queue.nameEncontrar colas sin consumidores:
SELECT latest(rabbitmq.consumer.count)FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.consumer.count'AND rabbitmq.consumer.count = 0FACET rabbitmq.queue.name
Tipo: Gauge\ Unidad: Mensajes\ Descripción: Número de mensajes listos para ser entregados.
Dimensiones:
rabbitmq.queue.name: Nombre de la colastate: Estado del mensaje (listo, no reconocido)Caso de uso: Monitorear el backlog de la cola para detectar la acumulación de mensajes.
Ejemplos de NRQL:
Ver mensajes listos por cola:
SELECT latest(rabbitmq.message.current) AS 'Ready Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'AND state = 'ready'FACET rabbitmq.queue.nameRastrear tendencias de mensajes listos:
SELECT latest(rabbitmq.message.current)FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'AND state = 'ready'FACET rabbitmq.queue.nameTIMESERIES
Tipo: Gauge\ Unidad: Mensajes\ Descripción: Número de mensajes entregados pero aún no confirmados.
Dimensiones:
rabbitmq.queue.name: Nombre de la colastate: Estado del mensaje (listo, no reconocido)Caso de uso: Rastrear mensajes no reconocidos para detectar consumidores lentos.
Ejemplos de NRQL:
Ver mensajes no reconocidos:
SELECT latest(rabbitmq.message.current) AS 'Unacked Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'AND state = 'unacknowledged'FACET rabbitmq.queue.name
Tipo: Medidor\ Unidad: Mensajes\ Descripción: Número total de mensajes en la cola en todos los estados.
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Monitoreo de la profundidad general de la cola.
Ejemplos de NRQL:
Ver el total de mensajes por cola:
SELECT sum(rabbitmq.message.current) AS 'Total Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'FACET rabbitmq.queue.name
Tipo: Contador\ Unidad: Mensajes\ Descripción: Número total de mensajes publicados en la cola.
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Monitorear la tasa de ingesta de mensajes.
Ejemplos de NRQL:
Ver tasa de publicación de mensajes:
SELECT rate(sum(rabbitmq.message.published), 1 minute) AS 'Publish Rate (msg/min)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.published'FACET rabbitmq.queue.nameTIMESERIES
Tipo: Contador\ Unidad: Mensajes\ Descripción: Número total de mensajes entregados a los consumidores.
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Rastrear el rendimiento de entrega de mensajes.
Ejemplos de NRQL:
Ver tasa de entrega de mensajes:
SELECT rate(sum(rabbitmq.message.delivered), 1 minute) AS 'Delivery Rate (msg/min)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.delivered'FACET rabbitmq.queue.nameTIMESERIES
Tipo: Contador\ Unidad: Mensajes\ Descripción: Número total de mensajes reconocidos por los consumidores.
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Monitorear la finalización del procesamiento de mensajes.
Ejemplos de NRQL:
Ver tasa de reconocimiento:
SELECT rate(sum(rabbitmq.message.acknowledged), 1 minute) AS 'Ack Rate (msg/min)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.acknowledged'FACET rabbitmq.queue.nameTIMESERIES
Tipo: Contador\ Unidad: Mensajes\ Descripción: Número de mensajes descartados (rechazados o expirados).
Dimensiones:
rabbitmq.queue.name: Nombre de la colaCaso de uso: Identificar la pérdida de mensajes.
Ejemplos de NRQL:
Ver mensajes descartados:
SELECT sum(rabbitmq.message.dropped) AS 'Dropped Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.dropped'FACET rabbitmq.queue.nameSINCE 1 hour agoTasa de descarte de rastreo:
SELECT rate(sum(rabbitmq.message.dropped), 1 minute) AS 'Drop Rate (msg/min)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.dropped'FACET rabbitmq.queue.nameTIMESERIES
Métricas de conexión y ciclo de vida
Las métricas de conexión y ciclo de vida rastrean los eventos del ciclo de vida de las conexiones, los canales y las colas.
Tipo: Gauge\ Unidad: Conexiones por segundo\ Descripción: Tasa de nuevas conexiones creadas por segundo.
Caso de uso: Monitorear patrones de establecimiento de conexión.
Ejemplos de NRQL:
Ver la tasa de creación de conexiones:
SELECT latest(rabbitmq.node.connection_created_details.rate) AS 'Connections Created/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.connection_created_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Conexiones por segundo\ Descripción: Tasa de conexiones cerradas por segundo.
Caso de uso: Monitorear patrones de terminación de conexiones.
Ejemplos de NRQL:
Ver tasa de cierre de conexiones:
SELECT latest(rabbitmq.node.connection_closed_details.rate) AS 'Connections Closed/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.connection_closed_details.rate'FACET host.nameTIMESERIESCompare la creación de conexiones vs. el cierre:
SELECT latest(rabbitmq.node.connection_created_details.rate) AS 'Created', latest(rabbitmq.node.connection_closed_details.rate) AS 'Closed'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Canales por segundo\ Descripción: Tasa de canales creados por segundo.
Caso de uso: Monitorear el ciclo de vida del canal.
Ejemplos de NRQL:
Ver la tasa de creación de canales:
SELECT latest(rabbitmq.node.channel_created_details.rate) AS 'Channels Created/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.channel_created_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Canales por segundo\ Descripción: Tasa de canales cerrados por segundo.
Caso de uso: Monitorear la terminación del canal.
Ejemplos de NRQL:
Ver tasa de cierre de canales:
SELECT latest(rabbitmq.node.channel_closed_details.rate) AS 'Channels Closed/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.channel_closed_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Colas por segundo\ Descripción: Tasa de colas declaradas por segundo.
Caso de uso: Monitorear la actividad de declaración de colas.
Ejemplos de NRQL:
Ver la tasa de declaración de colas:
SELECT latest(rabbitmq.node.queue_declared_details.rate) AS 'Queues Declared/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.queue_declared_details.rate'FACET host.nameTIMESERIESTipo: Gauge\ Unidad: Colas por segundo\ Descripción: Tasa de colas creadas por segundo.
Caso de uso: Monitorear la creación de colas.
Ejemplos de NRQL:
Ver tasa de creación de colas:
SELECT latest(rabbitmq.node.queue_created_details.rate) AS 'Queues Created/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.queue_created_details.rate'FACET host.nameTIMESERIESTipo: Medidor\ Unidad: Colas por segundo\ Descripción: Tasa de colas eliminadas por segundo.
Caso de uso: Monitorear la eliminación de colas.
Ejemplos de NRQL:
Ver tasa de eliminación de colas:
SELECT latest(rabbitmq.node.queue_deleted_details.rate) AS 'Queues Deleted/sec'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.queue_deleted_details.rate'FACET host.nameTIMESERIES¿Que sigue?
Ahora que cuenta con la referencia completa de las métricas de RabbitMQ, ponga este conocimiento en práctica:
Aprende más:
- Descripción general - Obtenga información sobre la arquitectura de integración de RabbitMQ y las opciones de despliegue
- Busca y consulta tus datos - Navega por la interfaz de usuario de New Relic y escribe consultas NRQL
Tomar medidas:
- Configurar alertas - Configura alertas para profundidades de cola, uso de memoria y espacio en disco
- Crear paneles - Cree paneles personalizados para visualizar sus métricas de RabbitMQ