This page applies to an earlier version of the AppDynamics App IQ Platform.
For documentation on the latest version, see the 4.4 Documentation.


On this page:

Related pages:

Your Rating:
Results:
PatheticBadOKGoodOutstanding!
59 rates

The .NET Agent provides a command-line unattended installation procedure for cases when you have multiple servers that require the same AppDynamics configuration. Using unattended installation, you only need to configure once, then use the command line scripts to automate installation and instrumentation on multiple servers

For more detail about how to install and configure the agent manually see Install the .NET Agent.

Requirement

For Windows Server 2003 environments, unattended installation of the .NET Agent requires Windows Server 2003 SP2.

Create a Setup Configuration File

The .NET Agent MSI installer package allows you to specify the path to a setup configuration file to perform an unattended installation. The setup configuration file contains all the properties you need to enable instrumentation for your .NET applications.

You must run the .NET Agent MSI installer package on one machine before you can use the AppDynamics Agent Configuration utility to create a setup configuration file. See Install the .NET Agent.

Setup configuration files created in previous versions of the AppDynamics Agent Configuration utility work with the 4.0 installer.

  1. Launch the AppDynamics Agent Configuration utility from the command line. Use the -s parameter to specify the setup configuration file destination.

    %ProgramFiles%\AppDynamics\AppDynamics .NET Agent\AppDynamics.Agent.Winston.exe -s <path to setup configuration file>

    For example:

    %ProgramFiles%\AppDynamics\AppDynamics .NET Agent\AppDynamics.Agent.Winston.exe -s "c:\temp\configurationSavedSetupConfiguration.xml"
  2. Go through the configuration wizard normally.

    The configuration utility saves the setup configuration file to the path you specified.

    The configuration utility only configures instrumentation for IIS applications.

  3. Optional: To perform unattended installation for Windows services or for standalone applications, you must edit the setup configuration file manually. See Instrument Windows Services and Standalone Applications.

Sample Setup Configuration File

The following example shows a setup configuration file that instruments two IIS Applications (MainBC and SampleHTTPService), a Windows service (MyWindowsService.exe), and a standalone application (MyStandaloneApp.exe).

The configuration file sets the log directory as C:\ProgramData\AppDynamics\DotNetAgent\Logs and grants write permission to four accounts.

<winston>
  <logFileDirectory directory="C:\ProgramData\AppDynamics\DotNetAgent\Logs" />
  <logFileFolderAccessPermissions defaultAccountsEnabled="false">
    <account name="NT AUTHORITY\LOCAL SERVICE" displayName="LOCAL SERVICE" />
    <account name="NT AUTHORITY\SYSTEM" displayName="SYSTEM" />
    <account name="NT AUTHORITY\NETWORK SERVICE" displayName="NETWORK SERVICE" />
    <account name="IIS_IUSRS" displayName="ApplicationPool Identity" />
  </logFileFolderAccessPermissions>
  <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" />
      <account name="customer1" password="changeme" />
    </controller>
    <machine-agent />
    <app-agents>
      <IIS>
        <applications>
          <application path="/" site="MainBC">
            <tier name="Main Site" />
          </application>
          <application path="/" site="SampleHTTPService">
            <tier name="HTTP Services" />
          </application>
        </applications>
      </IIS>
      <standalone-applications>
         <standalone-application executable="MyStandaloneApp.exe">
            <tier name="Standalone App" />
         </standalone-application>
         <standalone-application executable="MyWindowsService.exe">
            <tier name="Windows Service" />
         </standalone-application>
      </standalone-applications>
    </app-agents>
  </appdynamics-agent>
</winston>

Unattended Installation

Requirements

Microsoft Distributed Transaction Coordinator (MSDTC): MSDTC must run under the "NT Authority\NetworkServices" account. See "Verify MSDTC" on Resolve .NET Agent Installation and Configuration Issues.

Windows Management Instrumentation

Perform unattended installation

  1. Launch an elevated command prompt with full administrator privileges. See Start a Command Prompt as an Administrator. Logging on to Windows as a member of the Administrators group does not grant sufficient permissions to run the installer.
  2. Run the agent MSI installer package from the elevated command prompt. Use the AD_SetupFile parameter to pass the absolute file path to the setup configuration file.

    msiexec /i dotNetAgentSetup64.msi /q /norestart /lv %TEMP%\AgentInstaller.log AD_SetupFile=<absolute path to setup config.xml>

    Optional Parameters

    INSTALLDIR: Specify the the directory to install the .NET Agent executables and supporting files.

    DOTNETAGENTFOLDERNew in 4.1.3, specify the parent directory for local data including agent configuration files and log files. 

    For example:

    msiexec /i dotNetAgentSetup64.msi /q /norestart /lv %TEMP%\AgentInstaller.log AD_SetupFile=C:\temp\SetupConfig.xml INSTALLDIR=D:\AppDynamics DOTNETAGENTFOLDER=D:\AppDynamicsData

    If you specify both DOTNETAGENTFOLDER on the command line and a logFileDirectory in the setup configuration file, the agent creates config and data folders under the DOTNETAGENTFOLDER but writes the log files to the logFileDirectory.

  3. Start the AppDynamics.Agent.Coordinator.

    net start AppDynamics.Agent.Coordinator
  4. Restart applications you have instrumented: IIS, Windows services, or standalone applications.

    For example, to restart IIS:

    iisreset

Setup Configuration File Properties

Winston element

The Winston element is the root element for the configuration file.

Required element: <winston>

Log File Directory element

The Log File Directory element is a child element of the Winston element. Use the directory attribute to specify the log directory. If you omit the Log File Directory element, we use the default directory:

Windows Server 2008 and later: %ProgramData%\AppDynamics\DotNetAgent\Logs
Windows Server 2003: %AllUsersProfile%\Application Data\AppDynamics\DotNetAgent\Logs

Optional element: <logFileDirectory directory="C:\ProgramData\AppDynamics\DotNetAgent\Logs" />

Log File Folder Access Permissions element

The Log File Folder Access Permissions is a child element of the Winston element. Unless you set the default accounts enabled attribute to false, we grant write access to the logs folder for the default accounts:

  • LOCAL SERVICE
  • SYSTEM
  • NETWORK SERVICE
  • ApplicationPool Identity

Optional element: <logFileFolderAccessPermissions defaultAccountsEnabled="false">

Account element

The Account element is a child element of the Log File Folder Access Permissions element. Create an Account element for the Windows account you use to run your application.

Set the name attribute to the name of account you use to run your application: the account for the application pool for IIS or the Windows service account.

The display name attribute is a user-friendly name you choose for the account. The display name shows up in log entries about assigning permissions for the account.

Optional element: <account name="MyAppPoolIdentity" displayName="Custom ApplicationPool Identity" />

For example, if you run a Windows service under a domain account:

<account name="MYDOMAIN\service_acct" displayName="Domain Service Account" />

AppDynamics Agent element

The AppDynamics Agent element is a child of the Winston element. It follows the same format as the config.xml to define the agent configuration for all your .NET applications. See .NET Agent Configuration Properties.

Required element: <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">