Monitoring RabbitMQ

The RabbitMQ sensor is automatically deployed and installed after you install the Instana agent.

Supported information

Supported versions

The metrics and configuration data support RabbitMQ versions from 3.6.x to 3.12.x.

Supported client-side tracing

For this technology, Instana supports client-side tracing for the following languages and runtimes:

Configuration

RabbitMQ

For the sensor to collect metrics, enable the RabbitMQ Management plugin by running this command:

rabbitmq-plugins enable rabbitmq_management

Sensor

If the management interface requires authentication, you can configure it in the agent config file <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.rabbitmq:
  user: 'guest'
  password: 'guest'

Viewing metrics

To view the metrics, complete the following steps:

  1. In the sidebar of the Instana UI, select Infrastructure.
  2. Click a specific monitored host.

Then, you can see a host dashboard with all the collected metrics and monitored processes.

RabbitMQ node metrics

Configuration data

See the following configuration data that is collected from the RabbitMQ sensor:

  • Ports
  • Version
  • Erlang Version
  • Node Name
  • Nodes (count)
  • Queues (count)
  • Channels (count)

Performance metrics

RabbitMQ Sensor collects metrics every 5 seconds as that's the default sampling rate of the RabbitMQ Server.

"This configuration (which is the default) retains global data at a 5 second resolution (sampling happens every 5 seconds) for 10 minutes and 5 seconds, then at a 1 minute resolution for 1 hour and 1 minute, then at a 10 minute resolution for about 8 hours. It retains basic data at a 5 second resolution for 1 minute and 5 seconds, then at a 1 minute resolution for 1 hour, and detailed data only for 10 seconds. All three policies are mandatory, and must contain at least one retention pair {MaxAgeInSeconds, SampleEveryNSeconds}." (https://www.rabbitmq.com/management.html#sample-retention)

Messages
Metric Description
Published Count of messages that are published (per 5 seconds).
Delivered Count of messages that are delivered (per 5 seconds).
Acknowledged Number of messages that are delivered to clients and acknowledged (per 5 seconds).
Messages Status
Metric Description
Ready Number of messages that are ready to be delivered to clients.
Unacknowledged Number of messages that are delivered to clients, but not yet acknowledged.
Total Total number of messages that are in the queue.
Ready Rate Number of messages per second that are ready to be delivered to clients.
Unacknowledged Rate Number of messages per second that are delivered to clients, but not yet acknowledged.
Total Rate Count of the total messages per second that are in the queue.
Overview
Metric Description
Consumers Number of consumers.
Connections Number of current connections to the RabbitMQ server.
Nodes (metrics per node)
Metric Description
Used file descriptors Count of file descriptors that are in use.
Total file descriptors Count of all file descriptors that are available.
Erlang processes in use Number of Erlang processes that are in use.
Maximum number of Erlang processes Maximum number of Erlang processes that are available.
Used memory Amount of memory that is used.
Memory limit Maximum memory that is available.
Disk alarm threshold Amount of unused disk space that must be maintained to avoid triggering an alarm.
Disk free space Amount of unused disk space.
Sockets used Count of file descriptors that are used as sockets.
Total sockets Count of file descriptors that are available for use as sockets.
Queues (metrics per queue)

By default, queue monitoring is not enabled. To enable in-depth metric monitoring, inform the agent about the queues you want to monitor (up to 1000 queues). You can configure queues for monitoring in the agent configuration file <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.rabbitmq:
  queuesRegex: '.*' # Regex pattern used for matching monitored queues
  monitorQueues:
    - queue: 'instana1' # name of the queue
      vhost: '/' # name of the vhost, default is '/'
    - queue: 'stan1' # name of the queue
      vhost: '/' # name of the vhost, default is '/'
  • queuesRegex: Optional regex pattern that is used for filtering queues by name. You can use it together with the monitorQueues configuration.
Metric Description
Messages ready Number of messages that are ready to be delivered to clients.
Messages unacknowledged Number of messages that are delivered to clients, but not yet acknowledged.
Messages total Number of all messages that are in the queue.
Consumers Number of consumers that use messages from the queue.

Health signatures

For each sensor, a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents that depend on the user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any selected entity.

For more information about built-events for the RabbitMQ Cluster, RabbitMQ Server, RabbitMQ Nodes, and RabbitMQ Queues, see the Built-in events reference.

RabbitMQ cluster metrics

Configuration data

  • Cluster Name
  • Nodes (count)

Performance metrics

  • Nodes Up (count)
  • Nodes Down (count)
  • Connections (count)
Overall messages
Metric Description
Overall published Count of messages that are published across cluster (per 5 seconds).
Overall delivered Count of messages that are delivered across cluster (per 5 seconds).
Overall acknowledged Number of messages that are delivered to clients and acknowledged across cluster (per 5 seconds).
Overall messages status
Metric Description
Overall ready Number of messages that are ready to be delivered to clients across cluster.
Overall unacknowledged Number of messages that are delivered to clients but not yet acknowledged across cluster.
Overall total Total number of messages that are in all queues across cluster.
Overall ready rate Number of messages per second that are ready to be delivered to clients across cluster.
Overall unacknowledged rate Number of messages per second that are delivered to clients, but not yet acknowledged across cluster.
Overall total rate Count of the total messages per second that are in all queues across cluster.
Overview
Metric Description
Consumers Number of consumers across cluster.
Connections Number of current connections to the RabbitMQ cluster.
Cluster nodes
Metric Description
Version Version of the RabbitMQ node.
File descriptors used Count of file descriptors that are in use.
Memory used Amount of memory that is used.
Sockets used Count of file descriptors that are used as sockets.
Erlang processes Count of Erlang processes that are in use.
Disk free Amount of unused disk space.
Disk alarm threshold Amount of unused disk space that must be maintained to avoid triggering an alarm.

Tracing

You can trace all requests automatically. For more information, see Tracing - supported technologies.