Dual Signal Mode for Node.js Combined Agent

Overview

The Node.js Combined Agent supports deploying the Splunk OpenTelemetry (OTel) Agent with the AppDynamics Agent, sending OpenTelemetry signals in addition to AppDynamics APM data to the controller. This enables enhanced Observability by allowing users to leverage both OpenTelemetry and AppDynamics data concurrently.

Supported Platforms

  • Supported on Linux (x64 and arm64)

  • Supported only through standalone agent (npm agent not supported)

    • For standalone build of nodejs agent the splunk package comes packaged with the agent tar.gz (npm install <appdynamics.tar.gz>)

    • For npm build of nodejs agent the splunk package must be separately installed through npm (npm install @splunk/otel@3.0.1)

Enable Dual Signal mode (Nodejs Combined)

ModeBehavior
Dual

The agent works in Dual Signal mode: it uses AppD specific instrumentation to collect APM data for an AppD controller, and uses OTel specific instrumentation to generate OTel signals and sends them to a collector.

OTel
  • The agent uses OTel specific instrumentation, generates OTel signals and emits them to a collector.

  • The agent does not apply AppD specific instrumentation and does not attempt to register with any controller.

You can configure this mode by using one of the following methods:

  • Environmental variable: EXPORT AGENT_DEPLOYMENT_MODE=dual
  • Application configuration:
    appd.profile({
    
    ````agent_deployment_mode: `appd`,       
    ````
    },

Splunk OTel agent can be configured through environment variables as described in the Splunk Agent documentation.

Automatic Agent Configuration Migration

In Dual mode or in OTel mode, if service namespace, service name, or deployment environment name are not specified, these values are automatically configured based on the AppDynamics agent configuration. The following table provides the configuration details:

AppDynamics configuration itemOpenTelemetry configuration item
account namedeployment environment name
tier nameservice name
application nameservice namespace
Note: Automatic configuration migration is supported only when environment variables are used, and the OpenTelemetry agent is not configured through a configuration file.