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,
Graylog
Elasticsearch
Mongodb
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.
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.
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.