Splunk AppDynamics

Best option for monitoring multiple processes in Node.js (PM2)

CommunityUser
Splunk Employee
Splunk Employee

We have a Node.js application that we monitor with AppDynamics using the "proxyless" method. It works fine, except that since each independent process that we fire up using PM2 shows up as a separate node or application in the dashboard. We want each server to show up as as single application, not as 4 applications.

From what I've read and determined, we have two options. I'd like some advice on the best course of action.

Option 1: Install and use a single Java AppDynamics proxy that all processes point to. We had some issues with the Java proxy so we went with the proxyless option, but we didn't try very hard to overcome whatever the issues were. This option seems like the most correct approach.

Option 2: Start our Node.js app and launch AppDynamics in the proxyless mode, and then programatically launch the other processes. I'm not a fan of this since PM2 manages our processes really nicely. I'm also not sure what AppDyanamics will do with 4 processes running inside of PM2. However this option allows us to do everything in software and not mess with our server templates.

If anyone has any comments that would guide us in our approach, I'd much appreciate it. Experimenting is time consuming.

Labels (1)
Tags (3)
0 Karma
1 Solution

Kyle_Furlong
Contributor

Hi Dustin,

Aggregating your Node.js processes into logical groupings is done with the "Application" and "Tier" concepts in AppDynamics. You seem to be working only with the "Node" concept so far. Typically we would have a Node per Node.js process, and those would be grouped into a single Tier at least for a single server, but usually for a group of servers with the same codebase. This Tier would be a member of a broader Application, with different codebases talking with each other to serve a common business need.

Does that topology/taxonomy make sense? Practically speaking, I think you just need to assign these Node.js processes to the same tier and app in AppD. You can accomplish this with the applicationName and tierName config values in Node.js.

Regards,

Kyle

View solution in original post

0 Karma

Kyle_Furlong
Contributor

Hi Dustin,

Aggregating your Node.js processes into logical groupings is done with the "Application" and "Tier" concepts in AppDynamics. You seem to be working only with the "Node" concept so far. Typically we would have a Node per Node.js process, and those would be grouped into a single Tier at least for a single server, but usually for a group of servers with the same codebase. This Tier would be a member of a broader Application, with different codebases talking with each other to serve a common business need.

Does that topology/taxonomy make sense? Practically speaking, I think you just need to assign these Node.js processes to the same tier and app in AppD. You can accomplish this with the applicationName and tierName config values in Node.js.

Regards,

Kyle

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Thanks Kyle. I think maybe the problem on our end is our definition of a node. I talked to our operations team and I think they have other opinions on how they want to organize things, and they'd prefer that a "node" be a physical server.

We also need to understand the licensing implications of breaking things up this way.

I appreciate your response. It sounds like we're on the right track from your perspective. As a developer, I personally like having my Node.js processes be seperate in AppDynamics since I think of them as separate and independent chunks.

0 Karma
Get Updates on the Splunk Community!

Fueling your curiosity with new Splunk ILT and eLearning courses

At Splunk Education, we’re driven by curiosity—both ours and yours! That’s why we’re committed to delivering ...

Splunk AI Assistant for SPL 1.1.0 | Now Personalized to Your Environment for Greater ...

Splunk AI Assistant for SPL has transformed how users interact with Splunk, making it easier than ever to ...

Unleash Unified Security and Observability with Splunk Cloud Platform

     Now Available on Microsoft AzureOn Demand Now Step boldly into the AI revolution with enhanced security ...