Skip to content

Instantly share code, notes, and snippets.

@jamesbjackson
Last active August 13, 2021 13:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesbjackson/796bc1f1c76d7c27d91c8b94a571d110 to your computer and use it in GitHub Desktop.
Save jamesbjackson/796bc1f1c76d7c27d91c8b94a571d110 to your computer and use it in GitHub Desktop.
######################################################################################################
# SignalFX RabbitMQ (https://github.com/signalfx/collectd-rabbitmq)
# See https://docs.signalfx.com/en/latest/integrations/agent/monitors/collectd-rabbitmq.html
######################################################################################################
# ------------------------------------------
# Channel Counters (counter.channel)
# ------------------------------------------
counter.channel.message_stats.ack value:COUNTER:0:U # The number of acknowledged messages
counter.channel.message_stats.confirm value:COUNTER:0:U # Count of messages confirmed.
counter.channel.message_stats.deliver value:COUNTER:0:U # Count of messages delivered in acknowledgement mode to consumers.
counter.channel.message_stats.deliver_get value:COUNTER:0:U # Count of all messages delivered on the channel
counter.channel.message_stats.publish value:COUNTER:0:U # Count of messages published.
# ------------------------------------------
# Channel Gauges (gauge.channel)
# ------------------------------------------
gauge.channel.connection_details.peer_port value:GAUGE:0:U # The peer port number of the channel
gauge.channel.consumer_count value:GAUGE:0:U # The number of consumers the channel has
gauge.channel.global_prefetch_count value:GAUGE:0:U # QoS prefetch limit for the entire channel, 0 if unlimited.
gauge.channel.message_stats.ack_details.rate value:GAUGE:0:U # How much the channel message ack count has changed per second in the most recent sampling interval.
gauge.channel.message_stats.confirm_details.rate value:GAUGE:0:U # How much the channel message confirm count has changed per second in the most recent sampling interval.
gauge.channel.message_stats.deliver_details.rate value:GAUGE:0:U # How much the channel deliver count has changed per second in the most recent sampling interval.
gauge.channel.message_stats.deliver_get_details.rate value:GAUGE:0:U # How much the channel message count has changed per second in the most recent sampling interval.
gauge.channel.message_stats.publish_details.rate value:GAUGE:0:U # How much the channel message publish count has changed per second in the most recent sampling interval.
gauge.channel.messages_unacknowledged value:GAUGE:0:U # Number of messages delivered via this channel but not yet acknowledged.
gauge.channel.messages_uncommitted value:GAUGE:0:U # Number of messages received in an as yet uncommitted transaction.
gauge.channel.messages_unconfirmed value:GAUGE:0:U # Number of published messages not yet confirmed. On channels not in confirm mode, this remains 0.
gauge.channel.number value:GAUGE:0:U # The number of the channel, which uniquely identifies it within a connection.
gauge.channel.prefetch_count value:GAUGE:0:U # QoS prefetch limit for new consumers, 0 if unlimited.
# ------------------------------------------
# Connection Counters (counter.connection)
# ------------------------------------------
counter.connection.channel_max value:COUNTER:0:U # The maximum number of channels on the connection
counter.connection.recv_cnt value:COUNTER:0:U # Number of packets received on the connection
counter.connection.recv_oct value:COUNTER:0:U # Number of octets received on the connection
counter.connection.send_cnt value:COUNTER:0:U # Number of packets sent by the connection
counter.connection.send_oct value:COUNTER:0:U # Number of octets sent by the connection
# ------------------------------------------
# Connection Gauges (gauge.connection)
# ------------------------------------------
gauge.connection.channels value:GAUGE:0:U # The current number of channels on the connection
gauge.connection.connected_at value:GAUGE:0:U # The integer timestamp of the most recent time the connection was established
gauge.connection.frame_max value:GAUGE:0:U # Maximum permissible size of a frame (in bytes) to negotiate with clients.
gauge.connection.peer_port value:GAUGE:0:U # The peer port of the connection
gauge.connection.port value:GAUGE:0:U # The port the connection is established on
gauge.connection.recv_oct_details.rate value:GAUGE:0:U # How much the connection’s octets received count has changed per second in the most recent sampling interval.
gauge.connection.send_oct_details.rate value:GAUGE:0:U # How much the connection’s octets sent count has changed per second in the most recent sampling interval.
gauge.connection.send_pend value:GAUGE:0:U # The number of messages in the send queue of the connection
gauge.connection.timeout value:GAUGE:0:U # The current timeout setting (in seconds) of the connection
# ------------------------------------------
# Exchange Counters (counter.exchange.message_stats)
# ------------------------------------------
counter.exchange.message_stats.confirm value:COUNTER:0:U # Count of messages confirmed.
counter.exchange.message_stats.publish_in value:COUNTER:0:U # Count of messages published “in” to an exchange, i.e. not taking account of routing.
counter.exchange.message_stats.publish_out value:COUNTER:0:U # Count of messages published “out” of an exchange, i.e. taking account of routing.
# ------------------------------------------
# Exchange Gauges (gauge.exchange.message_stats)
# ------------------------------------------
gauge.exchange.message_stats.confirm_details.rate value:GAUGE:0:U # How much the message confirm count has changed per second in the most recent sampling interval.
gauge.exchange.message_stats.publish_in_details.rate value:GAUGE:0:U # How much the exchange publish-in count has changed per second in the most recent sampling interval.
gauge.exchange.message_stats.publish_out_details.rate value:GAUGE:0:U # How much the exchange publish-out count has changed per second in the most recent sampling interval.
# ------------------------------------------
Rabbit Node Counters (counter.node)
# ------------------------------------------
counter.node.io_read_bytes value:COUNTER:0:U # Total number of bytes read from disk by the persister.
counter.node.io_read_count value:COUNTER:0:U # Total number of read operations by the persister.
counter.node.mnesia_disk_tx_count value:COUNTER:0:U # Number of Mnesia transactions which have been performed that required writes to disk.
counter.node.mnesia_ram_tx_count value:COUNTER:0:U # Number of Mnesia transactions which have been performed that did not require writes to disk.
# ------------------------------------------
# Rabbit Node Gauges (gauge.node)
# ------------------------------------------
gauge.node.disk_free value:GAUGE:0:U # Disk free space (in bytes) on the node
gauge.node.disk_free_details.rate value:GAUGE:0:U # How much the disk free space has changed per second in the most recent sampling interval.
gauge.node.disk_free_limit value:GAUGE:0:U # Point (in bytes) at which the disk alarm will go off.
gauge.node.fd_total value:GAUGE:0:U # Total number of file descriptors available.
gauge.node.fd_used value:GAUGE:0:U # Number of used file descriptors.
gauge.node.fd_used_details.rate value:GAUGE:0:U # How much the number of used file descriptors has changed per second in the most recent sampling interval.
gauge.node.io_read_avg_time value:GAUGE:0:U # Average wall time (milliseconds) for each disk read operation in the last statistics interval.
gauge.node.io_read_avg_time_details.rate value:GAUGE:0:U # How much the I/O read average time has changed per second in the most recent sampling interval.
gauge.node.io_read_bytes_details.rate value:GAUGE:0:U # How much the number of bytes read from disk has changed per second in the most recent sampling interval.
gauge.node.io_read_count_details.rate value:GAUGE:0:U # How much the number of read operations has changed per second in the most recent sampling interval.
gauge.node.io_sync_avg_time value:GAUGE:0:U # Average wall time (milliseconds) for each fsync() operation in the last statistics interval.
gauge.node.io_sync_avg_time_details.rate value:GAUGE:0:U # How much the average I/O sync time has changed per second in the most recent sampling interval.
gauge.node.io_write_avg_time value:GAUGE:0:U # Average wall time (milliseconds) for each disk write operation in the last statistics interval.
gauge.node.io_write_avg_time_details.rate value:GAUGE:0:U # How much the I/O write time has changed per second in the most recent sampling interval.
gauge.node.mem_limit value:GAUGE:0:U # Point (in bytes) at which the memory alarm will go off.
gauge.node.mem_used value:GAUGE:0:U # Memory used in bytes.
gauge.node.mem_used_details.rate value:GAUGE:0:U # How much the count has changed per second in the most recent sampling interval.
gauge.node.mnesia_disk_tx_count_details.rate value:GAUGE:0:U # How much the Mnesia disk transaction count has changed per second in the most recent sampling interval.
gauge.node.mnesia_ram_tx_count_details.rate value:GAUGE:0:U # How much the RAM-only Mnesia transaction count has changed per second in the most recent sampling interval.
gauge.node.net_ticktime value:GAUGE:0:U # Current kernel net_ticktime setting for the node.
gauge.node.proc_total value:GAUGE:0:U # The maximum number of Erlang processes that can run in an Erlang VM.
gauge.node.proc_used value:GAUGE:0:U # Number of Erlang processes currently running in use.
gauge.node.proc_used_details.rate value:GAUGE:0:U # How much the number of erlang processes in use has changed per second in the most recent sampling interval.
gauge.node.processors value:GAUGE:0:U # Number of cores detected and usable by Erlang.
gauge.node.run_queue value:GAUGE:0:U # Average number of Erlang processes waiting to run.
gauge.node.sockets_total value:GAUGE:0:U # Number of file descriptors available for use as sockets.
gauge.node.sockets_used value:GAUGE:0:U # Number of file descriptors used as sockets.
gauge.node.sockets_used_details.rate value:GAUGE:0:U # How much the number of sockets used has changed per second in the most recent sampling interval.
gauge.node.uptime value:GAUGE:0:U # Time since the Erlang VM started, in milliseconds.
# ------------------------------------------
# Queues Counters (counter.queue)
# ------------------------------------------
counter.queue.disk_reads value:COUNTER:0:U # Total number of times messages have been read from disk by this queue since it started.
counter.queue.disk_writes value:COUNTER:0:U # Total number of times messages have been written to disk by this queue since it started.
counter.queue.message_stats.ack value:COUNTER:0:U # Number of acknowledged messages processed by the queue
counter.queue.message_stats.deliver value:COUNTER:0:U # Count of messages delivered in acknowledgement mode to consumers.
counter.queue.message_stats.deliver_get value:COUNTER:0:U # Count of all messages delivered on the queue
counter.queue.message_stats.publish value:COUNTER:0:U # Count of messages published.
# ------------------------------------------
# Queues Gauges (gauge.queue)
# ------------------------------------------
gauge.queue.backing_queue_status.avg_ack_egress_rate value:GAUGE:0:U # Rate at which unacknowledged message records leave RAM, e.g. because acks arrive or unacked messages are paged out
gauge.queue.backing_queue_status.avg_ack_ingress_rate value:GAUGE:0:U # Rate at which unacknowledged message records enter RAM, e.g. because messages are delivered requiring acknowledgement
gauge.queue.backing_queue_status.avg_egress_rate value:GAUGE:0:U # Average egress (outbound) rate, not including messages that are sent straight through to auto-acking consumers.
gauge.queue.backing_queue_status.avg_ingress_rate value:GAUGE:0:U # Average ingress (inbound) rate, not including messages that are sent straight through to auto-acking consumers.
gauge.queue.backing_queue_status.len value:GAUGE:0:U # Total backing queue length, in messages
gauge.queue.backing_queue_status.next_seq_id value:GAUGE:0:U # The next sequence ID to be used in the backing queue
gauge.queue.backing_queue_status.q1 value:GAUGE:0:U # Number of messages in backing queue q1
gauge.queue.backing_queue_status.q2 value:GAUGE:0:U # Number of messages in backing queue q2
gauge.queue.backing_queue_status.q3 value:GAUGE:0:U # Number of messages in backing queue q3
gauge.queue.backing_queue_status.q4 value:GAUGE:0:U # Number of messages in backing queue q4
gauge.queue.consumer_utilisation value:GAUGE:0:U # Fraction of the time (between 0.0 and 1.0) that the queue is able to immediately deliver messages to consumers.
gauge.queue.consumers value:GAUGE:0:U # Number of consumers of the queue
gauge.queue.memory value:GAUGE:0:U # Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures.
gauge.queue.message_bytes value:GAUGE:0:U # Sum of the size of all message bodies in the queue. This does not include the message properties (including headers) or any overhead.
gauge.queue.message_bytes_persistent value:GAUGE:0:U # Total number of persistent messages in the queue (will always be 0 for transient queues).
gauge.queue.message_bytes_ram value:GAUGE:0:U # Like message_bytes but counting only those messages which are in RAM.
gauge.queue.message_bytes_ready value:GAUGE:0:U # Like message_bytes but counting only those messages ready to be delivered to clients.
gauge.queue.message_bytes_unacknowledged value:GAUGE:0:U # Like message_bytes but counting only those messages delivered to clients but not yet acknowledged.
gauge.queue.message_stats.ack_details.rate value:GAUGE:0:U # How much the number of acknowledged messages has changed per second in the most recent sampling interval.
gauge.queue.message_stats.deliver_details.rate value:GAUGE:0:U # How much the count of messages delivered has changed per second in the most recent sampling interval.
gauge.queue.message_stats.deliver_get_details.rate value:GAUGE:0:U # How much the count of all messages delivered has changed per second in the most recent sampling interval.
gauge.queue.message_stats.publish_details.rate value:GAUGE:0:U # How much the count of messages published has changed per second in the most recent sampling interval.
gauge.queue.messages value:GAUGE:0:U # Sum of ready and unacknowledged messages (queue depth).
gauge.queue.messages_details.rate value:GAUGE:0:U # How much the queue depth has changed per second in the most recent sampling interval.
gauge.queue.messages_persistent value:GAUGE:0:U # Total number of persistent messages in the queue (will always be 0 for transient queues).
gauge.queue.messages_ram value:GAUGE:0:U # Total number of messages which are resident in RAM.
gauge.queue.messages_ready value:GAUGE:0:U # Number of messages ready to be delivered to clients.
gauge.queue.messages_ready_details.rate value:GAUGE:0:U # How much the count of messages ready has changed per second in the most recent sampling interval.
gauge.queue.messages_ready_ram value:GAUGE:0:U # Number of messages from messages_ready which are resident in RAM.
gauge.queue.messages_unacknowledged value:GAUGE:0:U # Number of messages delivered to clients but not yet acknowledged.
gauge.queue.messages_unacknowledged_details.rate value:GAUGE:0:U # How much the count of unacknowledged messages has changed per second in the most recent sampling interval.
gauge.queue.messages_unacknowledged_ram value:GAUGE:0:U # Number of messages from messages_unacknowledged which are resident in RAM.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment