AppDynamics Application Intelligence Platform
3.9.x Documentation
With SaaS EUEM, AppDynamics hosts the EUEM Processor, Controller, and other backend services for you. Setting up EUEM in this case only requires ensuring that the Web and Mobile EUEM agents are correctly deployed and configured. Alternatively, you can install and run the EUM services and Controller yourself, as described here. An on-premise deployment allows you to store and maintain the data generated by EUEM entirely within your own data center.
The EUEM Processor receives data from the EUEM agents, processes it, stores it, and makes it available to the AppDynamics Controller. If you already have an on-prem AppDynamics Controller, you need to make sure you have upgraded to a compatible version and apply a few configuration changes to the Controller to enable it to work with the on-premise EUEM Processor.
The EUEM installer installs the EUEM Processor and configures the Controller to work with EUEM. To install the Controller, see Install the Controller.
The EUEM installer operates in one of two modes: demo mode or production mode. Demo mode is intended for very small-scale demonstration or evaluation environments. In demo mode, the installer configures the Controller for EUEM support and installs the EUEM Processor on the same machine.
In production mode, the Controller and EUEM Processor are expected to reside on separate, dedicated machines. To deploy EUEM in a production environment you therefor need to run the installer on two machines: first on the Controller machine, to make the necessary updates on the Controller instance, and then again on the EUEM Processor host, to install and configure the Processor.
Specifically, the tasks and the order in which they should be performed are:
In a production environment, the EUEM Processor is intended to operate behind a reverse proxy. There are several reasons for this. A reverse proxy relieves the performance burden of SSL termination from the EUEM processor machine. It also helps ease certificate management and security administration in general. Further, as the connection point for agent beacons, the processor needs to have the security layer of a proxy between itself and the external Internet.
In demo mode, prior to 3.9.4, the EUEM processor listens for connections on port 80 or 443. If you are using these ports starting the Processor requires root permissions. As of 3.9.4, these ports are configurable on installation, so that you should select ports that do not require root privileges to open, for example, 7001 and 7002. The secure port uses a built-in, self-signed certificate.
On-premise EUEM requires Controller version 3.8.2 or later. If installing EUEM with an existing on-premise Controller, whether in a production or test environment, be sure to back up the Controller before starting.
The installer makes these changes to the Controller:
The Controller will need to be restarted at the end of the configuration changes applied by the installer. If necessary, perform the Controller configuration procedure with the installer at a time when restarting the Controller has minimum impact on service availability.
The requirements and guidelines for the EUEM Processor machine (basic EUEM usage) are:
The following instructions describe how to run the installer in GUI mode on Linux systems. GUI mode provides a wizard-based approach to installation. Alternatively, you can use a response file for unattended installation or console mode. While the steps and screenshots demonstrate the installation on Linux, the steps to perform a Windows installation are equivalent. The instructions note where there are differences based on the operating systems.
The EUEM Processor must be installed using the same user account on the target machine as 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 EUEM as a regular user while the Controller was installed by root user—can result in installation or operational errors.
To start the installer in console mode, start the installer with the -c. For a response file, use the -q switch and specify the response file to use. For example:
-q -varfile /home/user/response.varfile
See Using the Silent Installer for a sample response file.
If you do not already have an existing on-prem Controller, install it as described in Install the Controller. See Controller Configuration for more information.
Get the EUEM Processor installer from the AppDynamics Download Center. Before starting, download the installer distribution and extract it on the target machine.
Install the on-premise EUEM in Demo mode as follows:
On Linux, run the following command:
./euem-installer-64bit-linux.sh
On Windows, run the following command:
euem-installer-64bit-windows.bat
localhost
to indicate the database host will help you avoid permissions issues. The address that the agents use to send their beacons to the EUEM Processor needs to be updated. For Web EUEM, the Controller updates the JavaScript agent. Simply re-download and deploy it, as described in Set Up and Configure Web EUM. For Mobile EUEM, the mobile applications themselves need to updated, using the mobile SDKs. For more information, see Customize Your Android Mobile Instrumentation and Customize Your iOS Mobile Instrumentation.
Installing on-premise EUEM for a production environment requires running the EUEM installer on two machines:
The order in which you perform the tasks is important. The EUEM installer must be run on the Controller host before you run the installer on the EUEM Processor host.
Before starting, verify the Controller installation and version and back up the Controller.
Get the EUEM Processor installer from the AppDynamics Download Center. Before starting, download the installer distribution and extract it on the target machine and on the Controller machine.
Configure the Controller for an on-premise EUEM deployment in production mode as follows:
On Linux, run the following command:
./euem-installer-64bit-linux.sh
On Windows, run the following command:
euem-installer-64bit-windows.bat
localhost
to indicate the database host will help you avoid permissions issues. Now run the installer on the EUEM Processor target machine, as described next.
After setting up the Controller on the Controller host, run the on-premise EUEM installer on the machine on which you want to install the EUEM Processor.
On Linux, run the following command:
./euem-installer-64bit-linux.sh
On Windows, run the following command:
euem-installer-64bit-windows.bat
With the initial configuration information gathered, the installer now completes the setup of the EUEM Processor.
The processor does not start automatically at the completion of installation. To start it, use the commands described in Starting and Stopping the EUEM Processor.
The address that the agents use to send their beacons to the EUEM Processor needs to be updated. For Web EUEM, the Controller updates the JavaScript agent. Simply re-download and deploy it, as described in Set Up and Configure Web EUM. For Mobile EUEM, the mobile applications themselves need to updated, using the mobile SDKs. For more information, see Customize Your Android Mobile Instrumentation and Customize Your iOS Mobile Instrumentation for more information.
New in 3.9.4 The installer opens a secure listening port for the EUEM Processor that uses a default self-signed certificate in a bundled keystore. The keystore file is located at eum-processor/bin/ssugg.keystore. You can replace the default keystore and certificate by generating a new keystore and configuring the processor to use it, as described in the following sections. These instructions describe how to create a new keystore for the processor. You can use an existing keystore instead, but make sure that the keystore matches the requirements outlined below.
The following instructions describe how to create a custom keystore, configure the EUM Processor to use it, and test the results. The commands demonstrate the steps in Linux, but are similar to those used for Windows. Be sure to adjust the paths as appropriate for your system.
The procedure is made up of three parts:
At a command prompt, navigate to the eum-processor home directory:
cd <euem_home>/eum-processor
Create a new keystore with a new unique key pair as follows:
../jre/bin/keytool -genkey -keyalg RSA -validity 3560 -alias 'eum-processor' -keystore bin/mycustom.keystore
This creates a new public-private key pair and a self-signed certificate and stores it in an alias called "eum-processor". Be sure to use RSA as the key algorithm. The first and last name fields are used as the common name (CN) of the certificate, so you should use your server name.
Generate a certificate signing request (CSR):
../jre/bin/keytool -certreq -keystore bin/mycustom.keystore -file /tmp/eum.csr -alias 'eum-processor'
This generates a certificate signing request based on the contents of the eum-processor alias. The output file, /tmp/eum.csr in the example, should be sent to the Certificate Authority for signing. After you receive the signed certificate, proceed as follows.
Install the certificate for the Certificate Authority used to sign the .csr file:
../jre/bin/keytool -import -trustcacerts -alias myorg-rootca -keystore bin/mycustom.keystore -file /path/to/CA-cert.txt
This mports your CA's root certificate into the keystore and stores it in an alias called "myorg-rootca"
Install the signed server certificate as follows:
../jre/bin/keytool -import -keystore bin/mycustom.keystore -file /path/to/signed-cert.txt -alias eum-processor
This imports your signed certificate over the top of the self-signed certificate in the eum-processor alias.
Place the new keystore file under the bin directory of your EUEM Processor home directory.
Open the onprem.properties file in the bin directory for editing.
Add the following properties to the file (if not already present), setting their values to the name of the custom keystore file and password for the certificate, respectively:
com.appdynamics.eum.server.keystore.filename=mycustom.keystore
com.appdynamics.eum.server.keystore.password=custom.password
Now restart the processor and test the configuration.
Restart the EUM Processor. From the EUEM Processor home directory:
bin/eum.sh stop bin/eum.sh start
Verify the new SSL server cert works by opening the following page in a browser:
https://<eum-processor>:7002/eumcollector/get-version
If you get a successful response, the configuration works.
In 3.9.4 and later, the installer configures an HTTPS listening port with a default keystore for the EUEM Processor. In previous versions, to use HTTPS, you must do two things:
<EUEM_home>/eum-processor/bin/onprem.properties
with a text editor.Make the following edits and additions to the file:
com.appdynamics.eum.server.port.https=<port-number> // the port on the EUEM Processor for HTTPS traffic com.appdynamics.eum.server.httpsProduction=true // enables HTTPS support for production
Save the file.
There are two different ways to accomplish this task.
This is a global mechanism, but it requires restarting the Controller
In the Controller host, open <Controller_home>/appserver/glassfish/domains/domain1/config/domain.xml
with a text editor.
Add the following property:
<jvm-options>-Dappdynamics.controller.eum.beacon.hostNameHttps=<processor host>:<https port></jvm-options>
where <processor host>
is the EUEM Processor hostname and <https port>
is the HTTPS port you configured in the previous step.
This method does not require a Controller restart, but must be done for each application
Instead of using the installer in GUI mode, you can use the silent installer to perform an unattended installation. The silent installer takes a response file as a source for the initial configuration settings. It's useful for scripting installation or performing large scale deployments.
Create a file named response.varfile on the machine on which you will run EUEM installer with the following contents.
#Response file for AppDynamics End User Experience Management 3.9.0.0 # sys.adminRights$Boolean=false euem.httpPort=80 euem.httpsPort=443 euem.Host=<euem_processor_hostname> mysql.databaseRootUser=root sys.languageId=en mysql.databasePort=3388 mysql.dbHostName=localhost sys.installationDir=/AppDynamics/EUEM euem.InstallationMode=demo controller.installationDir=<path_to_controller_home> controller.Host=localhost eumDatabasePassword=<eum_user_password> eumDatabaseReEnterPassword=<eum_user_password> mysqlRootUserPassword=<root_user_password>
Adjust values of the installation parameters based on your own environment and requirements. In particular, modify the directory paths and passwords to match your environment.
The installation mode in the response.varfile above is set to demo mode. For production mode, run the installation with the response.varfile twice, once on the Controller machine and again on the EUEM Processor host:
euem.InstallationMode=production-controller-setup
For the EUEM Processor installation, change the mode to:
euem.InstallationMode=production-eum-setup
Run the installer with the following command:
./euem-installer-64bit-linux.sh -q -varfile response.varfile
On Windows, use:
euem-installer-64bit-windows.bat -q -varfile response.varfile
Start the EUEM Processor as follows:
On Linux, from the eum-processor directory, run the following command to start the production EUEM Processor:
./bin/eum.sh start
If you have not changed the default demo ports from 80 and 443 (available from 3.9.4), you need to run the command as sudo, as follows:
sudo ./bin/eum.sh start
On Windows, start the EUEM Processor by running:
bin\eum-processor.bat start
You can check if the EUEM Processor is running and accessible by going to http://<euem-host>:7001/eumaggregator/ping
with your browser. Your browser should display ping.
To stop the EUEM Processor:
On Linux, from the eum-processor directory, run:
./bin/eum.sh stop
On Windows, from the eum-processor directory, run:
bin\eum-processor.bat stop
The following sections provide troubleshooting information for the EUEM installation.
If end user data does not appear in the Controller, follow these steps to troubleshoot the installation:
If after installation the EUEM Processor fails to start with a EUEM license exception, try installing the license manually.
With the Controller running and accessible to the EUEM Processor machine, install the license manually as follows:
OnPremStore.properties
file, found in the bin directory, and replace **CONTROLLER_PASSWORD**
with the appropriate password.The installer writes most of the configuration settings to the following configuration file:
<EUEM_home>/eum-processor/bin/onprem.properties
After installation is complete, you can edit the file to modify any of the user configurable settings, as described in the comments within the file.
The properties file OnPremStore.properties defines the location of the file store used by EUEM. By default, this storage location is in the EUEM home directory. The data store location can be changed, but it must be a location that is writable by the user starting the EUEM Processor. At startup, the EUEM processor checks that it can write to the file store location
Upgrading the Controller configured for on-premise EUEM may overwrite certain Controller configuration customizations originally applied by the EUEM installer. After you upgrade the Controller version, verify and if needed restore EUEM configuration settings manually.
To verify and restore the EUEM settings in the Controller configuration:
Compare the following JVM options under the java-config element. The domain.xml version should match the one in your backup domain.xml file.
<java-config> ... <jvm-options>-Dappdynamics.controller.eum.cloud.hostName=http://controller.example.com:80</jvm-options> <jvm-options>-Dappdynamics.controller.eum.beacon.hostName=hostname1</jvm-options> </java-config>