We are trying to install apm agent for rabbitmq in kubernetes cluster to find the transactions. I have seen in the release notes that apm-agent-java versions greater than 1.20.0 supports APM for rabbitmq with java agent.
Can some one please share the statefulset deployment file for rabbitmq and apm-agent-java deployment.
Elasticsearch version : 7.12.0
Kibana version : 7.12.0
apm-agent-java : 7.12.0
apm-server : 7.12.0
Just install the latest Java agent (currently 1.23.0, very soon 1.24.0). The agent version doesn't need to match ELK or APM Server version. See docs.
If you are using it through Spring AMQP, you should use agent version 1.22.0.
As for RabbitMQ version, it needs to be 3.x - 5.x.
I hope this helps, not sure whether this is what you are looking for.
Ohh, sorry about the confusion.
You cannot instrument the RabbitMQ server itself, it is not even written in Java AFAIK. I assumed you are looking for visibility into traces that write and read from RabbitMQ.
If your services are written in Java, you should apply the same configuration you did here onto your Java services, to get method level visibility of full traces that read-to/write-from RMQ. If your services are not Java, follow the proper installation instructions for the APM agent of your choice.
To enrich your tracing data with specific RMQ metrics, you can then use Metricbeat with its RabbitMQ module. Take a look at the docs explaining how to install on k8s, and about Autodiscover.
Yes my services are written in java. I have added the apm-agent-java to the application and were able to see traces but that is not what am expecting.
Expected : To get the throughput and latency of each message that is processed by rabbitmq and all the messages information should be shown with service name rabbitmq.
Each message should be considered as transaction and latency should be calculated.
Sorry this is not what you expected.
Data about the RabbitMQ broker throughput can be monitored with other tools, including Metricbeat.
This is actually what the agent does on the receiver side. If you get distributed tracing working for you (meaning - the traces include both sending and receiving sides), then this already happens.
It requires installing java agent on all the java micro services to get the latency. I have 50 + applications which consumes messages from rabbitmq. How can i get all the latency in one place.
It sounds like you are using APM to get something that does not require APM. If you want to get deep visibility into your services/apps - APM is the tool for you and you can install an agent on any subset of your microservices.
If you want metrics about how your RabbitMQ is doing, you should use a proper tool for that (you know what I recommend already )
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.