rabbitmq_exporter installation startup consultation
Our rabbitm service is a three-node cluster. Do we need to install and start the rabbitmq_exporter service for each node in the cluster?
My understanding is: In a RabbitMQ cluster, you do not need to install and start the RabbitMQ Exporter service for each node. Because the RabbitMQ Exporter runs as a standalone process and collects data from designated RabbitMQ nodes, it only needs to be installed and started on any node.
When the RabbitMQ Exporter establishes a connection to a RabbitMQ node, it can access all queues, switches, and other objects in the entire cluster and obtain complete monitoring data. This is because every node in the RabbitMQ cluster has the same metadata information, and the Exporter can obtain this information by connecting to any node.
Therefore, you only need to select a node in the cluster, install and start RabbitMQ Exporter on that node to monitor the entire cluster. Prometheus will collect data from this node and display and analyze it through tools such as Grafana.
Is this correct understanding?
hey @peoplewhoworkhard,
there are several options how to install this exporter.
One exporter for each node I usually installed one exporter on each rabbitmq node. -> With this set up your monitoring still works, if your monitoring node is down.
One exporter and a loadbalancer in front of rabbitmq
You can also install one exporter and use a loadbalancer in front of all rabbitmq nodes; this is especially usefull if you get lbs for free like in kubernetes environments. In this case you must set RABBIT_CONNECTION to loadbalancer to remove a self label.
Only one exporter for a full cluster I never used this setup. It should work, but you will not get metrics if your monitoring node is unavailable.
If you are new to the topic I recommend looking at the official rabbitmq plugin as I'm not going to support rabbitmq 4+. See #383