Docs » Instrument applications for Splunk APM » Instrument Azure app services with extensions

Instrument Azure app services with extensions 🔗

Important

The original µAPM product, released in 2019, is now called µAPM Previous Generation (µAPM PG). Wherever you see the reference, µAPM now refers to the product released on March 31, 2020.

If you’re using µAPM Previous Generation (µAPM PG), see Overview of SignalFx Microservices APM Previous Generation (µAPM PG).

Automatically instrument an Azure web app running .NET Core or ASP.NET with the SignalFx .NET Tracing. The extension is a modified version of the SignalFx Tracing Library for .NET.

Configure the instrumentation to send traces to a Smart Agent. The Smart Agent forwards data to an APM ingest endpoint. Configure the Smart Agent to add tags to identify spans that belong to specific hosts or microservices. For more information about deploying a Smart Agent, see Deploy a SignalFx Smart Agent for Splunk APM.

If you want to configure instrumentation for an application and can’t deploy a Smart Agent, configure the instrumentation to send traces directly to an APM ingest endpoint, or to an OpenTelemetry Collector.

Optionally, deploy an OpenTelemetry Collector between a Smart Agent or instrumented code and an APM ingest endpoint. The OpenTelemetry Collector enables you to centrally manage configuration options, batching, retries, and authentication. For more information about deploying an OpenTelemetry Collector for APM, see Deploy an OpenTelemetry Collector for Splunk APM.

Prerequisites 🔗

These are the requirements for instrumenting an Azure app service with the SignalFx .NET Tracing. If you can’t use the extension, you should still be able to deploy the SignalFx Tracing Library for .NET.

Setting Value Description
Publish Code You have the option to publish to Code or to Docker. If you publish to Docker, you can’t use the extension.
Runtime stack
  • .NET Core 2.1
  • .NET Core 3.1
These are the languages that the modified SignalFx Tracing Library for .NET supports.
Operating system Windows You have the option to run Windows or Linux. If you run Linux, you can’t use the extension.

Steps 🔗

Follow these steps to instrument an Azure web app running a compatible runtime stack.

  1. Log in to the Microsoft Azure portal.

  2. Go to Home > App Services and select the service you want to add the extension to.

  3. From the Development Tools section of the navigation menu for the app service, click Extensions.

  4. Add the SignalFx .NET Tracing [PreRelease].

  5. From the Extensions page, confirm that you successfully installed the extension.

  6. From the Settings section of the navigation menu for the app service, click Configuration.

  7. Add these application settings to the app service:

    Name Value description
    SIGNALFX_SERVICE_NAME The name of the service.
    SIGNALFX_ACCESS_TOKEN The access token for your SignalFx organization. Providing a token enables you to send traces to a SignalFx ingest endpoint.
    SIGNALFX_ENDPOINT_URL The hostname and port for a SignalFx Smart Agent or OpenTelemetry Collector.
  8. Optionally, you can specify other configuration values. For more information, see the Configuration values on GitHub.

  9. Restart the app service.