Monitoring Node.js
You can monitor your Node.js applications with the Instana Node.js Tracer to identify bottlenecks and optimize application performance. Instana offers various monitoring options that are tailored to your specific environment. Each option has a dedicated Node.js Tracer package.
- Prerequisites
- Tracing support
- Setting up monitoring
- Enabling AutoProfile
- Viewing traces and metrics
- Using Instana Node.js API
- Integrating OpenTelemetry
- Troubleshooting
Prerequisites
Before you set up monitoring for Node.js applications, complete the following prerequisites:
- Check the Supported libraries and frameworks for tracing Node.js applications.
- Check the Support information section to make sure that your Node.js applications are compatible.
- Review the Instana tracing support for Node.js applications.
Tracing support
Instana Node.js Tracer packages support the following types of tracing:
- Automatic tracing of all requests. For more information, see Supported libraries and Supported technologies.
- Optional manual tracing (in addition to automatic tracing) through custom trace SDK.
- Cross-host and cross-language tracing.
- OpenTracing. For more information, see OpenTracing API.
Setting up monitoring
To set up Node.js monitoring, complete the following steps:
- Select an appropriate monitoring option based on your Node.js application's deployment environment, as outlined in Table 1.
- Follow the setup instructions in the corresponding documentation, which is listed in the Documentation column of Table 1.
Node.js monitoring options
The following table outlines the options available to monitor your Node.js applications. Depending on the environment in which your Node.js application is deployed, select an appropriate monitoring option:
Monitoring options | Deployment environments | Instana Node.js Tracer packages | Documentation |
---|---|---|---|
Agent-based monitoring | Node.js applications on servers | Instana Node.js collector | Agent-based monitoring |
Serverless monitoring | Node.js applications in cloud-based environments | Instana Node.js cloud-based packages | - AWS Lambda or AWS Fargate - Microsoft Azure App Services - Google Cloud Run |
Agentless monitoring | Node.js applications on generic serverless environments or server-based applications without an agent | Instana Node.js serverless collector | Agentless monitoring |
End-user monitoring | Node.js applications on websites | JavaScript agent | Website monitoring |
Enabling AutoProfile
This feature is in public preview.
AutoProfile generates and reports process profiles to Instana automatically and continuously. For more information about profiles, see Analyze profiles.
To enable AutoProfile, see Node.js Tracer configuration.
Viewing traces and metrics
After you set up monitoring, you can view metrics and traces that are related to your Node.js applications in the Instana UI.
The following guides provide detailed instructions on how to view the data for your applications:
Metrics collected
The following metrics and configurations are collected for Node.js applications:
- Name, version, and description of the Node.js process
- Dependencies
- Runtime versions
- Events (For example, End-of-life EOL)
- Function calls including Errors and Arguments
- Garbage collection activity
- Latency information
- Memory usage
- Heap Spaces
- Event Loop activity (see Enabling AutoProfile)
- Health checks
- Profiles
- Other metrics
You can also retrieve detailed information about Node.js applications through the Instana REST API.
Using Instana Node.js API
You can use the Instana Node.js API for advanced monitoring configurations, custom tracing, and specific integrations. The Instana Node.js API is compatible with all Instana Node.js Tracer packages. For more information, see Instana Node.js API.
Integrating OpenTelemetry
To collect and analyze telemetry data from Node.js applications that use OpenTelemetry, you can choose any one of the following options:
- Missing calls in Instana
- Duplicated telemetry data
- Instrumentation failures
Troubleshooting
You might encounter some monitoring issues while you configure and monitor Node.js applications. For more information, see Troubleshooting.