This page describes how to install the AppDynamics Controller using the CLI. You can also find information on settings you should have after installation. Alternatively, you can use the Enterprise Console GUI to install the Controller. For information about how to use the Enterprise Console to install the Controller, see Enterprise Console

The Controller can be installed on the same host as the one on which the Enterprise Console is running or a remote host. Installing on the same host is not recommended, however, particularly for medium and large scale profiles or for high availability deployments. 

Install the Controller Using the Command Line

Determine which host you plan to install your Controller on before starting. The host that runs the Enterprise Console is "localhost".

You may also use the loopback address '127.0.0.1' or the machine's actual hostname.

Complete the following steps carefully if you choose to install the Controller on this shared host rather than on a remote host. Note that all services on Windows machines must be installed on the Enterprise Console host since the Enterprise Console does not support remote operations on Windows.

In the <Installation directory>/platform-admin directory, run the following commands to install the Controller:

  1. Create a platform: 

    platform-admin.sh create-platform --name <platform name> --installation-dir <platform installation directory>
    BASH
    platform-admin.exe cli create-platform --name <platform name> --installation-dir <platform installation directory>
    BASH
  2. Add the credential.

    For a remote host on Linux machines only:

    platform-admin.sh add-credential --credential-name <name> --type <ssh> --user-name <username> --ssh-key-file <file path to the key file>

    <file path to the key file> is the private key file. The installation process deploys the key to the Controller host. 
    For the localhost:
    The localhost does not require credentials. You can, therefore, skip this step, especially for Windows deployments. 
    For more information, see Manage Hosts.

  3. Add the host.
    For a remote host on Linux machines only: 

    platform-admin.sh add-hosts --hosts remotehost --credential <credential name>

    For the localhost:

    platform-admin.sh add-hosts --hosts localhost
    BASH
    platform-admin.exe cli add-hosts --hosts localhost
    BASH

  4. Install the Controller on the host.
    On a remote host for Linux machines only:

    platform-admin.sh submit-job --service controller --job install --args controllerPrimaryHost=<remotehost> controllerAdminUsername=<user1> controllerAdminPassword=<password> controllerRootUserPassword=<rootpassword> mysqlRootPassword=<dbrootpassword>

    On the localhost:

    platform-admin.sh submit-job --service controller --job install --args controllerPrimaryHost=localhost controllerAdminUsername=<user1> controllerAdminPassword=<password> controllerRootUserPassword=<rootpassword> mysqlRootPassword=<dbrootpassword> newDatabaseUserPassword=<password> controllerDBHost=<host> controllerProfile=<profile>
    BASH
    platform-admin.exe cli submit-job --service controller --job install --args controllerPrimaryHost=localhost controllerAdminUsername=<user1> controllerAdminPassword=<password> controllerRootUserPassword=<rootpassword> mysqlRootPassword=<dbrootpassword> newDatabaseUserPassword=<password> controllerDBHost=<host> controllerProfile=<profile>
    BASH

Note that these are the required parameters for installing a Controller with a demo profile size. For information about optional configuration options, run the following command:

platform-admin.sh list-job-parameters --job install --service controller
BASH
platform-admin.exe cli list-job-parameters --job install --service controller
BASH


Installation Settings

The installation does some basic system checking of your environment as it performs the installation. It notifies you if it encounters conditions that need to be addressed. 

Listening ports are configured for the Controller during installation. In GUI and CLI mode, the installation checks to make sure that each port it suggests is available on the system before suggesting it. You only need to edit a default port number if you know it will cause a future conflict or if you have some other specific reason for choosing another port.

Due to browser incompatibilities, AppDynamics recommends using only ASCII characters for usernames, passwords, and account names. The characters "%" and "|" are allowed in the Controller root password.

Verifying Controller Installation

Verify by navigating in a browser to the URL of the Controller UI:

http://<application_server_host_name>:<http-listener-port>/controller/rest/serverstatus

Log in using the credentials of the initial Controller administrator. 

Licensing the Controller

Upon the first login, the Controller UI may prompt you that you need a valid license. You may have acquired the license file from AppDynamics.

To apply a license file manually, copy the license file to the Controller home directory. After moving the license file, allow up to 5 minutes for the license change to take effect.

Troubleshooting the Installation

A log for the installation process is automatically created in the platform-admin/logs/platform-admin-server.log. This file contains information for troubleshooting installation issues. 

While installation is in progress, you can find the log file in the platform-admin/logs/platform-admin-server.log.  

During installation and setup, the Enterprise Console tries to start the Controller. This procedure can take some time. If Controller installation fails, you can troubleshoot and identify the fix and retry from a checkpoint.

To diagnose the Controller, run the following command:

bin/platform-admin.sh submit-job --platform-name <name_of_the_platform> --job diagnosis --service controller 
BASH
bin/platform-admin.exe cli submit-job --platform-name <name_of_the_platform> --job diagnosis --service controller 
BASH


Refer to the Controller diagnostic data in platform-admin-server.log.