I’ve got a stack that has a Node App Server Dispatcher, redis queues, ruby workers and a postgres db. I’d like to be able to set up new relic monitoring on the entire stack and be able to correlate data in the different layers at the same time. Any suggestions?
We can do that for you automatically to some extent, but I’m guessing you’ve tried and found us lacking? The general functionality we have is probably best expressed by the following:
- Install the most detailed solution we have for each component in your stack (Node.js agent, ruby agent, server monitor (if you like), redis plugin, and postgres plugin - note there are several of each of these plugins, and you’d do well to find the best rated top two and try them both out to see what works best for you).
- Embed your favorite charts from each into a custom dashboard ( https://docs.newrelic.com/docs/apm/dashboards-menu/custom-dashboards ) so that you can have one-stop view on everything from server to datastore to app.
- Choose your favorite time window, and you’ll see all the graphs at the same scale with the same start/end times.
Now, our Node.js and Ruby agents have some visibility into datastores - specifically, postgres is pretty well covered by ruby and Node.js, and the Node agent also speaks redis (though see https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/known-nodejs-limitations#outstanding for a caveat) - so you’ll see that as ‘database’ time rolled up with postgres. But the level of detail you get from the plugins is a lot better for actual database monitoring - vs just “time spent in database by app” monitoring.
Finally, via cross application tracing ( https://docs.newrelic.com/docs/apm/traces/cross-application-traces/cross-application-tracing), you’ll be able to see the relation between the apps and the datastores.
So, my advice is: try all of that (server monitoring and plugins are optional - the Cross App Tracing ignores them anyway), and see if the various Map options (“Map” on the nav sidebar, but more in depth, the map options listed here: https://docs.newrelic.com/docs/apm/traces/cross-application-traces/cross-application-tracing#map) don’t do the trick.
If they don’t - well, keep your eyes open for some improvements for nosql that will make the views on redis real first class citizens.