I have node service running on EC2 machine on AWS instead of using "elastic-apm-node-modules" to send logs to Elasticsearch APM service can we have some agent process running on host machine or docker which will sync data from file to APM service?
Do you mean some form of daemon that you can run on the EC2 instance that collects the same information as the Elastic APM Node.js Agent?
We don't provide that. The only way to collect Node.js APM data is by using the Node.js agent.
I'd be interested in hearing your use-case though, to see if what you're looking for is something we already support by other means, or should look into supporting.
Yes, I am looking for some daemon process to collect APM data.
Our Use-Case is storing multiple micro-services APM data to elastic search APM service just like "PM2 does with key metrics". Where we run application with PM2 and it will collect all the APM relevant things.
Using node module from application end will use resources which might cause performance impact on application.
Is there any work around you would like to suggest or some best practises that we should follow? Or in future version any enhancements?
Unfortunately, we need access to the process internals to know what's going on. The information we're collecting isn't available outside of the process.
You can, however, start new Node.js processes without having to make changes to the app you're running, while still instrumenting it with the Elastic APM Node.js Agent. To do that, run your app like so:
node -r elastic-apm-node/start app.js
This will look for the agent configuration either as environment variables or load it from a config file.
So while there will always be some overhead, we're continuously working on making sure it's as low as possible. There's a lot of things you can do to tweak how and what's collected to optimize the performance of the agent for your use-case. See the Performance Tuning docs for more details.
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.