AppDynamics Application Intelligence Platform

3.9.x Documentation

PDFs

Learn by Watching

Doc Maps

Controller Installation FAQ

Q. What should I do if I forget the credentials during Controller installation?

During installation, you are prompted to provide a username and password for an administrator account for the Controller. This is the account you use to access the AppDynamics User Interface (UI) for the first time. If you lose this information, contact AppDynamics Support Team to reset the password for the admin user.

Q. Can I install the Controller on a virtual machine?

The AppDynamics Controller can be installed on virtual machines. However, make sure that the virtual machine meets the hardware resource requirements equivalent to physical machines. The virtualized storage subsystem must provide the required I/O capacity. To verify the I/O capacity, you can run Disk I/O rate tests. For details see Controller System Requirements.

Q. Do I need a multi-tenant installation?

You can configure the AppDynamics Controller in either single-tenant (single account) or multi-tenant (multiple account) modes. AppDynamics recommends single-tenant mode for most installations. For more details, see Controller Tenant Mode.

You choose the tenancy mode when you run the Controller installer. If you need to modify the tenancy mode later, see Controller Tenant Mode.

Q. What is Controller High Availability mode and when should I choose it?

When using AppDynamics you may need to ensure the availability of the Controller. Availability refers to the ability to cope with and if necessary recover from hardware or software failures.

A high availability mode configuration is two machines, both running the AppDynamics Controller. If the primary machine is brought down, the secondary machine assumes the workload.

Configure HA mode for the Controller in either of the following situations:

  • When you want to ensure that any critical software or hardware failure cannot disrupt Controller operations.
  • When you want to avoid the complexity of performing hot backups.

For more information see Controller High Availability.

Q. Is the Controller upgrade seamless or will the existing data get purged?

The Controller upgrade is seamless and retains all the existing client configurations, data, and reports.
See Upgrade the Controller.

Q. Will my current license work during an upgrade?

If you are moving from an older version to a newer version and have a license for the older version, then that license should work when upgrading the Controller to a new version.

However, if you had a temporary license for the old version and now have a new license, then this new license will not work on the old Controller. In this case, you should upgrade the Controller to the latest version.

Q. Can a 32-bit Controller installation be upgraded to a 64-bit installation?

Yes. Follow the usual upgrade procedure at Upgrade the Controller.

Q. How do I troubleshoot timeout errors during Controller installation?

While installing the Controller, the installer attempts to start up the Controller application server and database. At first database startup, the installer attempts to create the database schema, tables, and other artifacts needed by the Controller.  

By default, the installer waits five minutes for the Controller to start and three minutes for the database. When installing a medium or large profile Controller or into certain types of environments such as virtual machines, the time it takes to start up the system can exceed the default startup timeout period. In this event, the installer aborts the installation and presents an error message indicating that the Controller could not be started in the allotted timeout window. 

If you encounter this timeout error during installation, try increasing the timeout periods. Pass a custom timeout value as a command-line argument to the installer in the following format:

-Vad-timeout-in-min=<Controller_timeout> -Vstartup-timeout-in-min=<database_timeout> 

If performing a silent install with the response file, add the ad-timeout-in-min (Controller timeout) or startup-timeout-in-min (database timeout) parameters to the installation response file with values for the new timeout periods.

Controller Administration FAQ

Q. How do I start and stop the Controller?

See Start or Stop the Controller.

Q. After I log out of Windows, why can't I see the Controller?

The Controller is not installed as a Windows service by default. If you log out off in Windows, in most cases you will shut down the Controller.

To verify whether the Controller is shut down, check for the status of Controller Glassfish and MySQL processes. If these processes are active, that means the Controller is not shut down.

AppDynamics recommends you install the Controller as a service on Windows. For more information see Install the Controller as a Windows Service.

Q. How do I uninstall the Controller?

See Uninstall the Controller.

Q. How do I access the Controller's application server?

The AppDynamics Controller is a J2EE application that uses the GlassFish Application Server. Use the following URL to access the Controller's application server:

http://Controller_Host:4848/login.jsf

The default port for the Controller Application Server is 4848 and is configured during Controller installation. If you set a different value for this port, use that value in the URL.

To log in to the application server administrative console, use "admin" as the username and the password that is located in the <controller_install_directory>/.passwordfile file.

Q. After the Controller shuts down, why is there no increase in the amount of free memory on Linux system?

You should not worry about the "free memory" value as it will always trend towards zero. The Linux kernel tries to keep its cache as large as possible. As a result, the Linux kernel does not release the memory even after process termination. The memory is freed only if it is required by another process. 

Q. Why am I getting "Caused by: java.net.ConnectException: Connection refused" message in the server.log file?

AppDynamics recommends that you verify the embedded MySQL database for the Controller when you get following exception in server.log file of the Controller.

*Server log exception:* "Caused by: java.net.ConnectException: Connection refused"

To verify that the Controller database is running properly use one of the following commands on Linux environment:

Linux

Windows

Description

lsof -i:3388

SysInternals Process Explorer, will provide you list of files
opened by process with pid 3388.

List open files opened by process
with pid 3388.

netstat -anp | grep 3388

netstat -ano | find "3388"

List all networking ports opened by process
with pid 3388.

ps -aef | grep mysql

tasklist /v | find "mysql"

Lists all processes and then checks if the process
with name "mysql" is active and alive.

If no processes are found, it indicates that the Controller database was incorrectly terminated. Start the Controller database again and verify the Controller server.log file for any error messages. 

Q. Why do I get a stack overflow exception when installing the Controller installation on a Windows machine?

This exception is usually caused when you set the -Xss option to a lower value. We recommend changing this value to 96000.

Q. What troubleshooting information should I collect if I observe heavy load on the Controller machine?

If the Controller machine experiences heavy load, contact the AppDynamics Support Team with the following information:

  • Send all the <Controller_Installation_Directory>/logs/files, in particular the server.log files. You can also use the log file utility to collect the Controller logs.
  • If the Controller runs out of memory, it generates a heap dump. Send all the <Controller-Installation-Directory>/appserver/glassfish/domains/domain1/config/hprof files.
  • Send all the <Controller-Installation-Directory>/appserver/glassfish/domains/domain1/config/gc.log files.
  • Send information about the hardware and operating system configuration of the machine that is currently hosting the Controller, including operating system, bit version, CPU cores, clock speed, disk configuration, and RAM.

Q. How to trigger automatic collection of Controller logs?

Use the following console commands to trigger automatic capture of Controller log files:

  • On Linux, run:

    controller.sh zip-logs
    
  • On Windows, open an elevated command prompt (in the Windows start menu, right-click on the Command Prompt icon and choose Run as Administrator) and run:

    controller.bat zip-logs
    

Q. Why is there no data in the Metrics Browser?

This may indicate that the agents are not correctly configured. Begin troubleshooting by looking at the server.log file.

All log files for Controller are located in the <Controller_Installation_Directory>/logs folder.

Error Message

Solution

Error receiving metrics (node not properly modeled yet: Could not find component for node:

This error means the app agent tried to upload metric data for a specific node, but the node does not belong to any tier. Nodes must belong to tiers and these tiers must belong to a business application in order to receive metric data for that node. See Logical Model.

Received Metric Registration request for a machine that is NOT registered to any nodes. Sending back null!

This error indicates that the Controller received a registration request for metrics for a Machine Agent that listed a machine ID not yet associated with any node. Configure the Machine Agent to associate with the correct application, tier, and node. See Install the Standalone Machine Agent.

Agent upload blocked, as its reporting a time well into the future. 

The App Agents attempt to report metric data using Controller time. The agents retrieve the time from the Controller every five minutes and report times using a skew of the local machine time, if different.

If for some reason the App Agent reports metrics that are time-stamped ahead of the Controller time, the Controller rejects the metrics. To avoid this event, ensure that the system times for the machine on which the Controller is running and the machines for the app agents are in synchronization.