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.
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:
cluster | URL |
EU | otel-metrics.coralogix.com |
IN | otel-metrics.coralogix.in |
US | otel-metrics.coralogix.us |
EU2 | otel-metrics.eu2.coralogix.com |
SG | otel-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!