The default End User Monitoring deployment assumes that EUM agents (Mobile and Browser) send their data to the EUM Cloud, a cloud-based processor. To deploy EUM completely on-premises, you need to install the EUM Server, the on-premises version of the EUM Cloud, as described here.

Installation Overview

The EUM Server receives data from EUM agents, processes and stores that data, and makes it available to the Cisco AppDynamics Controller. Certain EUM features—specifically, Browser Request Analytics and Mobile Request Analytics, features of Application Analytics that extend the functionality of Browser and Mobile Analyze—require access to the Cisco AppDynamics Events Service. 

To set up a complete on-premises EUM Server deployment, therefore, you need to:

  1. Determine which version of the EUM Server is compatible with your other platform components.
  2. Install the on-premises Controller or prepare an in-service Controller to work with the EUM Server
  3. Install the on-premises Events Service Deployment and configure it to work with your on-premises Controller
  4. Install the on-premises EUM Server and configure it to work with your Events Service and Controller.

Deployment Modes for the EUM Server

For demonstration and light testing purposes, choose the Demo installation option, where the EUM Server and Controller are installed on the same host, and the EUM Server shares the Controller's MySQL instance. For production installation, choose the Product installation option, where the EUM Server and Controller sit on different hosts, and the EUM Server hosts its own MySQL instance.

In Demo mode, the EUM Server listens for connections on port 7001 or 7002. The secure port, 7002, uses a built-in, self-signed certificate, which is only used in demo mode.

Demo mode architecture 

In a production environment, the EUM Server is likely to operate behind a reverse proxy. A reverse proxy relieves the performance burden of SSL termination from the EUM Server. It also helps ease certificate management and security administration in general. Further, as the connection point for agent beacons, the Server needs to have the security layer of a proxy between itself and the external Internet.

Production environment architecture

(info) Using a reverse proxy is the recommended method of setting up HTTPS connections for an on-premises EUM Server. If this is not possible in your installation, however, it is possible to set HTTPS support manually. See information on setting up a custom keystore in Secure the EUM Server.

Embedded Geo Server

The EUM Server includes an embedded Geo Server that provides the geo information. The Geo Server either obtains geo information from your custom Geo Server or by resolving incoming IPv4 address (IPv6 addresses are not supported) with Neustar data or custom geo data. 

Add New Geo Data

To add new geo data, you can either add a new Neustar data file or create the custom geo data file geo-ip-mappings.xml and place it in the directory eum-processor/bin/. The EUM Server automatically detects and loads new geo data files.

Update the Geo Server

The Geo Server is updated when you update the EUM Server. 

Host Your Own Geo Server

Follow the instructions given in Install and Host a Custom Geo Server for Browser RUM.

Check Controller Version

Before you run the EUM Server installer:

  1. The Cisco AppDynamics Platform you use with the EUM server must have a supported Controller version installed. To determine the Controller compatibility with other components, see: Controller Compatibility with Operating Systems and Components.

  2. Back up the current version of your Controller.
  3. Choose a time window that has minimum impact on service availability.

Install the On-Premises Events Service

The Analyze function in Browser RUM and the Crash Report and Analyze components in Mobile RUM rely on the Cisco AppDynamics Events Service, the Platform's unstructured document store. The Events Service that is configured by default for EUM is a cloud-based service.  

If you are running on-premises and wish to keep all your processing on-premises, after installing and configuring the Controller, you must install an on-premises version of the Events Service as described in this section. Note that relying on the Events Service purely for use with the EUM UI does not require a separate Application Analytics license. Other uses may require a separate license.


On-premise Events Service architecture

There are multiple modes of deploying the Events Service.  For detailed information on installing and configuring the Events Service, see Events Service Deployment.

Run the EUM Server Installer

Before starting, get the installer version appropriate for your target system. You can get the installer from https://accounts.appdynamics.com/downloads.

Run the EUM installer under the same user account on the target machine like the one used to install the Controller, or using an account that has read, write, and execute permissions to the Controller home directory. Installing with incompatible permission levels—for example, attempting to install the EUM Server as a regular user while the Controller was installed by root user—may result in installation or operation errors. 

The EUM Server is automatically installed as a Windows service. All upgrades are automatically converted to a Window service. 

The installer can be run in three modes:

  • GUI
  • Console
  • Silent mode with varfile

See the following page for details on installing as appropriate for your deployment mode: 

Update the Agents

You must update the address that agents use to send their beacons to the EUM Server based on your configuration. For Browser Real User Monitoring, the Controller updates the JavaScript agent.  Simply re-download and deploy it, as described in Set Up and Access Browser RUM. For Mobile RUM, the mobile applications themselves need to be updated, using the mobile SDKs. For more information, see Customize the Android Instrumentation and Customize the iOS Instrumentation.

Start and Stop the EUM Server and Database

The EUM Server is installed as a Windows service automatically. You can manage how you want this service to run using the Local Services dialog.

Start/Stop the EUM Server

Before you start or stop the EUM Server, perform the following:

  1. Ensure that orcha.properties exists in the following JRE location:

     REMOTE_JAVA_HOME=<YOU EUM HOME PATH>/jre.
    CODE
  2. Add DEFAULT_JVM_OPTS in the orcha-manager file:

    DEFAULT_JVM_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"
    CODE
  3. Verify the location of the following files:

    FilePath
    orcha.properties
     <EUM-PATH>/orcha/orcha-manager/conf
    CODE
    orcha-manager
    <EUM-PATH>/orcha/orcha-manager/bin
    CODE

On Linux, start the EUM server from the eum-processor directory in the EUM home as follows: 

bin/eum.sh start

For a demonstration environment, run the command as sudo. 

On Windows, if you ever need to start the EUM Server manually, you can do so by running:   

bin\eum-processor.bat start

You can check if the server is running and accessible by going to http://<hostname>:7001/eumaggregator/ping with your browser.  Your browser should display ping.

To stop the EUM Server, pass the stop command to the eum script. For example, on Linux, from the eum-processor directory, run:

bin/eum.sh stop

You can also start and stop the EUM database. On Windows, you can do so from the Windows Services.

Start/Stop the EUM MySQL Database

On Linux, you can start MySQL by navigating to the directory, <EUM>/orcha/orcha-manager/bin, and running: 

./orcha-manager -d mysql.groovy -p ../../playbooks/mysql-orcha/start-mysql.orcha -o ../conf/orcha.properties -c local

To stop MySQL on Linux, run: 

./orcha-manager -d mysql.groovy -p ../../playbooks/mysql-orcha/stop-mysql.orcha -o ../conf/orcha.properties -c local