Skip to content
This repository has been archived by the owner on Nov 6, 2023. It is now read-only.

Latest commit

 

History

History
53 lines (38 loc) · 1.83 KB

iis-instrumentation.md

File metadata and controls

53 lines (38 loc) · 1.83 KB

Instrument an ASP.NET application deployed on IIS

Setup

Use the OpenTelemetry.DotNet.Auto.psm1 PowerShell module to set up automatic instrumentation for IIS:

# Import the module
Import-Module "OpenTelemetry.DotNet.Auto.psm1"

# Install core files
Install-OpenTelemetryCore

# Setup IIS instrumentation
Register-OpenTelemetryForIIS

Warning Register-OpenTelemetryForIIS performs IIS restart.

Configuration

Note Remember to restart IIS after making configuration changes. You can do it by executing iisreset.exe.

For ASP.NET application you can configure the most common OTEL_ settings (like OTEL_SERVICE_NAME) via appSettings in Web.config.

If a service name is not explicitly configured, one will be generated for you. If the application is hosted on IIS in .NET Framework this will use SiteName\VirtualDirectoryPath ex: MySite\MyApp

For ASP.NET Core application you can use the <environmentVariable> elements inside the <aspNetCore> block of your Web.config file to set configuration via environment variables.

Advanced configuration

You can add the <environmentVariables> in applicationHost.config to set environment variables for given application pools.

For IIS versions older than 10.0, you can consider creating a distinct user, set its environment variables and use it as the application pool user.

Consider setting common environment variables, for all applications deployed to IIS by setting the environment variables for W3SVC and WAS Windows Services as described in windows-service-instrumentation.md.