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

Before you set up monitoring for Node.js applications, complete the following prerequisites:

Tracing support

Instana Node.js Tracer packages support the following types of tracing:

Setting up monitoring

To set up Node.js monitoring, complete the following steps:

  1. Select an appropriate monitoring option based on your Node.js application's deployment environment, as outlined in Table 1.
  2. 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:

Table 1. Node.js monitoring options
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:

Notes: Avoid using both the OpenTelemetry Tracer and Instana Node.js Tracer in the same Node.js application. Using both might result in the following issues:
  • 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.