Download PDF
Download page .NET Agent for Linux Advanced Configuration Options.
.NET Agent for Linux Advanced Configuration Options
This page describes the required configuration properties for the AppDynamics .NET Agent for Linux, which you can use to enable the agent to work without Docker. Before you can start instrumenting your applications with the .NET Agent, you need to get the current version of the .NET Core 2.0+. See .NET Agent Configuration Properties.
Configuration
The agent configuration file is similar to the one used to configure .NET Core agent on Windows.
Once you have deployed the agent, you can customize the instrumentation of your application:
Edit the AppDynamicsConfig.json
file with the following information:
{
"controller": {
"host": "controller.saas.appdynamics.com",
"port": 443,
"account": "account-name",
"password": "access-key",
"ssl": true
"proxy" : {
"host": "proxy-host",
"port": 9090,
"authentication": {
"username": "proxy-user",
"password": "proxy-password"
}
}
},
"application": {
"name": "My Application",
"tier": "Sample tier",
"node": "Instance1",
"reusenodename": "true",
"nodenameprefix": "prefix"
},
"analytics": {
"host": "localhost",
"port": 9090
},
"feature": [
"FULL_AGENT"
]
}
The .NET Agent for Linux supports reuse node name configuration to help manage monitoring environments where there are many CLRs with short life spans. The CLR node names are reused to avoid a proliferation of differently named nodes in AppDynamics. Include the "
reusenodename": "true"
configuration, with "
nodenameprefix": "prefix"
to enable reuse node name without having to supply a specific node name.
You can also use environment variables to configure reuse node name, such as ENV APPDYNAMICS_AGENT_REUSE_NODE_NAME=true
and ENV APPDYNAMICS_AGENT_REUSE_NODE_NAME_PREFIX=<prefix>
See Agent Reuse Node Name.
Configuring using AppDynamicsConfig.json: If you are configuring your agent using environment variables along with the json configuration file or just with the json configuration file, include the FULL_AGENT feature in the json file. Otherwise, the agent will not work. See the AppDynamicsConfig.json file example on .NET Agent for Linux Advanced Configuration Options v21.1.
,
"feature"
: [
"FULL_AGENT"
]
FULL_AGENT feature mode is automatically enabled when configuring the agent purely by environment variables.
.NET Agent for Linux does not support extended functionality like specifying instrumentors and allowlisting. Do not specify these if copying configuration from .NET Core agent on Windows.
See AppDynamicsConfig.json File.
Other Configuration Options
It is possible to enable the agent to work without Docker. However, you will need to ensure that the OS is supported by the current agent.
Make the following files available to the application. They can be located next to the application files or in a separate folder:
AppDynamics.Agent.netstandard.dll
libappdprofiler.so
Create the following environment variables by adding them to your application:
Environment Variable Name Value CORECLR_PROFILER {57e1aa68-2229-41aa-9931-a6e93bbc64d8} CORECLR_ENABLE_PROFILING 1 CORECLR_PROFILER_PATH Path to the libappdprofilerdynamic
library. For example,<application_folder_path>/libappdprofiler.so
See Using .NET Core for Linux SDK for more information on how to determine the location of thelibappdprofiler.so
library.Env vars can be created on multiple levels, it is important that they are set in the context of the monitored application:
- Environment variables are inherited from global host level.
- Environment variables are parent process or service.
- Environment variables are set prior to the start of the application using the shell script or similar.
Place the agent configuration file next to the appropriate binaries.
There are two supported options:
Global agent configuration file
TheAppDynamicsConfig.json
file can be placed next to the agent binaries.
This way, it would be the default option for monitoring for each application configured to use the agent.The .NET Agent for Linux does not support overriding node name in the agent configuration. Therefore, monitoring multiple applications on the same host using global configuration is not supported. Only the first application will be reporting.
Local agent configuration
The[appname].AppDynamicsConfig.json
file can be placed next to the application binaries, where [appname
] should match your application DLL/EXE name.
Using this option, you can attach AppDynamics configuration to the application package and deploy it as a bundle. It will be activated when the right environment variables are set and agent binaries are present.Local agent configuration has higher priority than global configuration.