How to monitor opensource applications using elastic APM

Hi Team,

I am using Elasticsearch 6.8.12, kibana 6.8.12 and APM 6.8.12 for monitoring my applications and I have setup my applications by running as pods in kubernetes.

Below is my applications running in the setup,

  1. Graylog
  2. Elasticsearch
  3. Mongodb
  4. Custom applications build using node.js

With help of node.js APM agent I am able to monitor the transactions, errors and metrics and I also would like to monitor the applications like graylog, elasticsearch and mongo.

I have checked the documentation I couldnt find the right way to do it.. Please let me know if this can be achieveable using Elastic APM?

Each applications are running as services in kubernetes and each has endpoints.
Is there a way to monitor the service endpoints using elastic APM?

Please share your thoughts it would be helpful.

Thanks,
Ganeshbabu R

Thanks for the question!

APM is basically designed for tracing custom applications, as those usually rely on frameworks which we can write dedicated support for. On top of these, we expose APIs you can hook into from your code wherever you want very specific tracing capabilities.
You should definitely see your NodeJS application's requests to external services, like Elasticsearch and MongoDB through our clients instrumentation.

Specialised applications, like data stores, tend to rely on proprietary concepts, like communication protocols or endpoint implementation. Therefore, in addition to the fact you cannot modify their code, they are not the natural fit for APM.

That said, if you find the right filters/interceptors that allow you to apply custom code, you can create APM traces using the proper agent and using this agent's public APIs.

A more natural fit is to monitor logs and metrics and have them all together on Kibana.

I hope this helps.

1 Like