OpenTelemetry Agent - .NET Windows IIS Site Installation



Installation Wizard

To help with the installation process, vFunction offers an Installation Wizard. This Wizard provides additional information about the Prerequisites as well as steps for deploying the OpenTelemetry Agent to your environment.

Please contact support@vfunction.com or your vFunction Contact(s) for the password to start using this Wizard.


Installation Steps

  1. Configure the .NET Startup Parameters
  1. In a text editor, open the C:\Windows\System32\inetsrv\config\applicationHost.config XML
  2. Search for the term applicationPools in the applicationHost.config
  3. Modify the XML entry for the Application Pool used by the Application
  • Find-and-replace $PROTOCOL with http or https based on the VF Server configuration
  • Find-and-replace $VF_SERVER_ADDRESS with the URL for login to your organization’s vFunction Server
  • Find-and-replace $VF_APP_ID with the Application UUID created with the Installation Instructions provided after creating the Distributed Application in the vFunction Server UI
  • Under the applicationPools node, find the relevant application pool and add the env vars:
    <add name="DefaultAppPool" autoStart="true">
        <environmentVariables>
            <add name="OTEL_EXPORTER_OTLP_PROTOCOL" value="http/protobuf" />
    		<add name="OTEL_EXPORTER_OTLP_ENDPOINT" value="$PROTOCOL://$VF_SERVER_ADDRESS/api/unauth/otlp" />
    		<add name="OTEL_TRACES_EXPORTER" value="otlp" />
    		<add name="OTEL_METRICS_EXPORTER" value="none" />
        	<add name="OTEL_LOGS_EXPORTER" value="none" />
        	<add name="OTEL_EXPORTER_OTLP_HEADERS" value="X-VF-APP=$VF_APP_ID"/>
    	</environmentVariables>
    </add>
  1. Save and close the file
  1. Configure OpenTelemetry .NET Instrumentation for your App from PowerShell 5.1 or higher and restart Windows IIS

NOTE: These steps are taken from OpenTelemetry .NET Windows PowerShell Instrumentation.

# Download the module
$module_url = "https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest/download/OpenTelemetry.DotNet.Auto.psm1"
$download_path = Join-Path $env:temp "OpenTelemetry.DotNet.Auto.psm1"
Invoke-WebRequest -Uri $module_url -OutFile $download_path -UseBasicParsing

# Import the module
Import-Module $download_path

# Install core files
Install-OpenTelemetryCore

# Setup IIS instrumentation
Register-OpenTelemetryForIIS