Bindplane

The Bindplane Developer Hub

Welcome to the Bindplane developer hub. You'll find comprehensive guides and documentation to help you start working with Bindplane as quickly as possible, as well as support if you get stuck. Let's jump right in!

Data Collection Setup

The collector interacts with the Management Plugin to collect metrics for BindPlane, so the Management Plugin must be enabled.

Network Requirements

Enable the Management Plugin for RabbitMQ

  • Click the text above to read more!

Least Privileged User

The RabbitMQ Management Plugin requires authentication and authorization using a username and password. The user must at least have the "management" tag in order for it to be authorized to access the plugin.

One way to create a new user with the required tag is using rabbitmqctl. For example:

# User 'bindplane_collector' is created with the password '[email protected]', but does not have the required tag yet
rabbitmqctl add_user bindplane_collector [email protected]

# 'Monitoring' tag is added to the user, giving it the required permissions
rabbitmqctl set_user_tags bindplane_collector monitoring

# Give the user read access to all queues in order to collect queue metrics
rabbitmqctl set_permissions bindplane_collector '' '' '.*'

# To restrict access to only specific queues, replace '.*' with a regex pattern for the queue name(s)
# rabbitmqctl set_permissions bindplane_collector '' '' '.*-development'

Users can also be created and updated from the management plugin's web interface. See the RabbitMQ documentation for details on creating users and the different available tags.

Supported Versions

RabbitMQ: All versions of 3.x

Connection Parameters

Name
Required?
Description

Host

Required

Hostname or IP address of the RabbitMQ host.

Port

Port that the RabbitMQ Management Plugin is running on.

SSL Configuration

Username

Required

Username for authenticating with the RabbitMQ Management Plugin.

Password

Required

Password for authenticating with the RabbitMQ Management Plugin.

Maximum Parallel Requests

Maximum number of requests to make to the RabbitMQ host at one time.

Metrics

Cluster

Name
Description

Channels

Number of channels in the cluster.

Connections (Connections)

Number of cluster connections.

Consumers

Number of consumers across all channels in the cluster.

Disk Reads

Count of messages read from disk.

Disk Writes

Count of messages written to disk.

Erlang Details

Details about the Erlang VM including how it was compiled.

Erlang Version

Version of Erlang running on the connected node. This can be interpreted as the version running on all nodes as clusters should run the same version.

Exchanges

Number of exchanges in the cluster.

Management Version

Version of the management plugin that is running.

Messages

Number of messages aggregated across all queues in the cluster.

Messages Acknowledged

Count of messages that were acknowledged, aggregated across all queues in the cluster.

Messages Confirmed

Count of messages that have been confirmed.

Messages Delivered

Count of messages that have been delivered.

Messages Delivered in Acknowledgement Mode

Count of messages delivered in acknowledgement mode.

Messages Delivered in No-Acknowledgment Mode

Count of messages delivered in no-acknowledgement mode.

Messages Published

Count of messages that have been published.

Messages Ready

Number of messages ready to be delivered to clients, aggregated across all queues in the cluster.

Messages Redelivered

Count of messages in deliver_get which had the redelivered flag set.

Messages Unacknowledged

Number of messages that have been delivered but not acknowledged, aggregated across all queues in the cluster.

Messages Unroutable

Count of messages that were returned to the publisher as unroutable.

Name

Name of the RabbitMQ cluster.

Node

Name of the node that the management plugin instance is running on.

Queues

Number of queues in the cluster.

Rates Mode

Determines what message rates will be shown by the management plugin.

Statistics Database Event Queue Length

Number of events that the management statistics database has not yet processed.

Statistics Database Node

Name of the node that is hosting the management statistics database.

Connection

Name
Description

Channels

Number of channels using the connection.

Host

Hostname or IP address of the node the connection is associated with.

Name

Human-readable name of the connection.

Node

Name of the node the connection is associated with.

Peer Host

Hostname or IP address of the peer that the connection is associated with.

Peer Port

Port on the peer that the connection is over.

Port

Port on the node that the connection is over.

Protocol

Version of the AMQP protocol used for the connection.

Received Throughput (Bytes)

Data received by the node through the connection.

Reductions

Reductions, or function calls, that have taken place on the channel.

Send Queue Size

Size of the send queue.

Sent Throughput (Bytes)

Data sent from the node through the connection.

Start Time

Timestamp of when the connection was established.

State

State of the connection.

User

Username associated with the connection.

Virtual Host

Virtual host associated with the connection.

Node

Name
Description

Average Erlang Processes Waiting

Average number of Erlang processes waiting to run on the node.

Average I/O Read Time (Seconds)

Average wall time of disk read operations.

Average I/O Seek Time (Seconds)

Average wall time of disk seek operations.

Average I/O Sync Time (Seconds)

Average wall time of fsync() operations.

Average I/O Write Time (Seconds)

Average wall time of disk write operations.

Disk Free (Bytes)

Disk space not yet in use by the node.

Erlang Process Limit (Processes)

Maximum number of Erlang processes for the node.

Erlang Processes (Processes)

Number of Erlang processes running on the node.

File Descriptors Used as Sockets

Number of file descriptors used as sockets by RabbitMQ processes.

Hostname

Hostname or IP address of the node.

I/O Read Operations (Operations)

Count of disk read operations.

I/O Read Throughput (Bytes)

Count of data read from disk.

I/O Seek Operations (Operations)

Count of disk seek operations.

I/O Sync Operations (Operations)

Count of fsync() operations.

I/O Write Operations (Operations)

Count of disk write operations.

I/O Write Throughput (Bytes)

Count of data written to disk.

Memory Alarm

Whether the memory alarm has been triggered.

Memory Used (Bytes)

Memory in use by the node.

Message Store Reads

Count of messages read from the message store.

Message Store Writes

Count of messages written to the message store.

Mnesia Disk Writes (Operations)

Count of Mnesia transactions which required writing to disk.

Mnesia RAM Writes (Operations)

Count of Mnesia transactions which did not require writing to disk.

Name

Name of the node.

Queue Index Journal Writes (Records)

Count of records written to the queue index journal.

Queue Index Reads (Records)

Count of records read from the queue index.

Queue Index Writes (Records)

Count of records written to the queue index.

Running

Whether the node is running.

Total File Descriptors

Number of available file descriptors.

Total File Descriptors as Sockets

Number of file descriptors available to use as sockets.

Uptime (Milliseconds)

Time since the Erlang VM started.

Used File Descriptors

Number of file descriptors used by RabbitMQ processes.

Queue

Name
Description

Auto Delete

Whether auto-delete is enabled for the queue. If it is, the queue will be deleted when its last consumer unsubscribes.

Consumer Utilization (%)

Proportion of time that the queue's consumers are able to receive new messages

Consumers

Number of consumers configured to receive data from the queue.

Durable

Whether the queue is configured to be durable. If it is, the queue will survive a broker restart.

Exclusive

Whether the queue is configured to be exclusive. If it is, the queue is only used by one connection and will be deleted when the connection is closed.

Memory Usage (Bytes)

Memory used by the queue process, calculated using the cluster's 'vm_memory_calculation_strategy' configuration value.

Message RAM Size (Bytes)

Total size of all message bodies of messages in the queue which are currently held in RAM.

Message Size (Bytes)

Total size of all message bodies in the queue, excluding overhead.

Messages

Number of messages in the queue, including ready and unacknowledged messages

Messages Acknowledged

Count of messages that were acknowledged.

Messages Delivered

Count of messages that have been delivered.

Messages Delivered in Acknowledgement Mode

Count of messages delivered in acknowledgement mode.

Messages Delivered in No-Acknowledgment Mode

Messages Delivered in No-Acknowledgment Mode

Messages Delivered On Demand in Acknowledgement Mode

Count of messages delivered in acknowledgement mode in response to basic.get.

Messages Delivered On Demand in No-Acknowledgement Mode

Count of messages delivered in no-acknowledgement mode in response to basic.get.

Messages Published

Count of messages that have been published to the queue.

Messages Ready

Number of messages in the queue that are ready to be delivered to clients.

Messages Redelivered

Count of messages in the deliver_get which had the redelivered flag set.

Messages Unacknowledged

Number of messages from the queue that have been delivered but not acknowledged.

Name

Name of the queue.

Node

Node that contains the queue.

Persistent Message Size (Bytes)

Total size of all message bodies of persistent messages in the queue.

Ready Message Size (Bytes)

Total size of all message bodies of messages in the queue which are ready to be delivered.

State

State of the queue.

Virtual Host

Virtual host containing the queue.

Updated about a month ago

RabbitMQ


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.