RabbitMQ

Supported Versions

Confirmed support for metrics, configuration data and manual tracing: versions 3.6.15, 3.7.4, 3.7.5 and 3.7.14.

Configuration

RabbitMQ

The RabbitMQ Management plugin must be enabled to allow the sensor to collect metrics. Use the following command to enable the plugin.

rabbitmq-plugins enable rabbitmq_management

Sensor

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

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

Sensor Data Collection

Tracked Configuration

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

Metrics

RabbitMQ Sensor extracts metrics every 5 seconds, since that is default sampling rate of 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 published (per 5 seconds)
Delivered Count of messages delivered (per 5 seconds)
Acknowledged Number of messages delivered to clients and acknowledged (per 5 seconds)

Messages Status

Metric Description
Ready Number of messages ready to be delivered to clients
Unacknowledged Number of messages delivered to clients but not yet acknowledged
Total Total number of messages in this queue
Ready Rate Number of messages per second ready to be delivered to clients
Unacknowledged Rate Number of messages per second delivered to clients but not yet acknowledged
Total Rate Count of the total messages per second in the queue

Overview

Metric Description
Consumers Number of consumers
Connections Number of current connections to RabbitMQ server

Nodes (metrics for each node)

Metric Description
Used file descriptors Count of file descriptors in use
Total file descriptors Count of all file descriptors available
Erlang processes in use Erlang processes in use
Maximum number of Erlang processes Maximum number of Erlang processes
Used memory Used memory
Memory limit Maximum memory available
Disk alarm threshold An alarm will be triggered if the amount of free disk space drops below a configured limit
Disk free space Disk free space

Queues (metrics for each queue)

Queue monitoring is not enabled by default, in order to enable in depth metric monitoring, you need to inform the Agent about the queues you want to monitor. You can configure that in the agent <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.rabbitmq:
  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 '/'
Metric Description
Messages ready Number of messages ready to be delivered to clients
Messages unacknowledged Number of messages delivered to clients but not yet acknowledged
Messages total Number of all messages in the queue

Health check support

The Instana RabbitMQ sensor will conduct custom health checks. If the checks fail for given time period, an issue will be raised to inform the user.

Cluster health checks

Health Description
Network Partition Detection Detects if Network Partition occurs inside of RabbitMQ cluster (https://www.rabbitmq.com/partitions.html) (triggered every 5 seconds)

Server health checks

Health Description
Queued Messages Queues are filling up with messages that are not delivered (over time period of 10 minutes)
No Consumers RabbitMQ has no consumers in last 5 seconds (triggered every 5 seconds)
No Connections RabbitMQ has no connections in last 5 seconds (triggered every 5 seconds)

Nodes health checks

Health Description
File Descriptors RabbitMQ File Descriptors Usage is critical on specific node (Warning: > 90%, Critical: > 98%; triggered every 5 seconds)
Memory Usage RabbitMQ Memory Usage is critical on specific node (Warning: > 90%, Critical: > 98%; triggered every 5 seconds)
Processes count RabbitMQ Erlang Processes count is critical on specific node (Warning: > 90%, Critical: > 98%; triggered every 5 seconds)

Queues health checks

Health Description
Unacknowledged Messages Increase More messages are being published to a queue, than the consumers are able to process from a queue

Tracing