Install - vFunction and OpenTelemetry Agents on Windows .NET Framework Agent running on a Host



Overview

Microsoft .NET Applications have a limitation that only one Agent can be hooked into the Application at a time. To work around this limitation, the Datadog Multiplexer can be used as the Base Agent. This Datadog Multiplexer includes a configuration file that allows you to define two additional .NET Agents to run simultaneously on the Application without conflict.

At a high level, you’ll need to:

  1. Download and install the two .NET Agents you want to run simultaneously
  2. Download the Datadog Multiplexer
  3. Configure the Datadog Multiplexer for the two .NET Agents you want to run simultaneously
  4. Add the vendor-specific environment variables for the two .NET Agents you want to run
  5. Add the generic .NET Agent environment variables to run the Datadog Multiplexer
  6. Restart the Application

.NET Framework Compatibility

vFunction supports C# .NET Framework version 4.x applications.


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 vFunction 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. Ensure Prerequisites are met
  2. Download the vFunction Windows Controller Installation ZIP
  3. RDP to the Windows Server as the user who runs the Application
  4. Move the Installation ZIP to the location on the Windows Server where vFunction should run
  5. Extract the vFunction Installation Package
  6. Open PowerShell
  7. Add Environment Variables for the vFunction Dynamic Agent and install the Agent
### Replace the $CHANGE_ME values with the Required Configuration Settings. For detailed Settings explanations, see:
### https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/windows/#required
### Replace $BASE_DIR with the Windows location where the vFunction Installation ZIP was extracted
powershell -NoProfile -ExecutionPolicy unrestricted -Command "
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_NAME -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_HOST -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_SERVER_APPLICATION_SERVER_USERNAME -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_SERVER_APPLICATION_SERVER_PASSWORD -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_SERVER_APPLICATION_NAME -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_SERVER_APPLICATION_INCLUDE_CLASSES -Value '$CHANGE_ME';
New-Item -Path Env:\VF_CONTROLLER_DEFAULT_DOTNET_AGENT_APPLICATION_NAME -Value '$CHANGE_ME';
$BASE_DIR\controller-installation\install.ps1 -instance default-dotnet -scriptMode true"
  1. Download the OpenTelemetry .NET Zero-Code Instrumentation package
  2. Expand the downloaded ZIP to C:\Program Files\OpenTelemetry .NET AutoInstrumentation\
  3. Download the Multiplexer Agent
  4. Download the Multiplexer’s loader.conf
  5. Rename the loader-vf-otel.conf to loader.conf
  6. Download a script to start the Application while hooking the vFunction and OpenTelemetry Agents into the Application
  1. Modify the script following the directions in the Comments
  2. Run the script to start the Application with the vFunction Monolithic and OpenTelemetry Agents hooked
  3. Confirm that the Application comes up and functions as expected. If any issues arise:
  1. Start Learning in the vFunction UI
  2. Validate the vFunction data collectioncollecting data