This topic provides an overview of how to configure and administer Controller data storage.
About Controller Data Storage
The Controller requires persistent data storage to store the following type of information:
- Design of your applications (all metadata about business transactions, tiers, policies, and so on)
- History of the performance of your applications (metric data)
- Transaction snapshot data and events
- History of incidents that occurred (both resolved and unresolved incidents)
Controller Data Directory Location
By default, the AppDynamics Controller uses MySQL as its storage mechanism. The Controller bundles a MySQL instance with the Controller. At installation time, the installer creates the necessary tables and artifacts in the database.
By default, the database files and data are stored in: <Controller_Installation_Director>/db.
Manage the Database User Password
The installer creates the user account that the Controller uses to log into the database to perform database-related operations. The username of the account is "root", and the password is the one you supply to the installer during the installation process.
If you changed the password for the Controller's database user in the database management system, you need to configure the Controller to use the new password. By default, the Controller stores the password on disk at the following location:
When it access the database, it attempts to read the password from that location. For security reasons, or to facilitate automation, you may choose to keep the password in an environment variable or by supplying it at the command line instead of the file.
When attempting to access the data, the Controller reads the database user password from these sources and in the priority shown:
- From the MYSQL_ROOT_PASSWD environment variable
- From the file <Controller_installation_dir>/db/.rootpw
- From user input to a command line prompt
If you do not keep the password in the environment variable or the .rootpw file, you will need to supply it in response to a command line prompt whenever performing an operation that involves accessing the database, such as starting the Controller (since this requires starting the database), starting the database, stopping the database, or logging into the database.
Moving the Controller Data Directory
After installation you can move the data directory to a new location. The following conditions can make it necessary to move the data:
- When you want to store the Controller data on a SAN in order to get higher I/O performance and redundancy.
- If there is not enough disk space available during Controller installation.
Note: If you are using symlinks, you must create the symlink outside of the root Controller install directory and move the data directory to the new volume after you install the Controller.
Warning: Do not mount a file system on <Controller_Installation_Directory>/db/data. During Controller upgrade, the installer moves the data directory to data_orig. Upgrade will fail if the installer cannot complete this move.
To relocate the Controller data directory
- Stop the Controller and its database. See Start or Stop the Controller.
Modify following properties in the <Controller_Installation_Directory>/db/db.cnf file to point to the new location of the data directory.
Copy (or move) the existing data directory <Controller_Installation_Directory>/db to the new location.
For example, to copy the data on Linux:
- Start the Controller. See Start or Stop the Controller.
- Check the database.log and server.log for any errors related to the database connection.
See the following topics for more information on administering AppDynamics data: