This page describes how to migrate a Controller from a physical or virtual machine (VM) to a new physical machine.

Before Starting

Migrating the Controller often results from the need to move the Controller to new hardware due to increased load. Before starting, make sure that the new hardware meets the Splunk AppDynamics requirements as described in Controller System Requirements. Specifically, you should review the Controller hardware performance profiles and the hardware requirements per profile information to verify that the target Controller hardware meets the RAM size and Disk I/O requirements. 

You will need to update the MAC address associated with your license since licenses are tied to the machine MAC addresses. You can also acquire new license files for the new Controller hardware by sending an email to salesops@appdynamics.com and request a new license file or two new licenses, if upgrading to an HA pair. See Apply or Update a License File for more information. 

If you are performing a migration and upgrade for a 4.3 version Controller, you should first migrate the Controller. Then, you can upgrade the Controller to 4.5 or higher by installing the Enterprise Console and using the Discover & Upgrade feature. This also applies to migrations involving different OS environments.

VMotioning, or migrating a VMware guest with a running Controller inside it from one host to another, is not supported. Doing so will lead to dropped metrics and UI performance problems.

Migrating a Linux Controller

You can use the high availability features provided by the Enterprise Console to migrate a Controller from one machine to another. It is assumed that the Controller you need to migrate is already managed by the Enterprise Console (it has been installed or discovered by the Enterprise Console). See Enterprise Console for more information. 

You add the new host as an HA pair to the old host, set the new host as active, and then remove (decommission) the old host. When finished, the Controller will run on the new host.

Before starting, you should review the requirements and concepts related to Controller High Availability

To migrate a Linux Controller:

  1. Log in to the Enterprise Console UI interface.
  2. Select the Platform containing the host you want to migrate. 
  3. In the Hosts page, add the new host (the one to serve as the new target host) and provide the credentials for connecting to that host.
  4. In the Controller page, select Incremental Replication and select the new target host. Complete 4-5 runs of incremental replication. The number of ongoing incremental replication runs will be indicated in the Enterprise Console UI interface.
  5. In the Controller page, select Add Secondary and select the new target host. Provide the DB root password and Controller root password, and select Submit
  6. In the Controller page, select HA failover.
    The Primary Controller is now running on the new host. 
  7. Update the license MAC address or apply a new license for the new machine. See Before Starting for more information. 
  8. Decommission the old Controller from the Controller page:
    1. Select Remove Controller, or run the following command on the Enterprise Console host:

      platform-admin.sh submit-job --job remove --service controller --args removeBinaries=true
      BASH
    2. Select the remove binaries option. (Do not select Remove entire cluster.)
    The Controller is now running on the newly provisioned host.

You can keep the same access key from the old Controller. To migrate or update your access key, see Controller Secure Credential Store.

You must update the license rule access keys.

Migrating a Windows Controller

Since high availability features are not available on Windows, you must use an alternative procedure to migrate a Controller from one machine to another. You use the Enterprise Console to manually install and move the .appd.scskeystore and the datadir from the old host to the new host. Once completed, the Controller will run on the new host.

Before starting, you should review the requirements and concepts related to Controller High Availability 

To migrate a Windows Controller: 

  1. Install the Enterprise Console on the new Controller host from where you are running the existing Controller host.

  2. Use the Enterprise Console to install the same version of the Controller on your new Controller host using the same passwords as on the existing Controller host.

  3. Shut down the Controller Appserver and database on both Controller hosts.

  4. Copy <controller_home>/.appd.scskeystore and the Controller's MySQL datadir from the old host to the correct locations on the new host.

    When migrating the data, ensure that the destination MySQL version is the same as the source version.

  5. Start the Controller Appserver and database on the new host.
    The Controller is now running on the newly provisioned host.

You can keep the same access key from the old Controller. To migrate or update your access key, see Controller Secure Credential Store.

You must update the license rule access keys.