Elastic APM is a kind of log aggregation tool and we're using it for that purpose.
Elastic APM is very new so we haven't explored much on it, but it's quite interesting. It comes with a free offering included in the same license. So we are looking to explore more. It is still not as mature as other tools like Kibana, AppDynamics or New Relic products related to application performance monitoring. Elastic APM is still evolving, but it's quite interesting to be able to get all the similar options and features in Elastic APM.
In terms of what could be improved, Elastic APM's visualization is not that great compared to other tools. It's number of metrics is very low. Their JVM metrics are much less while running on CPU memory and on top of that you get a thread usage. They're not giving much on application performance metrics. In that respect, they have to improve a little bit. If you compare that with other tools, such as New Relic, which is also not giving many insights, it would be good to get internal calls or to see backend calls. We are not getting this kind of metric.
On the other hand, if you go to the trace view, it gives you a good backend calls view. That backend call view is also capturing everything, and we need some kind of control over it, which it does not have. For example, if I don't want some of the sequence selected, there should be controls for that. Moreover you need to do all these things manually. Nowadays, just imagine any product opted to do conservation manually, that would be really disastrous. We don't want to do that manually. For now this needs to be either by API or some kind of automated procedure. If you want to install the APM Agent, because it is manual we would need to tune it so that the APIs are available for the APM site. That's one drawback.
Additionally, the synthetic monitoring and real user monitoring services are not available here. Whereas in New Relic the user does get such services.
The third drawback I see is the control site. For now, only one role is defined for this APM. So if I want to restrict the user domain, for example, if in your organization you have two or three domains, domain A, domain B, domain C, but you want to give access to the specific domain or a specific application, I am not sure how to do that here.
Both the synthetic and process monitoring should be improved. For the JVM, Java Process Monitoring, and any process monitoring, they have to have more metrics and a breakdown of the TCP/IP, and the tools are giving me - they don't provide many metrics in size. You get everything, but you fail to visualize it. The New Relic only focuses on transactions, and Elastic APM also focuses on similar stuff, but I am still looking for other options like thread usage, backend calls, front end calls, or how many front end and backend calls. This kind of metric is definitely required.
We don't have much control. For example, some backend calls trigger thousands of prepared statements, update statements, or select statements, and we don't have any control. If I only want select statement, not update statements, this kind of control should be there and properly supplied. The property file is very big and it is still manual, so if you want control agent properties you need UI control or API control. Nowadays, the world is looking for the API site so they'll be able to develop more smartly. They are looking for these kinds of options to enrich their dashboard creation and management.
I'm new to Elastic APM, but I do have very good APM knowledge since I have been using APM almost 10 years and Elastic APM for just two years. I see that Elastic APM is still evolving.
Elastic APM's technical support is pretty good and we have a platinum license for log aggregation. They respond very quickly and they follow a very good strategy. They have one dedicated resource especially for us. I'm not sure if that is common for other customers, but they assigned a very dedicated resource. So for any technical issue a dedicated resource will respond. Then, if that resource is busy or not available someone will attend that call or respond with support. In that way, Elastic support fully understands your environment.
Otherwise, if you go with the global support model, they have to understand your environment first and keep asking the same question again and again. How many clusters do you have, what nodes do you have, these kind of questions. Then you need to supply that diagnosis. This is a challenge. If they have a dedicated or a support resource they usually don't ask these questions because they'll understand your environment very well because they have worked with you on previous cases. In that sense they provide very good support and answer the question immediately.
They provide immediate support. Usually they get back you the same or the next day. I think it's pretty good compared to any other support. It was even very good compared to New Relic.
There are two advantages to Elastic APM. It is open source and if somebody wants to try it out in their administration it's free to use. Also, it has full stack observability. For full stack observability, Elastic is the best tool compared with any other tool like New Relic or AppDynamics or Dynatrace. I'm not sure about Dynatrace, since I never worked with it, but I have worked with AppDynamics and New Relic. However, with their log aggregation side, there is still a lot to get implemented here.
I'd like bigger flexibility. That means we would get all the system logs, all the cloud logs, all the kinds of logs aggregated in a single location. On top of that, if they could have better metrics for handling data together it would give a greater advantage for observability. The Observability platform is pretty good because you already have logged data and information like that. If you just add APM data and visualize, you will get much needed information. How are you are going to visualize and how are you going to identify the issues?
For this purpose, Elastic is best. If you are really looking for an observability platform, Elastic provides both of these two options, APM plus log aggregation. But still they have to improve or they have to provide APIs for synthetic monitoring, internet monitoring, etc... If I think about synthetic monitoring, you can't compare New Relic with Elastic today. Elastic is much better.
These are the improvements they have to look at. They support similar functionalities of synthetic monitoring, so it's not a hundred percent APM friendly, but if you look at their observability platform, their full stack observability together with their log aggregation, Elastic APM is a greater advantage.
On a scale of one to ten, I would rate Elastic APM an eight out of 10.