Our next-gen architecture is built to help you make sense of your ever-growing data Watch a 4-min demo video!

Back to All Integrations

RabbitMQ Metrics RabbitMQ Metrics

Last Updated: Aug. 26, 2022

With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. RabbitMQ is used worldwide at small startups and large enterprises.

Getting Metrics from RabbitMQ Management API allow you to monitor and track your brokers performance.

To Achieve this we will use Telegraf to fetch, and ship RabbitMQ Metrics into Coralogix.

Prerequisites

  • Have Telegraf installed (Offical Doc here)
  • Active Coralogix account with Metric bucket. (Coralogix Docs here)

Configuration

To verify you have a working Telegraf install please run:

# telegraf --version
Telegraf 1.23.4 (git: HEAD 5b48f5da)

Now let’s modify the configuration to pickup RabbitMQ Metrics and send them to Coralogix.

Edit telegraf configuration file, normally located in /etc/telegraf/telegraf.conf

Here is a sample config:

[[inputs.rabbitmq]]
  ## Management Plugin url. (default: http://localhost:15672)
   url = ""
  ## Tag added to rabbitmq_overview series; deprecated: use tags
   name = ""
  ## Credentials
   username = ""
   password = ""

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Optional request timeouts
  ##
  ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
  ## for a server's response headers after fully writing the request.
  # header_timeout = "3s"
  ##
  ## client_timeout specifies a time limit for requests made by this client.
  ## Includes connection time, any redirects, and reading the response body.
  # client_timeout = "4s"

  ## A list of nodes to gather as the rabbitmq_node measurement. If not
  ## specified, metrics for all nodes are gathered.
  # nodes = ["[email protected]", "[email protected]"]

  ## A list of queues to gather as the rabbitmq_queue measurement. If not
  ## specified, metrics for all queues are gathered.
  ## Deprecated in 1.6: Use queue_name_include instead.
  # queues = ["telegraf"]

  ## A list of exchanges to gather as the rabbitmq_exchange measurement. If not
  ## specified, metrics for all exchanges are gathered.
  # exchanges = ["telegraf"]

  ## Metrics to include and exclude. Globs accepted.
  ## Note that an empty array for both will include all metrics
  ## Currently the following metrics are supported: "exchange", "federation", "node", "overview", "queue"
  # metric_include = []
  # metric_exclude = []

  ## Queues to include and exclude. Globs accepted.
  ## Note that an empty array for both will include all queues
  # queue_name_include = []
  # queue_name_exclude = []

  ## Federation upstreams to include and exclude specified as an array of glob
  ## pattern strings.  Federation links can also be limited by the queue and
  ## exchange filters.
  # federation_upstream_include = []
  # federation_upstream_exclude = []

[[outputs.opentelemetry]]
   service_address = "<yourclusterURL>:443"
   insecure_skip_verify = true
   compression = "gzip"
   [outputs.opentelemetry.coralogix]
     private_key = "<private_key>"
     application = "<application>"
     subsystem = "<subsystem>"

The fields needed to be filled are:

  • url – is your RabbitMQ AdminUI Url
  • name – Tag added to rabbitmq_overview series; deprecated: use tags
  • username – your RabbitMQ AdminUI username
  • password – your RabbitMQ AdminUI password
  • private_key- is your Private Key, which you can find in Settings > Send Your Data.
  • application- is your application name, which will be added to your metric attributes.
  • subsystem- is your subsystem, which will be added to your metric attributes.
  • service_address- the cluster endpoint location.
clusterURL
EUotlp-metrics.coralogix.com
INotlp-metrics.coralogix.in
USotlp-metrics.coralogix.us
EU2otlp-metrics.eu2.coralogix.com
SGotlp-metrics.coralogixsg.com

For More information regarding the RabbitMQ Plugin please check here

If you have any questions, feel free to reach out to us 24/7 via our in-app chat!

On this page