This page applies to an earlier version of the AppDynamics App IQ Platform.
For documentation on the latest version, see the 4.4 Documentation.
.NET Agent versions prior to 3.9 required that monitoring data for all .NET applications running on a Windows host report to one business application in the Controller. This topic describes how to configure the agent to register different applications on the same Windows host with multiple business applications in the Controller.
If a tier in the first business application makes an exit call to a second tier in another business application, AppDynamics applies Cross Application Flow. To learn more about AppDynamics business applications, see AppDynamics Concepts.
Multiple business application support in the .NET Agent requires manually editing the config.xml to use a schema that the AppDynamics Agent Configuration utility doesn't currently support.
If you follow these instructions to configure multiple application support, you can't use the configuration utility to make configuration changes afterward. If you launch the configuration utility on a server where you've configured multiple application support, the utility will prompt you to delete the configurations.
Prepare to Configure Multiple Business Applications
Before you configure the .NET Agent, you must install the agent. Use the AppDynamics Agent Configuration utility to perform basic configuration tasks.
Identify how you want to organize your business applications and identify the business application names.
For example, consider a Windows host running IIS. The IIS instance serves two applications for two separate customers: Ticket Search and Travel Search. The applications perform similar functions, but it makes sense to monitor them separately because they function independently. In this case, create two business applications based upon the application name: Ticket Search Engine and Travel Search Engine.
- Map your IIS applications or application pools, Windows services, and standalone applications to tiers in the different business applications.
For example, map the TicketSearch site to the Ticket Search Web tier in the Ticket Search Engine business application. Map the TravelSearch site to the Travel Search Web tier in the Travel Search Engine business application.
- If you have not already done so, install the .NET Agent. See Install the .NET Agent.
- Run the AppDynamics Agent Configuration utility to generate a config.xml and configure the Controller connection. See Configure the .NET Agent
When prompted, choose Manual for the method of tier generation and assignment.
Currently the configuration utility only supports mapping one business application per server.
Manually Configure the .NET Agent
Once you have configured the Controller properties for the .NET Agent, instrument your .NET Applications in the config.xml.
Open the config.xml file as administrator and edit the file. See "Where to Configure Agent Properties" on Administer the .NET Agent.
Copy the Controller Applications block and paste it as a child element of the Controller element. Replace any existing
<applications>
or<application>
elements:<!--Configure multiple business applications--> <applications> <application name="ApplicationName1" default ="true"/> <application name="ApplicationName2"/> </applications>
Add an Application element for each of the business applications in the Controller.
- Edit the name attribute for the Application elements to match the business application name in the Controller. If the application doesn't exist yet, the Controller creates it.
- Set the default attribute to "true" for one Application element. If the agent can't find a match for the business application name in the IIS application, Windows service, or standalone application configuration, the tier reports to the default business application.
In this example, Ticket Search is the default business 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"> <!--Configure multiple business applications--> <applications> <application name="Ticket Search" default ="true"/> <application name="Travel Search"/> </applications> </controller> ...
Add configuration elements for the IIS applications or application pools, Windows services, or standalone applications to instrument.
For IIS applications, add the IIS Applications block as a child of the IIS element. Replace any existing<
applications>
element. For more information, see IIS Applications Element.For IIS application pools, add the IIS Application Pools block as a child of the IIS element. Replace any existing
<
application-pools>
element. For more information, see IIS Application Pools Element.For Windows services or standalone applications, add the Standalone Applications block as a child of the App Agents element. For more information, see Standalone Applications Element.
- Configure your application elements as follows:
- Add the corresponding element for each IIS application or application pool, Windows service, or standalone application to instrument. For information on specific elements see .NET Agent Configuration Properties.
- For each application element set the controller-application attribute to the name of the corresponding business application. If you omit the controller-application attribute, the agent adds the application to a tier in the configured default business application.
- Set the Tier element name attribute to the business application tier name.
- After you complete configuration, save the changes to config.xml.
- Restart the AppDynamics.Agent.Coordinator service.
- Restart IIS applications or application pools, Windows services, or standalone applications.
- As your applications begin processing traffic, the agent registers them with the Controller. Log on to the Controller to see that your applications have registered with the corresponding business application.
Sample Configuration
This sample config.xml demonstrates configuration for multiple business applications in the Controller. Because the Windows service TicketService doesn't specify a controller-application attribute, it reports to the default business application Ticket Search Engine. All applications in the TravelAPIPool report to the Travel Search Engine.
<?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"> <!--Configure multiple business applications--> <applications> <application name="Ticket Search Engine" default ="true"/> <application name="Travel Search Engine"/> </applications> </controller> <machine-agent /> <app-agents> <IIS> <automatic enabled="false" /> <application-pools> <application-pool name="TravelAPIPool" controller-application="Travel Search Engine"> <tier name="Travel APIs"/> </application-pool> </application-pools> <applications> <application path="/" site="TicketSearch" controller-application="Ticket Search Engine"> <tier name="Ticket Search Web"/> </application> <application path="/" site="TravelSearch" controller-application="Travel Search Engine"> <tier name="Travel Search Web"/> </application> </applications> </IIS> <standalone-applications> <standalone-application executable="StandaloneApp.exe" controller-application="Ticket Search Engine"> <tier name="Ticket Standalone Tier"/> </standalone-application> <standalone-application executable="WindowsService.exe" command-line="-x" controller-application="Travel Search Engine"> <tier name="Travel Windows Service Tier"/> </standalone-application> </standalone-applications> </app-agents> </appdynamics-agent>
Agent Configuration Properties for Multiple Application Support
Multiple business application support includes configuration properties for the .NET Agent. These configuration properties supersede the ones documented in .NET Agent Configuration Properties.
Controller Applications Element
The Controller Applications element is a child of the Controller element. It is a container element for all controller applications elements that map to business applications in the Controller.
Required Element: <applications>
Controller Application Element
The Controller Application element is a child of the Controller Applications element. It indicates the name of the logical business application you see in the Controller. When you have more than one Controller Application element, you must set the default attribute to "true" for one of them.
Required Element: <application name="MyDotNetApplication" default="true"/>
Application name attribute
Set the application name attribute to the business application name in the Controller. If the application name does not exist, the Controller creates it when the agent registers.
Type: String
Default: None
Required: Yes
Application default attribute
Set the application default attribute to "true" for one Controller Application element. Instrumented applications without the controller-application attribute register with the default business application in the Controller.
Type: Boolean
Default: false
Required: For one application in multiple application configurations
Controller-Application Attribute
The IIS Application, IIS Application Pool, Windows Service, and Standalone Application elements accept the controller-application attribute. Set the value to the Controller Application element name. If you don't include a controller-application attribute, the application registers with the default business application.
For example, an IIS application:
<application path="/" site="MySite" controller-application="My Business Application">
Type: String
Default: None
Required: No