Metrics
RabbitMQ is a widely-used message broker that facilitates communication between distributed systems. Monitoring its metrics is crucial for maintaining performance, stability, and reliability. The following is a list of key RabbitMQ metrics in PDS. Understanding these metrics will help administrators optimize performance, troubleshoot issues, and ensure the RabbitMQ cluster runs smoothly.
For RabbitMQ deployment, the data service metrics are accessible on port 15692.
Access metrics
Below is a step-by-step guide on how to access RabbitMQ metrics for PDS deployments:
-
Identify the RabbitMQ pod running in your namespace:
kubectl get pods -n <your-namespace>
Look for the pod name that corresponds to your RabbitMQ instance or its sidecar exporter.
-
Port-forward from your local machine’s port 15692 to the pod’s port 15692:
kubectl port-forward -n <your-namespace> <rabbitmq-pod-name> 15692:15692
-
Open a browser or use
curl
to go tohttp://localhost:15692/metrics
.You should see a text-based Prometheus metrics output specific to RabbitMQ.
-
Check for the service exposing the RabbitMQ exporter. for example,
<release-name>-rabbitmq-exporter
:kubectl get svc -n <your-namespace>
-
Access the metrics:
-
If NodePort, note
<nodeport>
:http://<node-ip>:<nodeport>/metrics
-
If LoadBalancer, note
<loadbalancer-ip>
:http://<loadbalancer-ip>:15692/metrics
-
-
Verify metrics:
-
Using curl:
curl http://<host>:15692/metrics
Replace
<host>
with either localhost (if using port-forward),<node-ip>
(NodePort), or<loadbalancer-ip>
(LoadBalancer). -
Prometheus UI:
In Prometheus, navigate to the Expression browser and search for metrics beginning with
rabbitmq_
or similar RabbitMQ-related prefixes to confirm they are being scraped. -
Grafana or other dashboards:
If you have Grafana connected to Prometheus, open your dashboard. Check that RabbitMQ metrics (those starting with
rabbitmq_
) are being ingested and displayed.
-
- Ensure that any NetworkPolicies or firewall rules allow inbound traffic on port 15692 if you plan to expose it externally.
- Metrics naming conventions can vary depending on the RabbitMQ exporter version. Generally, look for prefixes like
rabbitmq_
.
RabbitMQ metrics
Metric Name | Metric Type |
---|---|
erlang_mnesia_lock_queue | gauge |
erlang_mnesia_transaction_participants | gauge |
erlang_mnesia_transaction_coordinators | gauge |
erlang_mnesia_failed_transactions | counter |
erlang_mnesia_committed_transactions | counter |
erlang_mnesia_logged_transactions | counter |
erlang_mnesia_restarted_transactions | counter |
erlang_mnesia_memory_usage_bytes | gauge |
erlang_mnesia_tablewise_memory_usage_bytes | gauge |
erlang_mnesia_tablewise_size | gauge |
process_start_time_seconds | gauge |
rabbitmq_alarms_file_descriptor_limit | untyped |
rabbitmq_alarms_free_disk_space_watermark | untyped |
rabbitmq_alarms_memory_used_watermark | untyped |
rabbitmq_connections_opened_total | counter |
rabbitmq_connections_closed_total | counter |
rabbitmq_channels_opened_total | counter |
rabbitmq_channels_closed_total | counter |
rabbitmq_queues_declared_total | counter |
rabbitmq_queues_created_total | counter |
rabbitmq_queues_deleted_total | counter |
rabbitmq_process_open_fds | gauge |
rabbitmq_process_open_tcp_sockets | gauge |
rabbitmq_process_resident_memory_bytes | gauge |
rabbitmq_disk_space_available_bytes | gauge |
rabbitmq_erlang_processes_used | gauge |
rabbitmq_erlang_gc_runs_total | counter |
rabbitmq_erlang_gc_reclaimed_bytes_total | counter |
rabbitmq_erlang_scheduler_context_switches_total | counter |
rabbitmq_process_max_fds | gauge |
rabbitmq_process_max_tcp_sockets | gauge |
rabbitmq_resident_memory_limit_bytes | gauge |
rabbitmq_disk_space_available_limit_bytes | gauge |
rabbitmq_erlang_processes_limit | gauge |
rabbitmq_erlang_scheduler_run_queue | gauge |
rabbitmq_erlang_net_ticktime_seconds | gauge |
rabbitmq_erlang_uptime_seconds | gauge |
rabbitmq_io_read_ops_total | counter |
rabbitmq_io_read_bytes_total | counter |
rabbitmq_io_write_ops_total | counter |
rabbitmq_io_write_bytes_total | counter |
rabbitmq_io_sync_ops_total | counter |
rabbitmq_io_seek_ops_total | counter |
rabbitmq_io_reopen_ops_total | counter |
rabbitmq_schema_db_ram_tx_total | counter |
rabbitmq_schema_db_disk_tx_total | counter |
rabbitmq_msg_store_read_total | counter |
rabbitmq_msg_store_write_total | counter |
rabbitmq_queue_index_read_ops_total | counter |
rabbitmq_queue_index_write_ops_total | counter |
rabbitmq_io_read_time_seconds_total | counter |
rabbitmq_io_write_time_seconds_total | counter |
rabbitmq_io_sync_time_seconds_total | counter |
rabbitmq_io_seek_time_seconds_total | counter |
rabbitmq_raft_term_total | counter |
rabbitmq_raft_log_snapshot_index | gauge |
rabbitmq_raft_log_last_applied_index | gauge |
rabbitmq_raft_log_commit_index | gauge |
rabbitmq_raft_log_last_written_index | gauge |
rabbitmq_raft_entry_commit_latency_seconds | gauge |
rabbitmq_auth_attempts_total | counter |
rabbitmq_auth_attempts_succeeded_total | counter |
rabbitmq_auth_attempts_failed_total | counter |
rabbitmq_queue_messages_ready | gauge |
rabbitmq_queue_messages_unacked | gauge |
rabbitmq_queue_messages | gauge |
rabbitmq_queue_process_reductions_total | counter |
rabbitmq_queue_consumers | gauge |
rabbitmq_queue_consumer_capacity | gauge |
rabbitmq_queue_consumer_utilisation | gauge |
rabbitmq_queue_process_memory_bytes | gauge |
rabbitmq_queue_messages_ram | gauge |
rabbitmq_queue_messages_ram_bytes | gauge |
rabbitmq_queue_messages_ready_ram | gauge |
rabbitmq_queue_messages_unacked_ram | gauge |
rabbitmq_queue_messages_persistent | gauge |
rabbitmq_queue_messages_persistent_bytes | gauge |
rabbitmq_queue_messages_bytes | gauge |
rabbitmq_queue_messages_ready_bytes | gauge |
rabbitmq_queue_messages_unacked_bytes | gauge |
rabbitmq_queue_messages_paged_out | gauge |
rabbitmq_queue_messages_paged_out_bytes | gauge |
rabbitmq_queue_head_message_timestamp | gauge |
rabbitmq_queue_disk_reads_total | counter |
rabbitmq_queue_disk_writes_total | counter |
rabbitmq_channel_consumers | gauge |
rabbitmq_channel_messages_unacked | gauge |
rabbitmq_channel_messages_unconfirmed | gauge |
rabbitmq_channel_messages_uncommitted | gauge |
rabbitmq_channel_acks_uncommitted | gauge |
rabbitmq_consumer_prefetch | gauge |
rabbitmq_channel_prefetch | gauge |
rabbitmq_channel_messages_published_total | counter |
rabbitmq_channel_messages_confirmed_total | counter |
rabbitmq_channel_messages_unroutable_returned_total | counter |
rabbitmq_channel_messages_unroutable_dropped_total | counter |
rabbitmq_channel_process_reductions_total | counter |
rabbitmq_channel_get_ack_total | counter |
rabbitmq_channel_get_total | counter |
rabbitmq_channel_messages_delivered_ack_total | counter |
rabbitmq_channel_messages_delivered_total | counter |
rabbitmq_channel_messages_redelivered_total | counter |
rabbitmq_channel_messages_acked_total | counter |
rabbitmq_channel_get_empty_total | counter |
rabbitmq_connection_incoming_bytes_total | counter |
rabbitmq_connection_outgoing_bytes_total | counter |
rabbitmq_connection_process_reductions_total | counter |
rabbitmq_connection_incoming_packets_total | counter |
rabbitmq_connection_outgoing_packets_total | counter |
rabbitmq_connection_pending_packets | gauge |
rabbitmq_connection_channels | gauge |
rabbitmq_queue_messages_published_total | counter |
rabbitmq_connections | gauge |
rabbitmq_channels | gauge |
rabbitmq_consumers | gauge |
rabbitmq_queues | gauge |
rabbitmq_build_info | untyped |
rabbitmq_identity_info | untyped |
rabbitmq_unreachable_cluster_peers_count | gauge |
rabbitmq_global_consumers | gauge |
rabbitmq_global_messages_dead_lettered_maxlen_total | counter |
rabbitmq_global_messages_dead_lettered_expired_total | counter |
rabbitmq_global_messages_dead_lettered_rejected_total | counter |
rabbitmq_global_messages_dead_lettered_delivery_limit_total | counter |
rabbitmq_global_messages_dead_lettered_confirmed_total | counter |
rabbitmq_global_messages_delivered_total | counter |
rabbitmq_global_messages_delivered_consume_manual_ack_total | counter |
rabbitmq_global_messages_delivered_consume_auto_ack_total | counter |
rabbitmq_global_messages_delivered_get_manual_ack_total | counter |
rabbitmq_global_messages_delivered_get_auto_ack_total | counter |
rabbitmq_global_messages_get_empty_total | counter |
rabbitmq_global_messages_redelivered_total | counter |
rabbitmq_global_messages_acknowledged_total | counter |
rabbitmq_global_messages_received_total | counter |
rabbitmq_global_messages_received_confirm_total | counter |
rabbitmq_global_messages_routed_total | counter |
rabbitmq_global_messages_unroutable_dropped_total | counter |
rabbitmq_global_messages_unroutable_returned_total | counter |
rabbitmq_global_messages_confirmed_total | counter |
rabbitmq_global_publishers | gauge |
telemetry_scrape_size_bytes | summary |
telemetry_scrape_encoded_size_bytes | summary |
telemetry_scrape_duration_seconds | summary |
erlang_vm_dist_recv_bytes | gauge |
erlang_vm_dist_recv_cnt | gauge |
erlang_vm_dist_recv_max_bytes | gauge |
erlang_vm_dist_recv_avg_bytes | gauge |
erlang_vm_dist_recv_dvi_bytes | gauge |
erlang_vm_dist_send_bytes | gauge |
erlang_vm_dist_send_cnt | gauge |
erlang_vm_dist_send_max_bytes | gauge |
erlang_vm_dist_send_avg_bytes | gauge |
erlang_vm_dist_send_pend_bytes | gauge |
erlang_vm_dist_port_input_bytes | gauge |
erlang_vm_dist_port_output_bytes | gauge |
erlang_vm_dist_port_memory_bytes | gauge |
erlang_vm_dist_port_queue_size_bytes | gauge |
erlang_vm_dist_proc_memory_bytes | gauge |
erlang_vm_dist_proc_heap_size_words | gauge |
erlang_vm_dist_proc_min_heap_size_words | gauge |
erlang_vm_dist_proc_min_bin_vheap_size_words | gauge |
erlang_vm_dist_proc_stack_size_words | gauge |
erlang_vm_dist_proc_total_heap_size_words | gauge |
erlang_vm_dist_proc_message_queue_len | gauge |
erlang_vm_dist_proc_reductions | gauge |
erlang_vm_dist_proc_status | gauge |
erlang_vm_dist_node_state | gauge |
erlang_vm_dist_node_queue_size_bytes | gauge |
erlang_vm_memory_atom_bytes_total | gauge |
erlang_vm_memory_bytes_total | gauge |
erlang_vm_memory_dets_tables | gauge |
erlang_vm_memory_ets_tables | gauge |
erlang_vm_memory_processes_bytes_total | gauge |
erlang_vm_memory_system_bytes_total | gauge |
erlang_vm_msacc_aux_seconds_total | counter |
erlang_vm_msacc_check_io_seconds_total | counter |
erlang_vm_msacc_emulator_seconds_total | counter |
erlang_vm_msacc_gc_seconds_total | counter |
erlang_vm_msacc_other_seconds_total | counter |
erlang_vm_msacc_port_seconds_total | counter |
erlang_vm_msacc_sleep_seconds_total | counter |
erlang_vm_msacc_alloc_seconds_total | counter |
erlang_vm_msacc_bif_seconds_total | counter |
erlang_vm_msacc_busy_wait_seconds_total | counter |
erlang_vm_msacc_ets_seconds_total | counter |
erlang_vm_msacc_gc_full_seconds_total | counter |
erlang_vm_msacc_nif_seconds_total | counter |
erlang_vm_msacc_send_seconds_total | counter |
erlang_vm_msacc_timers_seconds_total | counter |
erlang_vm_statistics_bytes_output_total | counter |
erlang_vm_statistics_bytes_received_total | counter |
erlang_vm_statistics_context_switches | counter |
erlang_vm_statistics_dirty_cpu_run_queue_length | gauge |
erlang_vm_statistics_dirty_io_run_queue_length | gauge |
erlang_vm_statistics_garbage_collection_number_of_gcs | counter |
erlang_vm_statistics_garbage_collection_bytes_reclaimed | counter |
erlang_vm_statistics_garbage_collection_words_reclaimed | counter |
erlang_vm_statistics_reductions_total | counter |
erlang_vm_statistics_run_queues_length | gauge |
erlang_vm_statistics_runtime_milliseconds | counter |
erlang_vm_statistics_wallclock_time_milliseconds | counter |
erlang_vm_dirty_cpu_schedulers | gauge |
erlang_vm_dirty_cpu_schedulers_online | gauge |
erlang_vm_dirty_io_schedulers | gauge |
erlang_vm_ets_limit | gauge |
erlang_vm_logical_processors | gauge |
erlang_vm_logical_processors_available | gauge |
erlang_vm_logical_processors_online | gauge |
erlang_vm_port_count | gauge |
erlang_vm_port_limit | gauge |
erlang_vm_process_count | gauge |
erlang_vm_process_limit | gauge |
erlang_vm_schedulers | gauge |
erlang_vm_schedulers_online | gauge |
erlang_vm_smp_support | untyped |
erlang_vm_threads | untyped |
erlang_vm_thread_pool_size | gauge |
erlang_vm_time_correction | untyped |
erlang_vm_wordsize_bytes | gauge |
erlang_vm_atom_count | gauge |
erlang_vm_atom_limit | gauge |
erlang_vm_allocators | gauge |