Cette référence complète documente toutes les métriques RabbitMQ collectées par l'intégration OpenTelemetry Collector. Chaque métrique comprend des descriptions détaillées et des exemples pratiques de requêtes NRQL.
Conseil
Vous découvrez le mointoring de RabbitMQ ? Commencez par le guide de présentation pour comprendre l'architecture de l'intégration et les options de déploiement.
Comprendre les métriques RabbitMQ
L'intégration RabbitMQ OpenTelemetry collecte des métriques via l'API de gestion RabbitMQ, offrant une visibilité complète sur la santé et les performances de votre courtier de messages.
Catégories de métriques :
- Métriques de nœud - Utilisation des ressources au niveau du nœud, notamment la mémoire, le disque, les descripteurs de fichiers et les statistiques de la VM Erlang
- Métriques de file d'attente - Nombre de messages, activité des consommateurs et débit au niveau de la file d'attente par file d'attente
- Métriques des messages - Taux de publication, de remise et d'acquittement des messages
- Métriques d'E/S - Opérations de lecture/écriture sur disque et latence pour la persistance des messages
- Métriques de connexion - Événements du cycle de vie des connexions et des canaux
Attributs de métrique communs :
Toutes les métriques incluent ces attributs pour le filtrage et le regroupement :
instrumentation.provider = 'opentelemetry'- Identifie les métriques de cette intégrationrabbitmq.deployment.name- Votre identifiant de déploiementrabbitmq.server.endpoint- Point de terminaison de l'API de gestionhost.name- Nom d'hôte sur lequel RabbitMQ s'exécute
Important
Lorsque vous interrogez les métriques RabbitMQ, incluez toujours instrumentation.provider = 'opentelemetry' dans votre clause WHERE pour vous assurer de ne récupérer que les données de cette intégration.
Métriques des ressources du nœud
Les métriques de ressources de nœud suivent la mémoire, le disque, les descripteurs de fichiers et les ressources de la VM Erlang pour chaque nœud RabbitMQ.
mémoires métriques
Type: Jauge\ Unité: Octets\ Description: Mémoire totale utilisée par le nœud RabbitMQ en octets.
Cas d'utilisation: Monitorer la consommation de mémoire des nœuds pour éviter les situations de mémoire insuffisante.
Exemples NRQL :
Afficher l'utilisation actuelle de la mémoire :
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.nameSuivre les tendances de la mémoire :
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.nameTIMESERIESPourcentage d'utilisation de la mémoire :
SELECT (latest(rabbitmq.node.mem_used) / latest(rabbitmq.node.mem_limit)) * 100 AS 'Memory Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESType: Jauge\ Unité: Octets\ Description: Limite de mémoire configurée pour le nœud RabbitMQ.
Cas d'utilisation: Comparer à la mémoire utilisée pour calculer l'utilisation et déclencher des alarmes.
Exemples NRQL :
Afficher les limites de mémoire :
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.nameCalcul de la marge mémoire :
SELECT (latest(rabbitmq.node.mem_limit) - latest(rabbitmq.node.mem_used)) / 1024 / 1024 AS 'Available Memory (MB)'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameType: Jauge\ Unité: Booléen (0 ou 1)\ Description: État de l'alarme mémoire (0 = aucune alarme, 1 = alarme déclenchée).
Cas d'utilisation: Alerter en cas de dépassement du seuil de mémoire.
Exemples NRQL :
Vérifier l'état de l'alarme :
SELECT latest(rabbitmq.node.mem_alarm) AS 'Memory Alarm'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_alarm'FACET host.nameAlerte sur l'alarme mémoire :
SELECT latest(rabbitmq.node.mem_alarm)FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.mem_alarm' AND rabbitmq.node.mem_alarm = 1FACET host.nameType: Jauge\ Unité: Octets par seconde\ Description: Taux de variation de l'utilisation de la mémoire par seconde.
Cas d'utilisation: Monitorer le taux de croissance de la mémoire pour détecter les fuites de mémoire.
Exemples NRQL :
Voir le taux de croissance de la mémoire :
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étriques de disque
Type: Jauge\ Unité: Octets\ Description: Espace disque disponible en octets.
Cas d'utilisation: Monitorer la disponibilité de l'espace disque pour éviter la saturation du disque.
Exemples NRQL :
Afficher l'espace disque 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.namePourcentage d'utilisation du disque :
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.nameTIMESERIESType: Jauge\ Unité: Octets\ Description: Seuil limite d'espace disque libre.
Cas d'utilisation: Comparer à l'espace disque libre pour calculer l'utilisation.
Exemples NRQL :
Voir la limite d'espace disque libre :
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.nameType: Jauge\ Unité: Booléen (0 ou 1)\ Description: État de l'alarme d'espace disque libre (0 = pas d'alarme, 1 = alarme déclenchée).
Cas d'utilisation: Alerter en cas de dépassement du seuil d'espace disque.
Exemples NRQL :
Vérifier l'état de l'alarme disque :
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étriques des descripteurs de fichiers et des sockets
Type: Jauge\ Unité: Descripteurs de fichiers\ Description: Nombre de descripteurs de fichiers actuellement utilisés.
Cas d'utilisation: Suivez l'utilisation des descripteurs de fichiers pour éviter l'épuisement.
Exemples NRQL :
Afficher l'utilisation des descripteurs de fichier :
SELECT latest(rabbitmq.node.fd_used) AS 'FDs Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.fd_used'FACET host.nameUtilisation des descripteurs de fichier :
SELECT (latest(rabbitmq.node.fd_used) / latest(rabbitmq.node.fd_total)) * 100 AS 'FD Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESType: Jauge\ Unité: Descripteurs de fichiers\ Description: Nombre total de descripteurs de fichiers disponibles.
Cas d'utilisation: Comparer aux descripteurs de fichiers utilisés pour calculer l'utilisation.
Exemples NRQL :
Afficher la limite des descripteurs de fichiers :
SELECT latest(rabbitmq.node.fd_total) AS 'Total FDs'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.fd_total'FACET host.nameType: Jauge\ Unité: Sockets\ Description: Nombre de sockets réseau actuellement utilisés.
Cas d'utilisation: Monitorer l'utilisation des sockets pour suivre l'activité de connexion.
Exemples NRQL :
Afficher l'utilisation des sockets :
SELECT latest(rabbitmq.node.sockets_used) AS 'Sockets Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.sockets_used'FACET host.nameTIMESERIESUtilisation des sockets :
SELECT (latest(rabbitmq.node.sockets_used) / latest(rabbitmq.node.sockets_total)) * 100 AS 'Socket Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameType: Jauge\ Unité: Sockets\ Description: Nombre maximal de sockets disponibles.
Cas d'utilisation: Comparer aux sockets utilisés pour calculer l'utilisation.
Exemples NRQL :
Voir la limite de socket :
SELECT latest(rabbitmq.node.sockets_total) AS 'Total Sockets'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.sockets_total'FACET host.nameMétriques de la VM Erlang
Type: Jauge\ Unité: Processus\ Description: Nombre de processus Erlang en cours d'utilisation.
Cas d'utilisation: Monitorer l'utilisation des processus Erlang pour éviter l'épuisement de la limite de processus.
Exemples NRQL :
Voir l'utilisation des processus Erlang :
SELECT latest(rabbitmq.node.proc_used) AS 'Erlang Processes Used'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.proc_used'FACET host.nameUtilisation du processus :
SELECT (latest(rabbitmq.node.proc_used) / latest(rabbitmq.node.proc_total)) * 100 AS 'Process Utilization %'FROM MetricWHERE instrumentation.provider = 'opentelemetry'FACET host.nameTIMESERIESType: Jauge\ Unité: Processus\ Description: Nombre maximal de processus Erlang autorisés.
Cas d'utilisation: Comparer aux processus utilisés pour calculer l'utilisation.
Exemples NRQL :
Afficher la limite des processus Erlang :
SELECT latest(rabbitmq.node.proc_total) AS 'Max Erlang Processes'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.proc_total'FACET host.nameType: Jauge\ Unité: Processus\ Description: Nombre de processus Erlang en attente d'exécution.
Cas d'utilisation: Monitorer la longueur de la file d'attente de l'ordonnanceur de la VM Erlang pour détecter la saturation du CPU.
Exemples NRQL :
Afficher la profondeur de la file d'attente d'exécution :
SELECT latest(rabbitmq.node.run_queue) AS 'Run Queue Depth'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.run_queue'FACET host.nameTIMESERIESType: Jauge\ Unité: Processeurs\ Description: Nombre de processeurs CPU disponibles pour le nœud.
Cas d'utilisation: Informations sur les ressources système pour la planification de la capacité.
Exemples NRQL :
Afficher le nombre de CPU :
SELECT latest(rabbitmq.node.processors) AS 'CPU Count'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.processors'FACET host.nameType: Jauge\ Unité: Millisecondes\ Description: Temps de fonctionnement du nœud en millisecondes.
Cas d'utilisation: Monitorer la stabilité des nœuds et détecter les redémarrages.
Exemples NRQL :
Afficher le temps de disponibilité du nœud :
SELECT latest(rabbitmq.node.uptime) / 1000 / 60 / 60 / 24 AS 'Uptime (days)'FROM MetricWHERE instrumentation.provider = 'opentelemetry' AND metricName = 'rabbitmq.node.uptime'FACET host.nameDétecter les redémarrages récents :
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.nameType: Jauge\ Unité: Commutations par seconde\ Description: Taux de commutations de contexte par seconde.
Cas d'utilisation: Monitorer les performances de la VM Erlang et l'activité de l'ordonnanceur.
Exemples NRQL :
Afficher le taux de changement de contexte :
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.nameTIMESERIESMesures de collecte des déchets
Type: Jauge\ Unité: Exécutions de GC par seconde\ Description: Taux d'exécutions du ramasse-miettes par seconde.
Cas d'utilisation: Monitorer la fréquence du GC pour détecter la pression mémoire.
Exemples NRQL :
Voir le taux 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.nameTIMESERIESType: Jauge\ Unité: Octets par seconde\ Description: Taux d'octets récupérés par le garbage collection par seconde.
Cas d'utilisation: Monitorer l'efficacité du GC et la récupération de la mémoire.
Exemples NRQL :
Afficher le taux de récupération du 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étriques d'E/S et de persistance
Les métriques d'E/S suivent les opérations de lecture/écriture sur disque et la latence pour la persistance des messages.
Opérations d'E/S disque
Type: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de lecture d'E/S par seconde.
Cas d'utilisation: Monitorer l'activité de lecture sur disque pour la récupération de messages.
Exemples NRQL :
Taux d'opérations de lecture de la vue :
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.nameTIMESERIESType: Jauge\ Unité: Octets par seconde\ Description: Débit d'octets lus par seconde.
Cas d'utilisation: Monitorer le débit de lecture disque.
Exemples NRQL :
Afficher le débit de lecture :
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.nameTIMESERIESType: Jauge\ Unité: Millisecondes\ Description: Taux moyen de temps de lecture des E/S.
Cas d'utilisation: Monitorer la latence de lecture pour les problèmes de performance.
Exemples NRQL :
Voir la latence de lecture :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations d'écriture E/S par seconde.
Cas d'utilisation: Monitorer l'activité d'écriture sur disque pour la persistance des messages.
Exemples NRQL :
Voir le taux d'opérations d'écriture :
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.nameTIMESERIESType: Jauge\ Unité: Octets par seconde\ Description: Débit d'octets écrits par seconde.
Cas d'utilisation: Monitorer le débit d'écriture sur disque.
Exemples NRQL :
Afficher le débit d'écriture :
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.nameTIMESERIESType: Jauge\ Unité: Millisecondes\ Description: Taux moyen de temps d'écriture E/S.
Cas d'utilisation: Monitorer la latence d'écriture pour les problèmes de performance.
Exemples NRQL :
Latence d'écriture de la vue :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de synchronisation d'E/S par seconde.
Cas d'utilisation: Monitorer la fréquence des fsync pour les opérations de durabilité.
Exemples NRQL :
Taux d'opérations de synchronisation des vues :
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.nameTIMESERIESType: Jauge\ Unité: Millisecondes\ Description: Taux moyen de temps de synchronisation des E/S.
Cas d'utilisation: Monitorer la latence de synchronisation pour les performances de durabilité.
Exemples NRQL :
Latence de synchronisation de la vue :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de recherche d'E/S par seconde.
Cas d'utilisation: Monitorer l'activité de recherche sur le disque.
Exemples NRQL :
Voir le taux d'opérations de recherche :
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.nameTIMESERIESType: Jauge\ Unité: Millisecondes\ Description: Taux moyen de temps de recherche d'E/S.
Cas d'utilisation: Monitorer la latence de recherche.
Exemples NRQL :
Latence de recherche de la vue :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de réouverture de fichiers par seconde.
Cas d'utilisation: Monitorer la rotation des descripteurs de fichiers.
Exemples NRQL :
Voir le taux de réouverture :
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étriques du magasin de messages
Type: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de lecture du magasin de messages par seconde.
Cas d'utilisation: Monitorer les lectures de persistance des messages.
Exemples NRQL :
Voir le taux de lecture du stockage de messages :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations d'écriture du magasin de messages par seconde.
Cas d'utilisation: Monitorer les écritures de persistance des messages.
Exemples NRQL :
Afficher le taux d'écriture du stockage de messages :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations de lecture de l'index de file d'attente par seconde.
Cas d'utilisation: Monitorer les lectures d'index de file d'attente.
Exemples NRQL :
Afficher le taux de lecture de l'index de la file d'attente :
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.nameTIMESERIESType: Jauge\ Unité: Opérations par seconde\ Description: Taux d'opérations d'écriture de l'index de file d'attente par seconde.
Cas d'utilisation: Monitorer les écritures d'index de la file d'attente.
Exemples NRQL :
Afficher le taux d'écriture de l'index de file d'attente :
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étriques de la base de données Mnesia
Type: Jauge\ Unité: Transactions par seconde\ Description: Taux de transactions RAM Mnesia par seconde.
Cas d'utilisation: Monitorer l'activité des transactions de la RAM de la base de données.
Exemples NRQL :
Voir le taux de transaction RAM 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.nameTIMESERIESType: Jauge\ Unité: Transactions par seconde\ Description: Taux de transactions disque Mnesia par seconde.
Cas d'utilisation: Monitorer l'activité des transactions sur le disque de la base de données.
Exemples NRQL :
Voir le taux de transactions disque 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étriques de file d'attente
Les métriques de file d'attente fournissent des informations sur le flux de messages, les backlogs et l'activité des consommateurs par file d'attente.
Type: Jauge\ Unité: Consommateurs\ Description: Nombre de consommateurs connectés à la file d'attente.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Monitorer les connexions des consommateurs pour détecter les déconnexions.
Exemples NRQL :
Voir les consommateurs par file d'attente :
SELECT latest(rabbitmq.consumer.count) AS 'Consumers'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.consumer.count'FACET rabbitmq.queue.nameTrouver les files d'attente sans consommateurs :
SELECT latest(rabbitmq.consumer.count)FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.consumer.count'AND rabbitmq.consumer.count = 0FACET rabbitmq.queue.name
Type: Jauge\ Unité: Messages\ Description: Nombre de messages prêts à être livrés.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attentestate: État du message (prêt, non acquitté)Cas d'utilisation: Monitorer l'arriéré de la file d'attente pour détecter l'accumulation de messages.
Exemples NRQL :
Afficher les messages prêts par file d'attente :
SELECT latest(rabbitmq.message.current) AS 'Ready Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'AND state = 'ready'FACET rabbitmq.queue.nameSuivre les tendances des messages prêts :
SELECT latest(rabbitmq.message.current)FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'AND state = 'ready'FACET rabbitmq.queue.nameTIMESERIES
Type: Jauge\ Unité: Messages\ Description: Nombre de messages remis mais non encore acquittés.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attentestate: État du message (prêt, non acquitté)Cas d'utilisation: Suivre les messages non acquittés pour détecter les consommateurs lents.
Exemples NRQL :
Voir les messages non acquittés :
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
Type: Jauge\ Unité: Messages\ Description: Nombre total de messages dans la file d'attente, tous états confondus.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Monitoring de la profondeur globale de la file d'attente.
Exemples NRQL :
Afficher le nombre total de messages par file d'attente :
SELECT sum(rabbitmq.message.current) AS 'Total Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.current'FACET rabbitmq.queue.name
Type: Compteur\ Unité: Messages\ Description: Nombre total de messages publiés dans la file d'attente.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Monitorer le taux d'ingestion des messages.
Exemples NRQL :
Afficher le taux de publication des messages :
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
Type: Compteur\ Unité: Messages\ Description: Nombre total de messages livrés aux consommateurs.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Suivre le débit de livraison des messages.
Exemples NRQL :
Voir le taux de remise des messages :
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
Type: Compteur\ Unité: Messages\ Description: Nombre total de messages acquittés par les consommateurs.
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Monitorer l'achèvement du traitement des messages.
Exemples NRQL :
Afficher le taux d'acquittement :
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
Type: Compteur\ Unité: Messages\ Description: Nombre de messages abandonnés (rejetés ou expirés).
Dimensions:
rabbitmq.queue.name: Nom de la file d'attenteCas d'utilisation: Identifier la perte de messages.
Exemples NRQL :
Afficher les messages rejetés :
SELECT sum(rabbitmq.message.dropped) AS 'Dropped Messages'FROM MetricWHERE instrumentation.provider = 'opentelemetry'AND metricName = 'rabbitmq.message.dropped'FACET rabbitmq.queue.nameSINCE 1 hour agoTaux de rejet des tracks :
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étriques de connexion et de cycle de vie
Les métriques de connexion et de cycle de vie suivent les événements de cycle de vie des connexions, des canaux et des files d'attente.
Type: Jauge\ Unité: Connexions par seconde\ Description: Taux de nouvelles connexions créées par seconde.
Cas d'utilisation: Monitorer les schémas d'établissement de connexion.
Exemples NRQL :
Voir le taux de création de connexions :
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.nameTIMESERIESType: Jauge\ Unité: Connexions par seconde\ Description: Taux de connexions fermées par seconde.
Cas d'utilisation: Monitorer les motifs de terminaison de connexion.
Exemples NRQL :
Afficher le taux de fermeture des connexions :
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.nameTIMESERIESComparer la création et la fermeture de connexions :
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.nameTIMESERIESType: Jauge\ Unité: Canaux par seconde\ Description: Taux de canaux créés par seconde.
Cas d'utilisation: Monitorer le cycle de vie du canal.
Exemples NRQL :
Voir le taux de création de canaux :
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.nameTIMESERIESType: Jauge\ Unité: Canaux par seconde\ Description: Taux de canaux fermés par seconde.
Cas d'utilisation: Monitorer la terminaison de canal.
Exemples NRQL :
Voir le taux de fermeture des canaux :
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.nameTIMESERIESType: Jauge\ Unité: Files d'attente par seconde\ Description: Taux de files d'attente déclarées par seconde.
Cas d'utilisation: Monitorer l'activité de déclaration de files d'attente.
Exemples NRQL :
Afficher le taux de déclaration de files d'attente :
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.nameTIMESERIESType: Jauge\ Unité: Files d'attente par seconde\ Description: Taux de files d'attente créées par seconde.
Cas d'utilisation: Monitorer la création de files d'attente.
Exemples NRQL :
Voir le taux de création de files d'attente :
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.nameTIMESERIESType: Jauge\ Unité: Files d'attente par seconde\ Description: Taux de files d'attente supprimées par seconde.
Cas d'usage: Monitorer la suppression de file d'attente.
Exemples NRQL :
Afficher le taux de suppression de la file d'attente :
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.nameTIMESERIESQuelle est la prochaine étape ?
Maintenant que vous disposez de la référence complète des métriques RabbitMQ, mettez ces connaissances à profit :
Apprendre encore plus:
- Vue d'ensemble - En savoir plus sur l'architecture de l'intégration RabbitMQ et les options de déploiement
- Trouver et interroger vos données - Naviguer dans l'interface New Relic et écrire des requêtes NRQL
Prendre des mesures :
- Configurer des alertes - Configurez des alertes pour la profondeur de file d'attente, l'utilisation de la mémoire et l'espace disque
- Créer des dashboards - Créez des dashboards personnalisés pour visualiser vos métriques RabbitMQ