- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Supported OS
This check monitors RabbitMQ through the Datadog Agent. It allows you to:
The RabbitMQ check is included in the Datadog Agent package. No additional installation is needed on your server.
RabbitMQ exposes metrics in two ways: the RabbitMQ Management Plugin and the RabbitMQ Prometheus Plugin. The Datadog integration supports both versions. Follow the configuration instruction in this file that pertain to the version you intend to use. The Datadog integration also comes with an out-of-the-box dashboard and monitors for each version, as labeled by the Dashboard and Monitor titles.
Starting with RabbitMQ v3.8, the RabbitMQ Prometheus Plugin is enabled by default.
The Prometheus plugin version of RabbitMQ requires Python 3 support by the Datadog Agent, and so can only be supported by Agent v6 or later. Please ensure your agent is updated before configuring the Prometheus plugin version of the integration.
Configure the prometheus_plugin
section in your instance configuration. When using the prometheus_plugin
option, settings related to the Management Plugin are ignored.
instances:
- prometheus_plugin:
url: http://<HOST>:15692
This enables scraping of the /metrics
endpoint on one RabbitMQ node. Datadog can also collect data from the /metrics/detailed
endpoint.
instances:
- prometheus_plugin:
url: http://<HOST>:15692
unaggregated_endpoint: detailed?family=queue_coarse_metrics
This enables scraping of the /metrics/detailed
endpoint to collect queue coarse metrics.
Enable the plugin. The Agent user then needs at least the monitoring
tag and these required permissions:
Permission | Command |
---|---|
conf | ^aliveness-test$ |
write | ^amq\.default$ |
read | .* |
Create an Agent user for your default vhost with the following commands:
rabbitmqctl add_user datadog <SECRET>
rabbitmqctl set_permissions -p / datadog "^aliveness-test$" "^amq\.default$" ".*"
rabbitmqctl set_user_tags datadog monitoring
Here, /
refers to the default host. Set this to your specified virtual host name. See the RabbitMQ documentation for more information.
To configure this check for an Agent running on a host:
Edit the rabbitmq.d/conf.yaml
file, in the conf.d/
folder at the root of your Agent’s configuration directory to start collecting your RabbitMQ metrics. See the sample rabbitmq.d/conf.yaml for all available configuration options.
Note: The Agent checks all queues, vhosts, and nodes by default, but you can provide lists or regexes to limit this. See the rabbitmq.d/conf.yaml for examples.
Available for Agent versions >6.0
To modify the default log file location either set the RABBITMQ_LOGS
environment variable or add the following to your RabbitMQ configuration file (/etc/rabbitmq/rabbitmq.conf
):
log.dir = /var/log/rabbit
log.file = rabbit.log
Collecting logs is disabled by default in the Datadog Agent, enable it in your datadog.yaml
file:
logs_enabled: true
Edit the logs
section of your rabbitmq.d/conf.yaml
file to start collecting your RabbitMQ logs:
logs:
- type: file
path: /var/log/rabbit/*.log
source: rabbitmq
service: myservice
log_processing_rules:
- type: multi_line
name: logs_starts_with_equal_sign
pattern: "="
You can take advantage of Datadog’s Docker container Autodiscovery, see the auto_conf.yaml
example configuration for RabbitMQ-specific settings.
For container environments such as Kubernetes, see the Autodiscovery Integration Templates for guidance on applying the parameters below.
Parameter | Value |
---|---|
<INTEGRATION_NAME> | rabbitmq |
<INIT_CONFIG> | blank or {} |
<INSTANCE_CONFIG> | {"prometheus_plugin": {"url": "http://%%host%%:15692"}} |
Available for Agent v6.0 or later
Collecting logs is disabled by default in the Datadog Agent. To enable it, see Kubernetes Log Collection.
Parameter | Value |
---|---|
<LOG_CONFIG> | {"source": "rabbitmq", "service": "rabbitmq", "log_processing_rules": [{"type":"multi_line","name":"logs_starts_with_equal_sign", "pattern": "="}]} |
Run the Agent’s status subcommand and look for rabbitmq
under the Checks section.
rabbitmq.alarms.file_descriptor_limit (gauge) | [OpenMetrics] is 1 if file descriptor limit alarm is in effect |
rabbitmq.alarms.free_disk_space.watermark (gauge) | [OpenMetrics] is 1 if free disk space watermark alarm is in effect |
rabbitmq.alarms.memory_used_watermark (gauge) | [OpenMetrics] is 1 if VM memory watermark alarm is in effect |
rabbitmq.auth_attempts.count (count) | [OpenMetrics] Total number of authentication attempts |
rabbitmq.auth_attempts.failed.count (count) | [OpenMetrics] Total number of failed authentication attempts |
rabbitmq.auth_attempts.succeeded.count (count) | [OpenMetrics] Total number of successful authentication attempts |
rabbitmq.build_info (gauge) | [OpenMetrics] RabbitMQ & Erlang/OTP version info |
rabbitmq.channel.acks_uncommitted (gauge) | [OpenMetrics] Message acknowledgements in a transaction not yet committed |
rabbitmq.channel.consumers (gauge) | [OpenMetrics] Consumers on a channel |
rabbitmq.channel.get.ack.count (count) | [OpenMetrics] Total number of messages fetched with basic.get in manual acknowledgement mode |
rabbitmq.channel.get.count (count) | [OpenMetrics] Total number of messages fetched with basic.get in automatic acknowledgement mode Shown as message |
rabbitmq.channel.get.empty.count (count) | [OpenMetrics] Total number of times basic.get operations fetched no message |
rabbitmq.channel.messages.acked.count (count) | [OpenMetrics] Total number of messages acknowledged by consumers Shown as message |
rabbitmq.channel.messages.confirmed.count (count) | [OpenMetrics] Total number of messages published into an exchange and confirmed on the channel Shown as message |
rabbitmq.channel.messages.delivered.ack.count (count) | [OpenMetrics] Total number of messages delivered to consumers in manual acknowledgement mode Shown as message |
rabbitmq.channel.messages.delivered.count (count) | [OpenMetrics] Total number of messages delivered to consumers in automatic acknowledgement mode Shown as message |
rabbitmq.channel.messages.published.count (count) | [OpenMetrics] Total number of messages published into an exchange on a channel Shown as message |
rabbitmq.channel.messages.redelivered.count (count) | [OpenMetrics] Total number of messages redelivered to consumers Shown as message |
rabbitmq.channel.messages.unacked (gauge) | [OpenMetrics] Delivered but not yet acknowledged messages Shown as message |
rabbitmq.channel.messages.uncommitted (gauge) | [OpenMetrics] Messages received in a transaction but not yet committed Shown as message |
rabbitmq.channel.messages.unconfirmed (gauge) | [OpenMetrics] Published but not yet confirmed messages Shown as message |
rabbitmq.channel.messages.unroutable.dropped.count (count) | [OpenMetrics] Total number of messages published as non-mandatory into an exchange and dropped as unroutable Shown as message |
rabbitmq.channel.messages.unroutable.returned.count (count) | [OpenMetrics] Total number of messages published as mandatory into an exchange and returned to the publisher as unroutable Shown as message |
rabbitmq.channel.prefetch (gauge) | [OpenMetrics] Total limit of unacknowledged messages for all consumers on a channel Shown as message |
rabbitmq.channel.process_reductions.count (count) | [OpenMetrics] Total number of channel process reductions |
rabbitmq.channels (gauge) | [OpenMetrics] Channels currently open |
rabbitmq.channels.closed.count (count) | [OpenMetrics] Total number of channels closed |
rabbitmq.channels.opened.count (count) | [OpenMetrics] Total number of channels opened |
rabbitmq.cluster.exchange_bindings (gauge) | [OpenMetrics] Number of bindings for an exchange. This value is cluster-wide. |
rabbitmq.cluster.exchange_name (gauge) | [OpenMetrics] Enumerates exchanges without any additional info. This value is cluster-wide. A cheaper alternative to exchange_bindings |
rabbitmq.cluster.vhost_status (gauge) | [OpenMetrics] Whether a given vhost is running |
rabbitmq.connection.channels (gauge) | [OpenMetrics] Channels on a connection |
rabbitmq.connection.incoming_bytes.count (count) | [OpenMetrics] Total number of bytes received on a connection Shown as byte |
rabbitmq.connection.incoming_packets.count (count) | [OpenMetrics] Total number of packets received on a connection Shown as packet |
rabbitmq.connection.outgoing_bytes.count (count) | [OpenMetrics] Total number of bytes sent on a connection Shown as byte |
rabbitmq.connection.outgoing_packets.count (count) | [OpenMetrics] Total number of packets sent on a connection Shown as packet |
rabbitmq.connection.pending_packets (gauge) | [OpenMetrics] Number of packets waiting to be sent on a connection Shown as packet |
rabbitmq.connection.process_reductions.count (count) | [OpenMetrics] Total number of connection process reductions |
rabbitmq.connections (gauge) | [OpenMetrics, Management CLI] Number of current connections to a given rabbitmq vhost, tagged 'rabbitmq_vhost: Shown as connection |
rabbitmq.connections.closed.count (count) | [OpenMetrics] Total number of connections closed or terminated |
rabbitmq.connections.opened.count (count) | [OpenMetrics] Total number of connections opened |
rabbitmq.connections.state (gauge) | Number of connections in the specified connection state Shown as connection |
rabbitmq.consumer_prefetch (gauge) | [OpenMetrics] Limit of unacknowledged messages for each consumer |
rabbitmq.consumers (gauge) | [OpenMetrics] Consumers currently connected |
rabbitmq.disk_space.available_bytes (gauge) | [OpenMetrics] Disk space available in bytes Shown as byte |
rabbitmq.disk_space.available_limit_bytes (gauge) | [OpenMetrics] Free disk space low watermark in bytes Shown as byte |
rabbitmq.erlang.gc.reclaimed_bytes.count (count) | [OpenMetrics] Total number of bytes of memory reclaimed by Erlang garbage collector Shown as byte |
rabbitmq.erlang.gc.runs.count (count) | [OpenMetrics] Total number of Erlang garbage collector runs |
rabbitmq.erlang.mnesia.committed_transactions.count (count) | [OpenMetrics] Number of committed transactions. Shown as transaction |
rabbitmq.erlang.mnesia.failed_transactions.count (count) | [OpenMetrics] Number of failed (i.e. aborted) transactions. Shown as transaction |
rabbitmq.erlang.mnesia.held_locks (gauge) | [OpenMetrics] Number of held locks. |
rabbitmq.erlang.mnesia.lock_queue (gauge) | [OpenMetrics] Number of transactions waiting for a lock. Shown as transaction |
rabbitmq.erlang.mnesia.logged_transactions.count (count) | [OpenMetrics] Number of transactions logged. Shown as transaction |
rabbitmq.erlang.mnesia.memory_usage_bytes (gauge) | [OpenMetrics] Total number of bytes allocated by all mnesia tables Shown as byte |
rabbitmq.erlang.mnesia.restarted_transactions.count (count) | [OpenMetrics] Total number of transaction restarts. Shown as transaction |
rabbitmq.erlang.mnesia.tablewise_memory_usage_bytes (gauge) | [OpenMetrics] Number of bytes allocated per mnesia table Shown as byte |
rabbitmq.erlang.mnesia.tablewise_size (gauge) | [OpenMetrics] Number of rows present per table |
rabbitmq.erlang.mnesia.transaction_coordinators (gauge) | [OpenMetrics] Number of coordinator transactions. Shown as transaction |
rabbitmq.erlang.mnesia.transaction_participants (gauge) | [OpenMetrics] Number of participant transactions. Shown as transaction |
rabbitmq.erlang.net.ticktime_seconds (gauge) | [OpenMetrics] Inter-node heartbeat interval Shown as second |
rabbitmq.erlang.processes_limit (gauge) | [OpenMetrics] Erlang processes limit Shown as process |
rabbitmq.erlang.processes_used (gauge) | [OpenMetrics] Erlang processes used Shown as process |
rabbitmq.erlang.scheduler.context_switches.count (count) | [OpenMetrics] Total number of Erlang scheduler context switches |
rabbitmq.erlang.scheduler.run_queue (gauge) | [OpenMetrics] Erlang scheduler run queue |
rabbitmq.erlang.uptime_seconds (gauge) | [OpenMetrics] Node uptime Shown as second |
rabbitmq.erlang.vm.allocators (gauge) | [OpenMetrics] Allocated (carrierssize) and used (blockssize) memory for the different allocators in the VM. See erts_alloc(3). |
rabbitmq.erlang.vm.atom_count (gauge) | [OpenMetrics] The number of atom currently existing at the local node. |
rabbitmq.erlang.vm.atom_limit (gauge) | [OpenMetrics] The maximum number of simultaneously existing atom at the local node. |
rabbitmq.erlang.vm.dirty_cpu_schedulers (gauge) | [OpenMetrics] The number of scheduler dirty CPU scheduler threads used by the emulator. Shown as thread |
rabbitmq.erlang.vm.dirty_cpu_schedulers_online (gauge) | [OpenMetrics] The number of dirty CPU scheduler threads online. Shown as thread |
rabbitmq.erlang.vm.dirty_io_schedulers (gauge) | [OpenMetrics] The number of scheduler dirty I/O scheduler threads used by the emulator. Shown as thread |
rabbitmq.erlang.vm.dist.node_queue_size_bytes (gauge) | [OpenMetrics] The number of bytes in the output distribution queue. This queue sits between the Erlang code and the port driver. Shown as byte |
rabbitmq.erlang.vm.dist.node_state (gauge) | [OpenMetrics] The current state of the distribution link. The state is represented as a numerical value where pending=1', up_pending=2' and `up=3'. |
rabbitmq.erlang.vm.dist.port_input_bytes (gauge) | [OpenMetrics] The total number of bytes read from the port. Shown as byte |
rabbitmq.erlang.vm.dist.port_memory_bytes (gauge) | [OpenMetrics] The total number of bytes allocated for this port by the runtime system. The port itself can have allocated memory that is not included. Shown as byte |
rabbitmq.erlang.vm.dist.port_output_bytes (gauge) | [OpenMetrics] The total number of bytes written to the port. Shown as byte |
rabbitmq.erlang.vm.dist.port_queue.size_bytes (gauge) | [OpenMetrics] The total number of bytes queued by the port using the ERTS driver queue implementation. Shown as byte |
rabbitmq.erlang.vm.dist.proc.heap_size_words (gauge) | [OpenMetrics] The size in words of the youngest heap generation of the process. This generation includes the process stack. This information is highly implementation-dependent, and can change if the implementation changes. |
rabbitmq.erlang.vm.dist.proc.memory_bytes (gauge) | [OpenMetrics] The size in bytes of the process. This includes call stack, heap, and internal structures. Shown as byte |
rabbitmq.erlang.vm.dist.proc.message_queue_len (gauge) | [OpenMetrics] The number of messages currently in the message queue of the process. Shown as message |
rabbitmq.erlang.vm.dist.proc.min_bin_vheap_size_words (gauge) | [OpenMetrics] The minimum binary virtual heap size for the process. |
rabbitmq.erlang.vm.dist.proc.min_heap_size_words (gauge) | [OpenMetrics] The minimum heap size for the process. |
rabbitmq.erlang.vm.dist.proc.reductions (gauge) | [OpenMetrics] The number of reductions executed by the process. |
rabbitmq.erlang.vm.dist.proc.stack_size_words (gauge) | [OpenMetrics] The stack size, in words, of the process. |
rabbitmq.erlang.vm.dist.proc.status (gauge) | [OpenMetrics] The current status of the distribution process. The status is represented as a numerical value where exiting=1', suspended=2', runnable=3', garbage_collecting=4', running=5' and waiting=6'. |
rabbitmq.erlang.vm.dist.proc.total_heap_size_words (gauge) | [OpenMetrics] The total size, in words, of all heap fragments of the process. This includes the process stack and any unreceived messages that are considered to be part of the heap. |
rabbitmq.erlang.vm.dist.recv.avg_bytes (gauge) | [OpenMetrics] Average size of packets, in bytes, received by the socket. Shown as byte |
rabbitmq.erlang.vm.dist.recv.cnt (gauge) | [OpenMetrics] Number of packets received by the socket. |
rabbitmq.erlang.vm.dist.recv.dvi_bytes (gauge) | [OpenMetrics] Average packet size deviation, in bytes, received by the socket. Shown as byte |
rabbitmq.erlang.vm.dist.recv.max_bytes (gauge) | [OpenMetrics] Size of the largest packet, in bytes, received by the socket. Shown as byte |
rabbitmq.erlang.vm.dist.recv_bytes (gauge) | [OpenMetrics] Number of bytes received by the socket. Shown as byte |
rabbitmq.erlang.vm.dist.send.avg_bytes (gauge) | [OpenMetrics] Average size of packets, in bytes, sent from the socket. Shown as byte |
rabbitmq.erlang.vm.dist.send.cnt (gauge) | [OpenMetrics] Number of packets sent from the socket. |
rabbitmq.erlang.vm.dist.send.max_bytes (gauge) | [OpenMetrics] Size of the largest packet, in bytes, sent from the socket. Shown as byte |
rabbitmq.erlang.vm.dist.send.pend_bytes (gauge) | [OpenMetrics] Number of bytes waiting to be sent by the socket. Shown as byte |
rabbitmq.erlang.vm.dist.send_bytes (gauge) | [OpenMetrics] Number of bytes sent from the socket. Shown as byte |
rabbitmq.erlang.vm.ets_limit (gauge) | [OpenMetrics] The maximum number of ETS tables allowed. |
rabbitmq.erlang.vm.logical_processors (gauge) | [OpenMetrics] The detected number of logical processors configured in the system. |
rabbitmq.erlang.vm.logical_processors.available (gauge) | [OpenMetrics] The detected number of logical processors available to the Erlang runtime system. |
rabbitmq.erlang.vm.logical_processors.online (gauge) | [OpenMetrics] The detected number of logical processors online on the system. |
rabbitmq.erlang.vm.memory.atom_bytes_total (gauge) | [OpenMetrics] The total amount of memory currently allocated for atoms. This memory is part of the memory presented as system memory. Shown as byte |
rabbitmq.erlang.vm.memory.bytes_total (gauge) | [OpenMetrics] The total amount of memory currently allocated. This is the same as the sum of the memory size for processes and system. Shown as byte |
rabbitmq.erlang.vm.memory.dets_tables (gauge) | [OpenMetrics] Erlang VM DETS Tables count. |
rabbitmq.erlang.vm.memory.ets_tables (gauge) | [OpenMetrics] Erlang VM ETS Tables count. |
rabbitmq.erlang.vm.memory.processes_bytes_total (gauge) | [OpenMetrics] The total amount of memory currently allocated for the Erlang processes. Shown as byte |
rabbitmq.erlang.vm.memory.system_bytes_total (gauge) | [OpenMetrics] The total amount of memory currently allocated for the emulator that is not directly related to any Erlang process. Memory presented as processes is not included in this memory. Shown as byte |
rabbitmq.erlang.vm.msacc.alloc_seconds.count (count) | [OpenMetrics] Total time in seconds spent managing memory. Without extra states this time is spread out over all other states. Shown as second |
rabbitmq.erlang.vm.msacc.aux_seconds.count (count) | [OpenMetrics] Total time in seconds spent handling auxiliary jobs. Shown as second |
rabbitmq.erlang.vm.msacc.bif_seconds.count (count) | [OpenMetrics] Total time in seconds spent in BIFs. Without extra states this time is part of the 'emulator' state. Shown as second |
rabbitmq.erlang.vm.msacc.busy_wait_seconds.count (count) | [OpenMetrics] Total time in seconds spent busy waiting. Without extra states this time is part of the 'other' state. Shown as second |
rabbitmq.erlang.vm.msacc.check_io_seconds.count (count) | [OpenMetrics] Total time in seconds spent checking for new I/O events. Shown as second |
rabbitmq.erlang.vm.msacc.emulator_seconds.count (count) | [OpenMetrics] Total time in seconds spent executing Erlang processes. Shown as second |
rabbitmq.erlang.vm.msacc.ets_seconds.count (count) | [OpenMetrics] Total time in seconds spent executing ETS BIFs. Without extra states this time is part of the 'emulator' state. Shown as second |
rabbitmq.erlang.vm.msacc.gc_full_seconds.count (count) | [OpenMetrics] Total time in seconds spent doing fullsweep garbage collection. Without extra states this time is part of the 'gc' state. Shown as second |
rabbitmq.erlang.vm.msacc.gc_seconds.count (count) | [OpenMetrics] Total time in seconds spent doing garbage collection. When extra states are enabled this is the time spent doing non-fullsweep garbage collections. Shown as second |
rabbitmq.erlang.vm.msacc.nif_seconds.count (count) | [OpenMetrics] Total time in seconds spent in NIFs. Without extra states this time is part of the 'emulator' state. Shown as second |
rabbitmq.erlang.vm.msacc.other_seconds.count (count) | [OpenMetrics] Total time in seconds spent doing unaccounted things. Shown as second |
rabbitmq.erlang.vm.msacc.port_seconds.count (count) | [OpenMetrics] Total time in seconds spent executing ports. Shown as second |
rabbitmq.erlang.vm.msacc.send_seconds.count (count) | [OpenMetrics] Total time in seconds spent sending messages (processes only). Without extra states this time is part of the 'emulator' state. Shown as second |
rabbitmq.erlang.vm.msacc.sleep_seconds.count (count) | [OpenMetrics] Total time in seconds spent sleeping. Shown as second |
rabbitmq.erlang.vm.msacc.timers_seconds.count (count) | [OpenMetrics] Total time in seconds spent managing timers. Without extra states this time is part of the 'other' state. Shown as second |
rabbitmq.erlang.vm.port_count (gauge) | [OpenMetrics] The number of ports currently existing at the local node. |
rabbitmq.erlang.vm.port_limit (gauge) | [OpenMetrics] The maximum number of simultaneously existing ports at the local node. |
rabbitmq.erlang.vm.process_count (gauge) | [OpenMetrics] The number of processes currently existing at the local node. Shown as process |
rabbitmq.erlang.vm.process_limit (gauge) | [OpenMetrics] The maximum number of simultaneously existing processes at the local node. Shown as process |
rabbitmq.erlang.vm.schedulers (gauge) | [OpenMetrics] The number of scheduler threads used by the emulator. |
rabbitmq.erlang.vm.schedulers_online (gauge) | [OpenMetrics] The number of schedulers online. |
rabbitmq.erlang.vm.smp_support (gauge) | [OpenMetrics] 1 if the emulator has been compiled with SMP support, otherwise 0. |
rabbitmq.erlang.vm.statistics.bytes_output.count (count) | [OpenMetrics] Total number of bytes output to ports. Shown as byte |
rabbitmq.erlang.vm.statistics.bytes_received.count (count) | [OpenMetrics] Total number of bytes received through ports. Shown as byte |
rabbitmq.erlang.vm.statistics.context_switches.count (count) | [OpenMetrics] Total number of context switches since the system started. |
rabbitmq.erlang.vm.statistics.dirty_cpu_run_queue_length (gauge) | [OpenMetrics] Length of the dirty CPU run-queue. |
rabbitmq.erlang.vm.statistics.dirty_io_run_queue_length (gauge) | [OpenMetrics] Length of the dirty IO run-queue. |
rabbitmq.erlang.vm.statistics.garbage_collection.bytes_reclaimed.count (count) | [OpenMetrics] Garbage collection: bytes reclaimed. Shown as byte |
rabbitmq.erlang.vm.statistics.garbage_collection.number_of_gcs.count (count) | [OpenMetrics] Garbage collection: number of GCs. |
rabbitmq.erlang.vm.statistics.garbage_collection.words_reclaimed.count (count) | [OpenMetrics] Garbage collection: words reclaimed. |
rabbitmq.erlang.vm.statistics.reductions.count (count) | [OpenMetrics] Total reductions. |
rabbitmq.erlang.vm.statistics.run_queues_length (gauge) | [OpenMetrics] Length of normal run-queues. |
rabbitmq.erlang.vm.statistics.runtime_milliseconds.count (count) | [OpenMetrics] The sum of the runtime for all threads in the Erlang runtime system. Can be greater than wall clock time. Shown as millisecond |
rabbitmq.erlang.vm.statistics.wallclock_time_milliseconds.count (count) | [OpenMetrics] Information about wall clock. Same as erlangvmstatisticsruntimemilliseconds except that real time is measured. Shown as millisecond |
rabbitmq.erlang.vm.thread_pool_size (gauge) | [OpenMetrics] The number of async threads in the async thread pool used for asynchronous driver calls. |
rabbitmq.erlang.vm.threads (gauge) | [OpenMetrics] 1 if the emulator has been compiled with thread support, otherwise 0. |
rabbitmq.erlang.vm.time_correction (gauge) | [OpenMetrics] 1 if time correction is enabled, otherwise 0. |
rabbitmq.erlang.vm.wordsize_bytes (gauge) | [OpenMetrics] The size of Erlang term words in bytes. Shown as byte |
rabbitmq.exchange.messages.ack.count (gauge) | Number of messages in exchanges delivered to clients and acknowledged Shown as message |
rabbitmq.exchange.messages.ack.rate (gauge) | Rate of messages in exchanges delivered to clients and acknowledged per second Shown as message |
rabbitmq.exchange.messages.confirm.count (gauge) | Count of messages in exchanges confirmed Shown as message |
rabbitmq.exchange.messages.confirm.rate (gauge) | Rate of messages in exchanges confirmed per second Shown as message |
rabbitmq.exchange.messages.deliver_get.count (gauge) | Sum of messages in exchanges delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get Shown as message |
rabbitmq.exchange.messages.deliver_get.rate (gauge) | Rate per second of the sum of exchange messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get Shown as message |
rabbitmq.exchange.messages.publish.count (gauge) | Count of messages in exchanges published Shown as message |
rabbitmq.exchange.messages.publish.rate (gauge) | Rate of messages in exchanges published per second Shown as message |
rabbitmq.exchange.messages.publish_in.count (gauge) | Count of messages published from channels into this exchange Shown as message |
rabbitmq.exchange.messages.publish_in.rate (gauge) | Rate of messages published from channels into this exchange per sec Shown as message |
rabbitmq.exchange.messages.publish_out.count (gauge) | Count of messages published from this exchange into queues Shown as message |
rabbitmq.exchange.messages.publish_out.rate (gauge) | Rate of messages published from this exchange into queues per second Shown as message |
rabbitmq.exchange.messages.redeliver.count (gauge) | Count of subset of messages in exchanges in deliver_get which had the redelivered flag set Shown as message |
rabbitmq.exchange.messages.redeliver.rate (gauge) | Rate of subset of messages in exchanges in deliver_get which had the redelivered flag set per second Shown as message |
rabbitmq.exchange.messages.return_unroutable.count (gauge) | Count of messages in exchanges returned to publisher as unroutable Shown as message |
rabbitmq.exchange.messages.return_unroutable.rate (gauge) | Rate of messages in exchanges returned to publisher as unroutable per second Shown as message |
rabbitmq.global.consumers (gauge) | [OpenMetrics] Current number of consumers |
rabbitmq.global.messages.acknowledged.count (count) | [OpenMetrics] Total number of messages acknowledged by consumers Shown as message |
rabbitmq.global.messages.confirmed.count (count) | [OpenMetrics] Total number of messages confirmed to publishers Shown as message |
rabbitmq.global.messages.dead_lettered.confirmed.count (count) | [OpenMetrics] Total number of messages dead-lettered and confirmed by target queues Shown as message |
rabbitmq.global.messages.dead_lettered.delivery_limit.count (count) | [OpenMetrics] Total number of messages dead-lettered due to delivery-limit exceeded Shown as message |
rabbitmq.global.messages.dead_lettered.expired.count (count) | [OpenMetrics] Total number of messages dead-lettered due to message TTL exceeded Shown as message |
rabbitmq.global.messages.dead_lettered.maxlen.count (count) | [OpenMetrics] Total number of messages dead-lettered due to overflow drop-head or reject-publish-dlx Shown as message |
rabbitmq.global.messages.dead_lettered.rejected.count (count) | [OpenMetrics] Total number of messages dead-lettered due to basic.reject or basic.nack Shown as message |
rabbitmq.global.messages.delivered.consume_auto_ack.count (count) | [OpenMetrics] Total number of messages delivered to consumers using basic.consume with automatic acknowledgment Shown as message |
rabbitmq.global.messages.delivered.consume_manual_ack.count (count) | [OpenMetrics] Total number of messages delivered to consumers using basic.consume with manual acknowledgment Shown as message |
rabbitmq.global.messages.delivered.count (count) | [OpenMetrics] Total number of messages delivered to consumers Shown as message |
rabbitmq.global.messages.delivered.get_auto_ack.count (count) | [OpenMetrics] Total number of messages delivered to consumers using basic.get with automatic acknowledgment Shown as message |
rabbitmq.global.messages.delivered.get_manual_ack.count (count) | [OpenMetrics] Total number of messages delivered to consumers using basic.get with manual acknowledgment Shown as message |
rabbitmq.global.messages.get_empty.count (count) | [OpenMetrics] Total number of times basic.get operations fetched no message |
rabbitmq.global.messages.received.count (count) | [OpenMetrics] Total number of messages received from publishers Shown as message |
rabbitmq.global.messages.received_confirm.count (count) | [OpenMetrics] Total number of messages received from publishers expecting confirmations Shown as message |
rabbitmq.global.messages.redelivered.count (count) | [OpenMetrics] Total number of messages redelivered to consumers Shown as message |
rabbitmq.global.messages.routed.count (count) | [OpenMetrics] Total number of messages routed to queues or streams Shown as message |
rabbitmq.global.messages.unroutable.dropped.count (count) | [OpenMetrics] Total number of messages published as non-mandatory into an exchange and dropped as unroutable Shown as message |
rabbitmq.global.messages.unroutable.returned.count (count) | [OpenMetrics] Total number of messages published as mandatory into an exchange and returned to the publisher as unroutable Shown as message |
rabbitmq.global.publishers (gauge) | [OpenMetrics] Current number of publishers |
rabbitmq.identity_info (gauge) | [OpenMetrics] RabbitMQ node & cluster identity info |
rabbitmq.io.read_bytes.count (count) | [OpenMetrics] Total number of I/O bytes read Shown as byte |
rabbitmq.io.read_ops.count (count) | [OpenMetrics] Total number of I/O read operations Shown as operation |
rabbitmq.io.read_time_seconds.count (count) | [OpenMetrics] Total I/O read time Shown as second |
rabbitmq.io.reopen_ops.count (count) | [OpenMetrics] Total number of times files have been reopened |
rabbitmq.io.seek_ops.count (count) | [OpenMetrics] Total number of I/O seek operations Shown as operation |
rabbitmq.io.seek_time_seconds.count (count) | [OpenMetrics] Total I/O seek time Shown as second |
rabbitmq.io.sync_ops.count (count) | [OpenMetrics] Total number of I/O sync operations Shown as operation |
rabbitmq.io.sync_time_seconds.count (count) | [OpenMetrics] Total I/O sync time Shown as second |
rabbitmq.io.write_bytes.count (count) | [OpenMetrics] Total number of I/O bytes written Shown as byte |
rabbitmq.io.write_ops.count (count) | [OpenMetrics] Total number of I/O write operations Shown as operation |
rabbitmq.io.write_time_seconds.count (count) | [OpenMetrics] Total I/O write time Shown as second |
rabbitmq.msg_store.read.count (count) | [OpenMetrics] Total number of Message Store read operations Shown as operation |
rabbitmq.msg_store.write.count (count) | [OpenMetrics] Total number of Message Store write operations Shown as operation |
rabbitmq.node.disk_alarm (gauge) | Does the node have disk alarm |
rabbitmq.node.disk_free (gauge) | Current free disk space Shown as byte |
rabbitmq.node.fd_used (gauge) | Used file descriptors |
rabbitmq.node.mem_alarm (gauge) | Does the host has memory alarm |
rabbitmq.node.mem_limit (gauge) | Memory usage high watermark in bytes Shown as byte |
rabbitmq.node.mem_used (gauge) | Memory used in bytes Shown as byte |
rabbitmq.node.partitions (gauge) | Number of network partitions this node is seeing |
rabbitmq.node.run_queue (gauge) | Average number of Erlang processes waiting to run Shown as process |
rabbitmq.node.running (gauge) | Is the node running or not |
rabbitmq.node.sockets_used (gauge) | Number of file descriptors used as sockets |
rabbitmq.overview.messages.ack.count (gauge) | Number of messages delivered to clients and acknowledged Shown as message |
rabbitmq.overview.messages.ack.rate (gauge) | Rate of messages delivered to clients and acknowledged per second Shown as message |
rabbitmq.overview.messages.confirm.count (gauge) | Count of messages confirmed Shown as message |
rabbitmq.overview.messages.confirm.rate (gauge) | Rate of messages confirmed per second Shown as message |
rabbitmq.overview.messages.deliver_get.count (gauge) | Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get Shown as message |
rabbitmq.overview.messages.deliver_get.rate (gauge) | Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get Shown as message |
rabbitmq.overview.messages.drop_unroutable.count (gauge) | Count of messages dropped as unroutable Shown as message |
rabbitmq.overview.messages.drop_unroutable.rate (gauge) | Rate of messages dropped as unroutable per second Shown as message |
rabbitmq.overview.messages.publish.count (gauge) | Count of messages published Shown as message |
rabbitmq.overview.messages.publish.rate (gauge) | Rate of messages published per second Shown as message |
rabbitmq.overview.messages.publish_in.count (gauge) | Count of messages published from channels into this overview Shown as message |
rabbitmq.overview.messages.publish_in.rate (gauge) | Rate of messages published from channels into this overview per sec Shown as message |
rabbitmq.overview.messages.publish_out.count (gauge) | Count of messages published from this overview into queues Shown as message |
rabbitmq.overview.messages.publish_out.rate (gauge) | Rate of messages published from this overview into queues per second Shown as message |
rabbitmq.overview.messages.redeliver.count (gauge) | Count of subset of messages in deliver_get which had the redelivered flag set Shown as message |
rabbitmq.overview.messages.redeliver.rate (gauge) | Rate of subset of messages in deliver_get which had the redelivered flag set per second Shown as message |
rabbitmq.overview.messages.return_unroutable.count (gauge) | Count of messages returned to publisher as unroutable Shown as message |
rabbitmq.overview.messages.return_unroutable.rate (gauge) | Rate of messages returned to publisher as unroutable per second Shown as message |
rabbitmq.overview.object_totals.channels (gauge) | Total number of channels Shown as item |
rabbitmq.overview.object_totals.connections (gauge) | Total number of connections Shown as connection |
rabbitmq.overview.object_totals.consumers (gauge) | Total number of consumers Shown as item |
rabbitmq.overview.object_totals.queues (gauge) | Total number of queues Shown as item |
rabbitmq.overview.queue_totals.messages.count (gauge) | Total number of messages (ready plus unacknowledged) Shown as message |
rabbitmq.overview.queue_totals.messages.rate (gauge) | Rate of number of messages (ready plus unacknowledged) Shown as message |
rabbitmq.overview.queue_totals.messages_ready.count (gauge) | Number of messages ready for delivery Shown as message |
rabbitmq.overview.queue_totals.messages_ready.rate (gauge) | Rate of number of messages ready for delivery Shown as message |
rabbitmq.overview.queue_totals.messages_unacknowledged.count (gauge) | Number of unacknowledged messages Shown as message |
rabbitmq.overview.queue_totals.messages_unacknowledged.rate (gauge) | Rate of number of unacknowledged messages Shown as message |
rabbitmq.process.max_fds (gauge) | [OpenMetrics] Open file descriptors limit |
rabbitmq.process.max_tcp_sockets (gauge) | [OpenMetrics] Open TCP sockets limit |
rabbitmq.process.open_fds (gauge) | [OpenMetrics] Open file descriptors |
rabbitmq.process.open_tcp_sockets (gauge) | [OpenMetrics] Open TCP sockets |
rabbitmq.process.resident_memory_bytes (gauge) | [OpenMetrics] Memory used in bytes Shown as byte |
rabbitmq.process_start_time_seconds (gauge) | [OpenMetrics] Start time of the process since unix epoch in seconds. Shown as second |
rabbitmq.queue.active_consumers (gauge) | Number of active consumers, consumers that can immediately receive any messages sent to the queue |
rabbitmq.queue.bindings.count (gauge) | Number of bindings for a specific queue |
rabbitmq.queue.consumer_capacity (gauge) | [OpenMetrics] Consumer capacity |
rabbitmq.queue.consumer_utilisation (gauge) | The ratio of time that a queue's consumers can take new messages Shown as fraction |
rabbitmq.queue.consumers (gauge) | Number of consumers |
rabbitmq.queue.disk_reads.count (count) | [OpenMetrics] Total number of times queue read messages from disk |
rabbitmq.queue.disk_writes.count (count) | [OpenMetrics] Total number of times queue wrote messages to disk |
rabbitmq.queue.head_message_timestamp (gauge) | [OpenMetrics, Management CLI] Timestamp of the head message of the queue Timestamp of the first message in the queue, if any Shown as millisecond |
rabbitmq.queue.index.read_ops.count (count) | [OpenMetrics] Total number of Queue Index read operations Shown as operation |
rabbitmq.queue.index.write_ops.count (count) | [OpenMetrics] Total number of Queue Index write operations Shown as operation |
rabbitmq.queue.memory (gauge) | Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap, and internal structures Shown as byte |
rabbitmq.queue.message_bytes (gauge) | Number of bytes of messages ready to be delivered to clients Shown as message |
rabbitmq.queue.messages (gauge) | [OpenMetrics, Management CLI] Count of the total messages in the queue, which is the sum of ready and unacknowledged messages (total queue depth) Shown as message |
rabbitmq.queue.messages.ack.count (gauge) | Number of messages in queues delivered to clients and acknowledged Shown as message |
rabbitmq.queue.messages.ack.rate (gauge) | Number per second of messages delivered to clients and acknowledged Shown as message |
rabbitmq.queue.messages.bytes (gauge) | [OpenMetrics] Size in bytes of ready and unacknowledged messages Shown as byte |
rabbitmq.queue.messages.deliver.count (gauge) | Count of messages delivered in acknowledgement mode to consumers Shown as message |
rabbitmq.queue.messages.deliver.rate (gauge) | Rate of messages delivered in acknowledgement mode to consumers Shown as message |
rabbitmq.queue.messages.deliver_get.count (gauge) | Sum of messages in queues delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get. Shown as message |
rabbitmq.queue.messages.deliver_get.rate (gauge) | Rate per second of the sum of messages in queues delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get. Shown as message |
rabbitmq.queue.messages.paged_out (gauge) | [OpenMetrics] Messages paged out to disk |
rabbitmq.queue.messages.paged_out_bytes (gauge) | [OpenMetrics] Size in bytes of messages paged out to disk Shown as byte |
rabbitmq.queue.messages.persistent (gauge) | [OpenMetrics] Persistent messages Shown as message |
rabbitmq.queue.messages.persistent_bytes (gauge) | [OpenMetrics] Size in bytes of persistent messages Shown as byte |
rabbitmq.queue.messages.publish.count (gauge) | Count of messages in queues published Shown as message |
rabbitmq.queue.messages.publish.rate (gauge) | Rate per second of messages published Shown as message |
rabbitmq.queue.messages.published.count (count) | [OpenMetrics] Total number of messages published to queues Shown as message |
rabbitmq.queue.messages.ram (gauge) | [OpenMetrics] Ready and unacknowledged messages stored in memory Shown as message |
rabbitmq.queue.messages.ram_bytes (gauge) | [OpenMetrics] Size of ready and unacknowledged messages stored in memory Shown as byte |
rabbitmq.queue.messages.rate (gauge) | Count per second of the total messages in the queue Shown as message |
rabbitmq.queue.messages.ready (gauge) | [OpenMetrics] Messages ready to be delivered to consumers Shown as message |
rabbitmq.queue.messages.ready_bytes (gauge) | [OpenMetrics] Size in bytes of ready messages Shown as byte |
rabbitmq.queue.messages.ready_ram (gauge) | [OpenMetrics] Ready messages stored in memory Shown as message |
rabbitmq.queue.messages.redeliver.count (gauge) | Count of subset of messages in queues in deliver_get which had the redelivered flag set Shown as message |
rabbitmq.queue.messages.redeliver.rate (gauge) | Rate per second of subset of messages in deliver_get which had the redelivered flag set Shown as message |
rabbitmq.queue.messages.unacked (gauge) | [OpenMetrics] Messages delivered to consumers but not yet acknowledged Shown as message |
rabbitmq.queue.messages.unacked_bytes (gauge) | [OpenMetrics] Size in bytes of all unacknowledged messages Shown as byte |
rabbitmq.queue.messages.unacked_ram (gauge) | [OpenMetrics] Unacknowledged messages stored in memory Shown as message |
rabbitmq.queue.messages_ready (gauge) | Number of messages ready to be delivered to clients Shown as message |
rabbitmq.queue.messages_ready.rate (gauge) | Number per second of messages ready to be delivered to clients Shown as message |
rabbitmq.queue.messages_unacknowledged (gauge) | Number of messages delivered to clients but not yet acknowledged Shown as message |
rabbitmq.queue.messages_unacknowledged.rate (gauge) | Number per second of messages delivered to clients but not yet acknowledged Shown as message |
rabbitmq.queue.process_memory_bytes (gauge) | [OpenMetrics] Memory in bytes used by the Erlang queue process Shown as byte |
rabbitmq.queue.process_reductions.count (count) | [OpenMetrics] Total number of queue process reductions |
rabbitmq.queues (gauge) | [OpenMetrics] Queues available |
rabbitmq.queues.created.count (count) | [OpenMetrics] Total number of queues created |
rabbitmq.queues.declared.count (count) | [OpenMetrics] Total number of queues declared |
rabbitmq.queues.deleted.count (count) | [OpenMetrics] Total number of queues deleted |
rabbitmq.raft.entry_commit_latency_seconds (gauge) | [OpenMetrics] Time taken for a log entry to be committed Shown as second |
rabbitmq.raft.log.commit_index (gauge) | [OpenMetrics] Raft log commit index |
rabbitmq.raft.log.last_applied_index (gauge) | [OpenMetrics] Raft log last applied index |
rabbitmq.raft.log.last_written_index (gauge) | [OpenMetrics] Raft log last written index |
rabbitmq.raft.log.snapshot_index (gauge) | [OpenMetrics] Raft log snapshot index |
rabbitmq.raft.term.count (count) | [OpenMetrics] Current Raft term number |
rabbitmq.resident_memory_limit_bytes (gauge) | [OpenMetrics] Memory high watermark in bytes Shown as byte |
rabbitmq.schema.db.disk_tx.count (count) | [OpenMetrics] Total number of Schema DB disk transactions Shown as transaction |
rabbitmq.schema.db.ram_tx.count (count) | [OpenMetrics] Total number of Schema DB memory transactions Shown as transaction |
rabbitmq.telemetry.scrape.duration_seconds.count (count) | [OpenMetrics] Scrape duration Shown as second |
rabbitmq.telemetry.scrape.duration_seconds.sum (count) | [OpenMetrics] Scrape duration Shown as second |
rabbitmq.telemetry.scrape.encoded_size_bytes.count (count) | [OpenMetrics] Scrape size, encoded Shown as byte |
rabbitmq.telemetry.scrape.encoded_size_bytes.sum (count) | [OpenMetrics] Scrape size, encoded Shown as byte |
rabbitmq.telemetry.scrape.size_bytes.count (count) | [OpenMetrics] Scrape size, not encoded Shown as byte |
rabbitmq.telemetry.scrape.size_bytes.sum (count) | [OpenMetrics] Scrape size, not encoded Shown as byte |
rabbitmq.aliveness
Only available with the RabbitMQ Management Plugin. Returns the status of a vhost based on the RabbitMQ Aliveness API. The Aliveness API creates a test queue, then publishes and consumes a message from that queue. Returns OK
if the status code from the API is 200 and CRITICAL
otherwise.
Statuses: ok, critical
rabbitmq.status
Only available with the RabbitMQ Management Plugin. Returns the status of the RabbitMQ server. Returns OK
if the agent was able to contact the API and CRITICAL
otherwise.
Statuses: ok, critical
rabbitmq.openmetrics.health
Only available with the RabbitMQ Prometheus Plugin. Returns CRITICAL
if the Agent is unable to connect to the OpenMetrics endpoint, otherwise returns OK
.
Statuses: ok, critical
The Prometheus Plugin exposes a different set of metrics from the Management Plugin. Here is what to be aware of as you migrate from the Management to the Prometheus Plugin.
[OpenMetricsV2]
tag, then it is available in the Prometheus Plugin. Metrics available only in the Management Plugin do not have any tags in their descriptions.prometheus_plugin.unaggregated_endpoint
to get metrics without aggregation.rabbitmq.status
service check is replaced by rabbitmq.openmetrics.health
. The service check rabbitmq.aliveness
has no equivalent in the Prometheus Plugin.The Prometheus Plugin changes some tags. The table below describes the changes to the more common tags.
Management | Prometheus |
---|---|
queue_name | queue |
rabbitmq_vhost | vhost , exchange_vhost , queue_vhost |
rabbitmq_exchange | exchange |
For more information, see Tagging RabbitMQ queues by tag family.
Need help? Contact Datadog support.
Additional helpful documentation, links, and articles: