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:
- In the sidebar of the Instana UI, select Infrastructure.
- 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 themonitorQueues
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.