1
votes

I've a Spring Boot REST application. I use many Spring libraries as: Spring Data REST, HATEOAS, Spring JPA, Hibernate, Redis, ElasticSearch...

I want to track metrics of my application and I did a research to find the best tool to do it. After have given a try to Micrometer+DataDog, becuase I already use ElasticSearch I did try APM Java Agent and I found quite impressive the amount of data I get in Kibana Dashboard. I can see my endpoints and investigate where the time was spent (Mysql queries and others stuff).

I didn't try yet Micrometer+ElasticSearch, but from the documentation it seems to collect less data out of the box.

I'd like to know your advice about and what you think is the best tool to collect metric for an application in production.

1

1 Answers

2
votes

Custom metrics are on the roadmap for the APM agent, but we're still working on the exact schedule.

In the meantime you could either use the JMX config options of the agent with custom JMX key properties. Or use the Elasticsearch output of Micrometer. Maybe just change the Micrometer output as an interim solution and potentially switch to custom APM metrics once they are available?

There's also the option to get metrics with Metricbeat from JMX / Jolokia, but that sounds like an even bigger change and not really a long-term upside.