Install - vFunction Monolithic and AppDynamics Agents on Linux .NET Core 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:
- Download and install the two .NET Agents you want to run simultaneously
- Download the Datadog Multiplexer
- Configure the Datadog Multiplexer for the two .NET Agents you want to run simultaneously
- Add the vendor-specific environment variables for the two .NET Agents you want to run
- Add the generic .NET Agent environment variables to run the Datadog Multiplexer
- Restart the Application
.NET Core Compatibility
vFunction supports C# .NET Core version 3.x and .NET 6.x, 7.x and 8.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
- Ensure Prerequisites are met
- Download the vFunction Sudoless Controller Installation TGZ
- SSH to the Linux VM as the user who runs the Application
- Move the Installation TGZ to the location on the Linux VM where the vFunction Agent should run
- Extract the vFunction Installation Package
### Replace VERSION with the actual value
tar -xvzf vfunction-controller-sudo-less-installation.vVERSION.tgz
- Add Environment Variables for the vFunction Dynamic Agent
# See description in https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/linux
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_NAME="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_HOST="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_ORG_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_APP_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_CLIENT_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_CLIENT_SECRET="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_DOTNET_CONTROLLER_INSTANCE_ID="CHANGE_ME"
- Run the vFunction Monolithic Agent installation script
### Replace the BASE_DIR with the actual value, such as /tmp/
bash BASE_DIR/vfunction/opt/vfunction/controller-installation/install.sh -i default-dotnet
- Download the AppDynamics Agent Binaries ZIP
- Create the required AppDynamics directory /opt/appdynamics/dotnet/
- Move the AppDynamics.Agent.netstandard.dll, libappdprofiler.so, libappdprofiler_glibc.so and libappdprofiler_musl.so from the AppDynamics Agent Binaries ZIP to the AppDynamics directory
- Download the Multiplexer Agent
- Download the Multiplexer’s Config File
- Modify the loader-vf-appd.conf following the directions in the Comments
- Rename the loader-vf-appd.conf to loader.conf
- Create a Multiplexer directory and move the loader.conf and Datadog.Trace.ClrProfiler.Native.so to this directory
- Download a script to run the Application with the vFunction and AppDynamics Agents hooked
- Modify the script following the directions in the Comments
- Run the the script to start the Application with the vFunction and AppDynamics Agents hooked
- Start Learning in the VF Server UI for the Monolithic Application
- Test the Application to confirm functionality and validate learning results