This page describes how to upgrade an EUM Server to version 4.5 of 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

In addition to showing you how to upgrade your EUM Server, the instructions below also show you how to migrate the EUM data because, for the 4.5 production EUM Server, the EUM MySQL database has been moved from the Controller host machine to the EUM Server host machine.

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

  1. Stop the EUM Server. Be sure not to stop the EUM MySQL database.
  2. 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 --password --databases eum_db -P [EUM-MySQL-Port] --add-drop-database --socket=<eum_server_home>/mysql/mysql.sock >eum_db1.mysql
      BASH
  3. Run the latest 4.5 EUM Server installer on the EUM host machine and follow the steps as prompted. For detailed instructions, see Install a Production EUM Server.

  4. 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.

  5. 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.

  6. 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. Stop the EUM Server.
  2. 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
      BASH
  3. Run the 4.5 EUM Server installer on the EUM Server host machine and follow the steps as prompted. For detailed instructions, see Install a Production EUM Server.

  4. 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)

  5. Import the old EUM data (file-based and MySQL data) to your new 4.5 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 4.5 EUM Server.

      cp -r <old_eum_server_home>/store/* <new_eum_server_home>/store/
      BASH
    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"
        CODE
      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]"
        CODE
    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
      BASH

      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
      BASH
    6. Upgrade the schema to version 4.5:

      cd <eum_server_home>/eum-processor/bin/
      bash ./eum-schema update
      BASH
    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.

  6. 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.

  7. 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.

  8. Restart the EUM Server.
  9. 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

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.