Enable the combined mode for .NET agent
Reference information for configuring the .NET combined agent for dual-signal or Splunk-only operation.
Use this section only when configuring the .NET combined agent for dual-signal or Splunk-only operation. See separate documentation for general .NET agent capabilities, including Call Graph Profiling and AlwaysOn Profiling.
The table describes the .NET combined agent required settings in terms of environment variables, but in reality your application runtime/packaging/platform might differ on how your platform injects agent configuration into the agent process. Translate these environment variables into your application’s platform.
| Environment variable | Required? | Description |
|---|---|---|
AGENT_DEPLOYMENT_MODE |
Yes |
Selects the mode of the agent. Default:
|
OTEL_EXPORTER_OTLP_ENDPOINT |
Specifies the base URL where the agent sends all OTLP telemetry data. Default: http://localhost:4318 |
|
OTEL_EXPORTER_OTLP_PROTOCOL |
Transport protocol used for all OTLP telemetry data (traces, metrics, and logs); for the .NET agent, the default value: http/protobuf. |
|
OTEL_RESOURCE_ATTRIBUTES |
Yes |
Comma-separated list of resource attributes. You must include:
The agent adds these resource attributes to reported spans.
Note:
Do not set |
OTEL_SERVICE_NAME |
Yes | Your Splunk AppDynamics tier name (tier-name). This value appears in Splunk Observability Cloud as the OpenTelemetry service.name attribute. This value takes precedence over the service name in OTEL_RESOURCE_ATTRIBUTES. |
SPLUNK_ACCESS_TOKEN |
Your Splunk access token; no default value. Do not set this unless the migration team approves direct ingest. | |
SPLUNK_REALM |
The Splunk realm of your Splunk Observability Cloud organization; no default value. Do not set this unless the migration team approves direct ingest. If you set OTEL_EXPORTER_OTLP_ENDPOINT, it overrides SPLUNK_REALM. |
Your settings for OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES map your Splunk AppDynamics tier name, application name, and account name to OpenTelemetry resource attributes so Splunk Observability Cloud can ingest and visualize your application telemetry correctly.
This mapping does not occur automatically. It depends on your OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES settings.
If your migration wave has approval for direct ingest, set SPLUNK_REALM and SPLUNK_ACCESS_TOKEN instead of relying on a Collector route. If you set OTEL_EXPORTER_OTLP_ENDPOINT, it overrides SPLUNK_REALM.
Define environment variables in different platforms
The .NET combined agent has a few required settings - in other words, configuration you must specify. How you specify these settings varies depending on .NET combined agent version, .NET runtime version, .NET Framework version, operating system, architecture, hosting model, agent packaging method (such as MSI, ZIP, Controller self-service installation), or container image.
Where you define these settings depends on how the application runs:
- Windows server with MSI packaging: Set migration-specific values in the process scope when different .NET applications on the host need different service names or telemetry routes. Use host-wide environment variables only when all instrumented .NET applications on the host share the same values.
- IIS-hosted applications: For
ASP.NETapplications, define settings in theappSettingsblock ofweb.config. ForASP.NET Coreapplications hosted in IIS, define settings in theenvironmentVariablesblock ofweb.config. To configure a specific application pool, use application pool environment variables inapplicationHost.config, then restart the application pool. - Windows services: For .NET Framework applications, define supported settings in
app.configor use the Windows Registry Environment key for the service, then restart the service. - Standalone processes: Define the settings in the environment of the shell, script, supervisor, or service manager that starts the application, then restart the application.
- Linux services: Define the settings in the service manager configuration or environment file that starts the service. If your installation uses an instrumentation setup script, make sure the service startup path activates instrumentation before the application starts.
- Docker containers: Define the settings in the container environment, such as Dockerfile
ENVentries, docker run -e arguments, Docker Compose environment values, or the container platform configuration. Recreate or restart the container after changing settings. - Kubernetes pods: Define the settings in the workload manifest under the container
envsection. Store tokens in Kubernetes Secrets. For a local Collector agent running as a DaemonSet, setOTEL_EXPORTER_OTLP_ENDPOINTto the node-local Collector endpoint, for example by using the Downward API to resolve the node IP.