This page describes how to upgrade an EUM Server to the latest production installation. This is usually done alongside an upgrade to the other platform components, such as the Controller and Events Service.  

Who Should Use This Document

Anyone wanting to upgrade the EUM Server to the latest available version should use this document.

Before You Begin

Before you start upgrading the EUM Server, make sure that you are using the correct update order.

Upgrade Procedure

The instructions below show you how to upgrade your EUM Server to the latest version of the production EUM Server. Because in the EUM Server 4.4, the EUM MySQL database was moved from the Controller host machine to the EUM Server host machine, there are separate instructions below to help you migrate your data from versions earlier than 4.4 to the latest version. If you are upgrading from EUM Server 4.4 or higher to the latest version, you will not have to migrate your data, but you are advised to make a backup of your data.

To upgrade the EUM Server 4.4 or higher to the latest production installation, follow the instructions below for your version of the EUM Server:

  1. Ensure that there are no processes are using MySQL. 

    • Log out from your MySQL database if you logged in through the terminal and IDEs.
    • Exit from the MySQL directory.
  2. Stop the EUM Server. Be sure not to stop the EUM MySQL database.
  3. Back up the old EUM data as a precaution:
    1. On the Server host, back up the old version by copying the <eum_server_home> (i.e., <installDir>/AppDynamics/EUM) directory to a safe location.
    2. Edit the file <eum_server_home>/eum-processor/bin/liquibase.properties, and set a password for the password property.
    3. From a terminal, change to <eum_server_home>/mysql/bin and dump the database eum_db to a file: 

      ./mysqldump -u root -p --databases eum_db -h <eum_server_host> -P <eum_mysql_port>  -S </path/to/socket> --add-drop-database >eum_db1.mysql
      BASH
  4. Run the latest EUM Server (20.3 or higher) installer on the EUM host machine and follow the steps as prompted. For detailed instructions, see Install a Production EUM Server.

  5. If your older version of the EUM Server was not using an HTTPS proxy, but was using HTTPS, edit the file <eum_server_home>/eum-processor/bin/eum.properties, set the property processorServer.httpsProduction to true, and assign your HTTPS port to the property processorServer.httpsPort.

    You are strongly recommended to use an HTTPS reverse proxy for the EUM Server instead of configuring the EUM Server to accept HTTPS requests.

  6. If you had customized settings in the eum.properties, you will need to do the following:

    1. Update the eum.properties of the new installation of the EUM with those custom properties.

    2. Stop and start the new version of the EUM Server.

  7. Confirm that the EUM Server is running by making a cURL request to your EUM Server. The server will respond with ping as shown below.

    curl http(s)://<eum_server_host>:<port>/eumcollector/ping
    ping
    BASH
  1. Ensure that there are no processes are using MySQL. 

    • Log out from your MySQL database if you logged in through the terminal and IDEs.
    • Exit from the MySQL directory.
  2. Stop the EUM Server.
  3. Back up the old EUM data to later port to the new install of the EUM Server:
    1. From the host machine of the old EUM Server, back up the data by copying the <eum_server_home> (i.e., <installDir>/AppDynamics/EUM) directory to a safe location.
    2. From the Controller host machine, change to <controller_home>/mysql/bin and dump the database eum_db to a file:

      ./mysqldump -u root --password --protocol=TCP -P [Controller-MySQL-Port] --databases eum_db --add-drop-database --socket=<controller_home>/mysql/mysql.sock > eum_db.sql

  4. Run the latest EUM Server installer on the EUM Server host machine and follow the steps as prompted. For detailed instructions, see Install a Production EUM Server.

  5. Stop the EUM Server that you just installed. (Be sure not to stop the EUM MySQL database: you're simply stopping the EUM Server process)

  6. Import the old EUM data (file-based and MySQL data) to your new production EUM Server:

    1. Copy the file-based data from the old version of the EUM Server (see step 2a) to the <eum_server_home>/store/ directory of the host machine for the latest EUM Server.

      cp -r <old_eum_server_home>/store/* <new_eum_server_home>/store/

    2. Edit the file <eum_server_home>/eum-processor/bin/liquibase.properties, and set a password for the password property.
    3. Change to <eum_server_home>/mysql/bin.
    4. Drop all the tables in the eum_db database in the new EUM MySQL instance:
      1. List the tables you need to drop:

        ./mysql -u eum_user --password eum_db --protocol=TCP -P [EUM-MySQL-Port] --socket=<eum_server_home>/mysql/mysql.sock -e "show tables"

      2. From the displayed list of tables, run the following command for each table to drop. Be sure to replace [tableName] with the name of the table to drop.

        ./mysql -u eum_user --password eum_db --protocol=TCP -P [EUM-MySQL-Port] --socket=<eum_server_home>/mysql/mysql.sock -e "drop table [tableName]"

    5. Import the backed-up MySQL tables from the Controller host machine (see step 2b) to the new database EUM database:
      EUM Server 4.3

      ./mysql -u root --password --protocol=TCP -P [EUM-MySQL-Port] --socket=<eum_server_home>/mysql/mysql.sock < <controller_home>/db/bin/eum_db.sql

      EUM Server 4.0+
      If you are upgrading from (4.0.7.0, 4.0.8, 4.0.9, 4.0.10, 4.1.x), run:

      ./mysql -u root --password --protocol=TCP -P [EUM-MySQL-Port] --socket=<eum_server_home>/mysql/mysql.sock < <controller_home>/db/bin/eum_db.sql
      ./mysql -u root -p eum_db --protocol=TCP -P [EUM-MySQL-Por] --socket=<eum_server_home>/mysql/mysql.sock < <eum_server_home>/eum-processor/bin/407to410.sql

    6. Upgrade the schema to the latest version:

      cd <eum_server_home>/eum-processor/bin/
      bash ./eum-schema update

    7. After the database is set up, remove or replace the password for the property in the file <eum_server_home>/eum-processor/bin/liquibase.properties.

  7. If your older version of the EUM Server was not using an HTTPS proxy, but was using HTTPS, edit the file <eum_server_home>/eum-processor/bin/eum.properties, set the property processorServer.httpsProduction to true, and assign your HTTPS port to the property processorServer.httpsPort.

    You are strongly recommended to use an HTTPS reverse proxy for the EUM Server instead of configuring the EUM Server to accept HTTPS requests.

  8. If you had customized settings in the eum.properties, you will need to do the following:

    1. Update the eum.properties of the new installation of the EUM with those custom properties.

  9. Restart the EUM Server.
  10. Confirm that the EUM Server is running by making a cURL request to your EUM Server. The server will respond with ping as shown below.

    curl http(s)://<eum_server_host>:<port>/eumcollector/ping
    ping

Using SSL with the EUM Server

If you are upgrading to EUM Server 4.5.6 or higher, you are recommended to downgrade the version of the JRE bundled with the EUM Server to 1.8.0_152 to avoid performance issues.