Skip to content

rabbitmq_queues

rabbitmq queues plugin

Description

The rabbitmq_queues plugin provides the ability to monitor metrics for individual queues on the rabbit node being managed. Based on its configuration, the plugin provides monitoring of static and dynamic queues. Static queues are individually defined in config, whereas dynamic queues are defined by a regular expression, from which matching queue names are acquired and used to create metric capabilities. This implies that metric names for dynamic queues may or may not be known when Wombat is started-up.

All queue metric names follow the following format;

\<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ \<METRIC-ATTRIBUTE>

where:

<QUEUE-NAME> is the configured static queue name, or acquired dynamic queue name from the regular expression. Queue names vary based on the rabbit node deployment.

<VIRTUAL-HOST> is the virtual host name on which the queue, \<QUEUE-NAME> resides. The virtual host also varies based on the specific rabbit node deployment.

<METRIC-ATTRIBUTE> is one of the following metric attributes;

  • messages
  • messages_ready
  • messages_unacknowledged
  • messages_ready_ram
  • messages_unacknowledged_ram
  • messages_ram
  • messages_persistent
  • message_bytes
  • message_bytes_ready
  • message_bytes_unacknowledged
  • message_bytes_ram
  • message_bytes_persistent
  • disk_reads
  • disk_writes
  • consumers
  • memory

Example of a queue metric: test.queue~test.vhost~messages.

Supported versions.

Official stable Rabbit releases newer than 2.3.0 are supported.

Applications it depends on

rabbit

Modules

  • wombat_plugin_rabbitmq_queues
  • wombat_plugin_rabbitmq_metrics

Configuration options

  • static_queues: Defines a list of tuple definitions for queues. Each queue definition is a tuple {QueueName1, VirtualHost, MetricAttribute}. Default value: [].

  • dynamic_queues: Defines two configuration tags used to generate dynamic queue metrics. These tags are match_spec and metric, defined next.

  • dynamic_queues.match_spec: This is the regular expression used for acquiring all matching queue names on the rabbit node, from which metric names are generated from. Default value: ".*".

  • dynamic_queues.metric: This is the metric attribute to be applied and monitored to all matched queues. Default value: messages.

  • refresh_interval: Time period after which new metric values are acquired from the rabbit node. Default value: 1000.

  • ordering: Defines the manner in which queue metrics will be ordered. The following values can be used: true, ascending, ascend, descending, descend. Value true simply means ascending. Default value: ascending

Example wombat.config entry

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
%% Set the static queues
{set, wo_plugins, plugins, rabbitmq_queues, static_queues, [{<<"test.queue.1">>, <<"/">>, messages},
                                                            {<<"test.queue.2">>, <<"/">>, memory}]}.

%% Set the dynamic queues
{set, wo_plugins, plugins, rabbitmq_queues, dynamic_queues, [{match_spec, "^test"},
                                                             {metric,     consumers}]}.

%% Change refresh interval after which metric values are refreshed
{set, wo_plugins, plugins, rabbitmq_queues, refresh_interval, 1000}.

%% Set the ordering or metrics to ascending
{set, wo_plugins, plugins, rabbitmq_queues, ordering, ascending}.

Metrics reported

If the plugin is restarted, all these metrics are reset.

Overview metrics:

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages : Tags: dev

The total number messages in queue \<QUEUE-NAME> residing in vhost \<VIRTUAL-HOST>.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_ready : Tags: dev

The number of messages within the queue, ready for consumption.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_unacknowledged : Tags: dev

The number of messages within the queue, that have not yet been acknoweledged.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_ready_ram : Tags: dev

The number of queue messages held in RAM, which are ready for delivery.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_unacknowledged_ram : Tags: dev

The number of queue messages held in RAM, that have not been acknoweledged.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_ram : Tags: dev

The total number of queue messages held in RAM.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ messages_persistent : Tags: dev

The total number of persistant messages of the queue.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ disk_reads : Tags: dev

The total number of disk read operations carried out by the queue.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ disk_writes : Tags: dev

The total number of disk write operations carried out by the queue.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ consumers : Tags: dev

The total number of clients consuming messages from the queue.

  • \<QUEUE-NAME> ~ \<VIRTUAL-HOST> ~ memory : Tags: dev

The total memory utilisation of the queue.