Install - Dynamic Linux .NET Core Agent on a Host
.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 Steps
- Ensure Prerequisites are met
- Download the vFunction Sudoless Controller Installation TGZ
- SSH to the Linux VM as the user who runs the Application / Application Server
- Move the Installation TGZ to the location on the Linux VM where vFunction 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/#controller_name
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_NAME="CHANGE_ME"
# See description in https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/linux/#controller_host
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_HOST="CHANGE_ME"
# See description in https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/linux/#controller_org_id
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_ORG_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_APP_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_CLIENT_ID="CHANGE_ME"
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_CLIENT_SECRET="CHANGE_ME"
# See description in https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/linux/#instance_id
export VF_CONTROLLER_DEFAULT_JAVA_CONTROLLER_INSTANCE_ID="CHANGE_ME"
# See description in https://kb.vfunction.com/installations/configurable-settings/mono-dynamic-agent/dotnet/linux/#agent_application_server
- Run the 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
- Open a new text document in the same location where the current startup script exists for the application
### Replace the PATH_TO_START and APP_NAME below with the actual value
vi /PATH_TO_START/vf_APP_NAME.sh
- Add the vFunction Agent’s environmental variables to hook the application with the agent and start the application
#!/usr/bin/env sh
set -x
##### Replace BASE_DIR with the actual path to the vFunction installation, such as /tmp
echo "Adding vFunction environmental variables"
export VF_AGENT_CONF_LOCATION=BASE_DIR/vfunction/etc/sysconfig/vfunction/agent/instances/default-dotnet/conf.json
export CORECLR_PROFILER_PATH_64=REPLACE_BASE_PATH/opt/vfunction/agent/libvfagent.net.so
export CORECLR_ENABLE_PROFILING=1
export CORECLR_PROFILER={cd7d4b53-96c8-4552-9c11-6e41df8eab8a}
export DOTNET_TailCallOpt=0
echo "Starting Application"
##### Replace RUN_APP with the workflow for starting the application
RUN_APP
- Run the newly created script to start the application with vFunction’s Agent hooked
### Replace the APP_NAME below with the actual value
bash ./vf_APP_NAME.sh
- Confirm that the Application comes up and functions as expected
- If any issues arise: