RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing protocol and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol, MQ Telemetry Transport, and other protocols.

Prerequisite

For Virtual Machines, install the Linux Agent.

Configuring the credentials

Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml

rabbitmq:
- name: rabbitmq
  user: <username>
  pwd: <Password>
  encoding-type: plain
  labels:
    key1: val1
    key2: val2

Configuring the application

Virtual machine

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml

- name: rabbitmq
  instance-checks:
    service-check:
      - rabbitmq-server
    process-check:
      - rabbitmq
    port-check:
      - 15672
      - 5672

Docker environment

Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml

- name: rabbitmq
  container-checks:
    image-check:
      - rabbitmq
    port-check:
      - 15672
      - 5672

Kubernetes environment

Configure the application in config.yaml

- name: rabbitmq
  container-checks:
    image-check:
      - rabbitmq
    port-check:
      - 15672
      - 5672

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Metrics

OpsRamp MetricMetric Display NameUnitDescription
rabbitmq_connectionsConnectionsNumber of connections at a given time
rabbitmq_connections_stateConnections StateNumber of connections in the specified connection state
rabbitmq_exchange_messages_publish_countExchange Messages PublishCount of messages in exchanges published (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_exchange_messages_publish_in_countExchange Messages Publish InCount of messages published from channels into this exchange (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_exchange_messages_publish_in_rateExchange Messages Publish In RateRate of messages published from channels into this exchange per sec (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_exchange_messages_publish_out_countExchange Messages Publish OutCount of messages published from this exchange into queues (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_exchange_messages_publish_out_rateExchange Messages Publish Out RateRate of messages published from this exchange into queues per second (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_exchange_messages_publish_rateExchange Messages Publish RateRate of messages in exchanges published per second (instance name will be displayed in the format 'name_type_vhost')
rabbitmq_node_disk_alarmDisk AlarmDoes the node have disk alarm
rabbitmq_node_disk_freeFree DiskFree Disk,MBFree disk of the rabbitmq node
rabbitmq_node_fd_usedOpen FDsOpen FDsNumber of open file descriptors used
rabbitmq_node_mem_alarmNode Memory AlarmDoes the host has memory alarm
rabbitmq_node_mem_limitNode Memory LimitMemory,MBLimit of Memory usage
rabbitmq_node_mem_usedNode Memory UtilizationmegabytesMemory used by the rabbitmq node
rabbitmq_node_partitionsNode Network PartitionsNumber of network partitions this node is observing
rabbitmq_node_proc_usedErlang Processes UsedProcsNumber of Erlang processes used
rabbitmq_node_run_queueNode Run QueueAverage number of Erlang processes waiting to run
rabbitmq_node_runningNode RunningIs the node running or not
rabbitmq_node_sockets_usedNode Sockets UsedSocketsNumber of sockets used
rabbitmq_node_uptimeUptimeMinutesUptime of the RabbitMQ server
rabbitmq_objects_overviewOverview ObjectsObjectsOverview of all objects
rabbitmq_overview_messages_ack_countOverview Messages AcknowledgedNumber of messages delivered to clients and acknowledged
rabbitmq_overview_messages_ack_rateOverview Messages Acknowledged RateRate of messages delivered to clients and acknowledged per second
rabbitmq_overview_messages_deliver_get_countOverview Messages DeliverSum 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
rabbitmq_overview_messages_deliver_get_rateOverview Messages Deliver RateRate 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
rabbitmq_overview_messages_publish_countOverview Messages PublishCount of messages published
rabbitmq_overview_messages_publish_rateOverview Messages Publish RateRate of messages published per second
rabbitmq_overview_messages_redeliver_countOverview Messages RedeliverCount of subset of messages in deliver_get which had the redelivered flag set
rabbitmq_overview_messages_redeliver_rateOverview Messages Redeliver RateRate of subset of messages in deliver_get which had the redelivered flag set per second
rabbitmq_overview_object_totals_channelsOverview Objects ChannelsTotal number of channels
rabbitmq_overview_object_totals_connectionsOverview Objects ConnectionsTotal number of connections
rabbitmq_overview_object_totals_consumersOverview Objects ConsumersTotal number of consumers
rabbitmq_overview_object_totals_queuesOverview Objects QueuesTotal number of queues
rabbitmq_overview_queue_totals_messages_countOverview Queue MessagesTotal number of messages (ready plus unacknowledged)
rabbitmq_overview_queue_totals_messages_rateOverview Queue Messages RateRate of number of messages (ready plus unacknowledged)
rabbitmq_overview_queue_totals_messages_ready_countOverview Queue Messages ReadyNumber of messages ready for delivery
rabbitmq_overview_queue_totals_messages_ready_rateOverview Queue Messages Ready RateRate of number of messages ready for delivery
rabbitmq_overview_queue_totals_messages_unacknowledged_countOverview Queue Messages UnaknowledgedNumber of unacknowledged messages
rabbitmq_overview_queue_totals_messages_unacknowledged_rateOverview Queue Messages Unaknowledged RateRate of number of unacknowledged messages
rabbitmq_queue_consumer_utilisationQueue Consumer UtilisationRatio of time that a queue's consumers can take new messages (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_consumersConsumersConsumersNumber of consumers. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_consumers_activeActive ConsumersConsumersNumber of active consumers. An active consumer is one which could immediately receive any messages sent to the queue. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_memoryMemorymegabytesMemory consumed by the Erlang process associated with the queue, including stack, heap and internal structures. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messagesMessagesMessagesSum of ready and unacknowledged messages (queue depth). (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_ack_countQueue Messages AcknowledgedNumber of messages in queues delivered to clients and acknowledged (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_ack_rateQueue Messages Acknowledged RateNumber per second of messages delivered to clients and acknowledged (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_deliver_countQueue Messages DeliverCount of messages delivered in acknowledgement mode to consumers (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_deliver_get_countQueue Messages Deliver GetSum 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. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_deliver_get_rateQueue Messages Deliver Get RateRate 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. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_deliver_rateQueue Messages Deliver RateRate of messages delivered in acknowledgement mode to consumers (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_publish_countQueue Messages PublishCount of messages in queues published (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_publish_rateQueue Messages Publish RateRate per second of messages published (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_rateQueue Messages RateCount per second of the total messages in the queue (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_readyMessages ReadyMessages ReadyNumber of messages ready to be delivered to clients. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_ready_rateMessages Ready RateRate of messages ready to be delivered to clients. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_redeliver_countQueue Messages RedeliverCount of subset of messages in queues in deliver_get which had the redelivered flag set (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_redeliver_rateQueue Messages Redeliver RateRate per second of subset of messages in deliver_get which had the redelivered flag set (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_unacknowledgedMessages UnacknowledgedMessages UnacknowledgedNumber of messages delivered to clients but not yet acknowledged. (instance name will be displayed in the format 'name_vhost')
rabbitmq_queue_messages_unacknowledged_rateMessages Unacknowledged RateRate of messages delivered to clients but not yet acknowledged. (instance name will be displayed in the format 'name_vhost')