On this page:
The .NET Agent automatically instruments IIS applications only. However, you can follow the instructions in this topic to manually configure the .NET Agent to instrument Windows services or standalone .NET applications.
To instrument Windows services and standalone .NET applications, you edit the .NET Agent configuration file, config.xml.
Instrument the default domain if that's where your application runs, as AppDynamics does not automatically instrument the default domain out of the box. To determine whether you should use the default domain, and how to configure it, see Instrument the DefaultDomain for Standalone Applications.
Before starting, verify that the services or applications you want to instrument are .NET applications rather than native applications or another type of application. From a command line, run the following command:
tasklist /m "mscor*"
This command only works for 64-bit processes. For 32-bit processes, use the process explorer to view the dependencies of the process and whether there are any .NET .dll's loaded into the file.
The output lists the processes that have DLLs starting with mscor*, indicative of .NET processes. Processes that are not on the list are not .NET processes and cannot be instrumented with the .NET Agent.
If you have previously instrumented IIS applications on the server that hosts the Windows services and standalone applications, the server should already have a config.xml file that you can edit. If not, perform the following steps to generate one:
If you want to avoid instrumenting IIS applications, choose the manual tier naming approach and omit the step of assigning tiers for the IIS application. This disables instrumentation for the IIS applications, allowing you to instrument only the intended Windows services or standalone applications.
The utility performs these configuration tasks:
Sets the business application for the agent.
Once you have configured the Controller properties for the .NET Agent, instrument your Windows service or standalone application by adding the Standalone Applications element to the config.xml.
Edit the config.xml file as an administrator. See Administer the .NET Agent.
If you haven't instrumented any IIS applications, the file contains the minimal configuration for the Controller connectivity and the machine agent. Verify the Controller properties and the Business Application name, as in the following example:
<?xml version="1.0" encoding="utf-8"?> <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <controller host="mycontroller.example.com" port="8090" ssl="false"> <application name="My Business Application" /> </controller> ... </appdynamics-agent>
If you have already instrumented IIS applications, those configurations appear under the IIS element.
Add a single standalone applications element (
standalone-applications) under the app-agents element, and under the
standalone-applications element, add a standalone application element (
standalone-application) for each Windows service or standalone application to instrument. For example:
... <app-agents> ... <standalone-applications> <standalone-application executable="MyStandaloneApp.exe"> <tier name="Standalone Tier 1" /> </standalone-application> <!-- Instrument a standalone application using a partial path. --> <standalone-application executable="MyApplication\MyOtherStandaloneApp.exe"> <tier name="Standalone Tier 2" /> </standalone-application> <!-- Instrument a Windows service using arguments. --> <!-- The following example matches the command "MyWindowsService.exe -d -x -r". --> <standalone-application executable="MyWindowsService.exe" command-line="-x"> <tier name="Windows Service Tier" /> </standalone-application> </standalone-applications> </app-agents> ...
In the standalone application element configuration:
tier element to assign the instrumented application to a tier in the Controller. See .NET Agent Configuration Properties.
Identify the application's executable file in the Standalone Application element
executable attribute using one of the following formats:
Executable name. For example, MyStandaloneApp.exe or MyWindowsService.exe. The file extension is optional, so MyStandaloneApp also works.
To differentiate between two instances of the same executable, specify any unique portion of the application's command line invocation format, such as an argument, in the Standalone Application command-line attribute.
You can discover the path to a Windows service executable in the Services panel of the administrative tools. In Services, click on the service and choose Properties. The path appears in the General tab.
Restart the AppDynamics.Agent.Coordinator service.
Restart the Windows service or standalone application.
If your Windows service or standalone application doesn't implement an auto-detected framework, you must configure a POCO entry point for a class/method in your service for the agent to begin instrumentation.
This sample config.xml demonstrates instrumentation for a Windows service and standalone application:
<?xml version="1.0" encoding="utf-8"?> <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <controller host="mycontroller.mycompany.com" port="8090" ssl="false"> <application name="My Business Application" /> </controller> <machine-agent /> <app-agents> <IIS> <applications /> </IIS> <standalone-applications> <standalone-application executable="MyWindowsService.exe" command-line="-x"> <tier name="Windows Service Tier" /> </standalone-application> <standalone-application executable="MyStandaloneApp.exe"> <tier name="Standalone Tier" /> </standalone-application> </standalone-applications> </app-agents> </appdynamics-agent>