Download PDF
Download page Configure the EUM Server.
Configure the EUM Server
This page describes administration and advanced configuration options for the EUM Server.
Configure Data Store Expiration
As part of the Analytics functionality used by EUM, the Server stores some data, like crash reports and resource snapshots, in a local blob store. The default setting of 30 days, but you can change the storage period to be longer or shorter by following these steps:
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. - Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.sample.properties
with a text editor. - Copy the
onprem.crashReportExpirationDays
property and theonprem.resourceSnapshotExpirationDays
property from the sample file intoeum.properties
and set it to whatever value you wish. The unit is days. - Restart the Server.
Set the Maximum Length of Page URLs Read From Beacons
By default, after the EUM Collector receives beacons, the EUM Processor will only read 512 characters of page URLs contained in the beacon. If the page URL exceeds 512 characters, the EUM Processor will truncate the page URL. You can configure the EUM Processor to read a longer page URL with the configuration beaconReader.maxUrlLength
. The maximum length that can be set is 2048, which is imposed by the JavaScript Agent creating the beacon.
To change the maximum length of the page URL read by the EUM Processor:
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. Add the property
beaconReader.maxUrlLength
to the desired length (maximum is 2048):beaconReader.maxUrlLength=<max_length>
BASH- Restart the Server.
Update the EUM Server's Geo Server
The on-prem EUM Server ships with Neustar's IP GeoPoint database for managing the geolocation of IP addresses. You can get daily updates of the Neustar IP GeoPoint from the AppDynamics download site.
To keep your version of the database current, you need to update your copy of the database manually:
- From the AppDynamics download site, search for and download the Neustar data file (neustar.dat).
- Replace
neustar.dat
in$APPDYNAMICS_HOME/EUM/eum-processor/bin
. - In the
$APPDYNAMICS_HOME/EUM/eum-processor.log
, verify that the new data file has been loaded. Update the JVM's
-Xmx
option in the$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum-processor-launcher.vmoptions
file.Increase the JVM max memory (-Xmx) for the Server by at least 800M.
- From the AppDynamics download site, search for and download the Neustar data file (neustar.dat).
- Replace
neustar.dat
in$APPDYNAMICS_HOME\EUM\eum-processor\bin
. - In the
$APPDYNAMICS_HOME\EUM\eum-processor.log
, verify that the new data file has been loaded. Update the JVM's -Xmx option in the
$APPDYNAMICS_HOME\EUM\eum-processor\bin\eum-processor-launcher.vmoptions
file.Increase the JVM max memory (-Xmx) for the Server by at least 800M.
Configure the Port for the EUM Agent
The on-prem EUM Server by default uses the same port to collect data from the EUM agent and to send data through the API server to the Controller. You can configure the EUM Server to use a different port to collect data from the EUM agent by following the instructions below.
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. Add the following lines to
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
, replacing<PORT>
with the port you want the EUM server to listen to.processorServer.collectorHttpPort=<PORT> processorServer.collectorHttpsPort=<PORT>
TEXT- Restart the EUM Server.
From the Controller Admin UI, change the ports for the properties
eum.beacon.host
,eum.beacon.https.host
,eum.cloud.host
, andeum.mobile.screenshot.host
so that they are the same as those assigned toprocessorServer.collectorHttpPort
andprocessorServer.collectorHttpsPort
. This allows the beacon to communicate with the collector.
For example, if you setprocessorServer.collectorHttpPort=7050
andprocessServer.collectorHttpsPort=7051
, you would then set the ports for the propertieseum.beacon.host
andeum.mobile.screenshot.host
to7050
for HTTP andeum.beacon.https.host
to7051
for HTTPS as shown below:
Limit the Number of EUM Snapshots
When an application has a high number of Ajax requests per page, the EUM Server retains a large number of snapshots that can include base, virtual, and Ajax pages as well as iFrames. You can limit the number of snapshots retained by the EUM server by setting a global maximum, reducing the time that they are retained, or by filtering snapshots based on the network response time.
Setting the Global Limit for Snapshots
You set the global limit on the number of snapshots to be retained per minute with the configuration browserBeaconSampling.maxSamples
. The default value is 1000
. Once the limit is reached, all snapshots will be dropped indiscriminately. The limit can be globally configured through the eum.properties
file.
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. Add the following line to
eum.properties
, replacing<global_limit>
with the global maximum number of snapshots to retain.browserBeaconSampling.maxSamples = <global_limit>
CODE- Restart the EUM Server.
Reduce the Lifespan of Event Snapshots
Another way to limit the number of EUM snapshots is to reduce the number of days that the event snapshots are retained. Event snapshots only apply to the crash reports, code issues, and IoT errors and are stored in the local blob store: $APPDYNAMICS_HOME/EUM/eum-processor/store
By default, the EUM Server retains the event snapshots for 90 days. If your Events Service retains events for fewer days (e.g., 14 days), you can safely change the EUM Server's retention period to be the same as the Events Service's retention period. If the EUM Server retains the event snapshots for fewer days than the Events Service, however, you may run into errors when viewing older events in the Controller UI.
When reducing the lifespan of event snapshots, you are not modifying the retention period of the Controller or the Events Service.
Setting the Lifespan for the Event Snapshots
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. Add the following line to
eum.properties,
replacing<no_of_days>
with the number of days that you'd like to retain the event snapshots. The default is 90.eventSnapshotStore.lifespanInDays = <no_of_days>
CODERestart the EUM Server.
Filtering Snapshots Based on the Network Response Time
You set a threshold that filters the snapshots based on the network response time. If the network response time is at or below the configured threshold, the snapshot is then retained. You set the threshold with the configuration browserBeaconSampling.hierarchyAwareSamplerPageUXThreshold
.
Below are the supported threshold values and the snapshots that would be retained. The default value is Slow
.
Normal
- Using this threshold value will retain all snapshots.Slow
- Using this threshold value will retain snapshots having a network response time of slow, very slow, and stalled.
Setting the Threshold for the Network Response Time
- Open
$APPDYNAMICS_HOME/EUM/eum-processor/bin/eum.properties
with a text editor. Add the following line to
eum.properties
, replacing<threshold>
with one of the supported thresholds (Normal
orSlow
) for retaining snapshots.browserBeaconSampling.hierarchyAwareSamplerPageUXThreshold = "<threshold>"
CODERestart the EUM Server.
Turn On Access Logs
By default, server access logging for the EUM Server's underlying application server is turned off. To turn it on, open $APPDYNAMICS_HOME/EUM/
eum-processor/conf/local-eum-processor.yml
with a text editor and find the following section under the server
entry:
requestLog:
appenders: []
Add the following information:
requestLog:
timeZone: UTC
appenders:
- type: file
archive: true
currentLogFilename: ../logs/access.log
archivedLogFilenamePattern: ../log/accedd-%d.log.gz
Save the file and restart the EUM Server.
EUM Server Configuration File
You can configure the EUM Server by setting properties in the file $APPDYNAMICS_HOME/EUM
/eum-processor/bin/eum.properties
. You are recommended to copy the reference sample file $APPDYNAMICS_HOME/EUM
/eum-processor
/bin/eum.sample.properties
to $APPDYNAMICS_HOME/EUM
/eum-processor
/bin/eum.properties,
modify the settings to fit your needs, and then restart the EUM Server so that the new settings are applied.
The table below lists and describes the supported EUM properties, lists defaults, and specifies whether the property is required. The values for the database properties must conform with the MySQL syntax rules given in Schema Object Names.
EUM Property | Default | Required? | Description |
---|---|---|---|
|
| Yes | The name of the database host. |
| 3388 | Yes | The port to the database host. |
| eum_db | Yes | The name of the EUM database. |
| eum_user | Yes | The user name for the EUM database. |
| N/A | Yes | The user password to the EUM database. The password can consist of any ASCII character except the characters '^', '/', or '$'. |
onprem.eventSnapshotDiskAllowance | -1 | No | The maximum disk space allotted for storing event snapshots. The default value of -1 allots unlimited disk space to store event snapshots. You can specify a positive integer representing the maximum number of bytes for storing event snapshots. |
| ../store | No | The path to the directory storing EUM data such as snapshots. |
| 365 | No | The number of days that crash reports are retained. |
onprem.resourceSnapshotExpirationDays | 15 | No | The number of days that resource snapshots are retained. |
| 21474836480 (20 GB) | No | The maximum disk space allotted for storing resource snapshots. The default maximum disk space is 20 GB or 21474836480 bytes. You can specify a positive integer representing the maximum number of bytes for storing resource snapshots. |
| 7001 | No | The HTTP port to the EUM Processor. The EUM Processor runs in one process containing the collector, aggregator, crash-processor, and monitor services. |
| 7002 | No | The HTTPS port to the EUM Processor. |
| true | No | The flag for turning enabling (true) or disabling HTTPS to the EUM Processor. |
| N/A | No | The password to the Key Store for the EUM Processor. |
| bin/ssugg.keystore | No | The path to the file that stores the password to the Key Store for the EUM Processor. |
| 7001 | No | The HTTP port of the EUM Collector. By default, the EUM Collector shares the same port as the EUM Processor, but you can configure the port to be different. The EUM Collector receives the metrics sent from the JavaScript agent. |
| 7002 | No | The HTTPS port of the EUM Collector. |
| true | Yes | The flag for enabling or disabling the Analytics Server. |
| http | No | The network protocol for connecting to the Analytics Server. It is only required with analytics.enabled=true . |
| events.service.hostname | No | The hostname of the Analytics Server. It is only required with analytics.enabled=true . |
| 9080 | No | The port to the Analytics Server. It is only required when analytics.enabled=true . |
analytics.accountAccessKey | access-key | No | The access key for connecting to the Analytics Server. It is only required with analytics.enabled=true . |
analytics.eventTypeLifeSpan.0.eventType | BrowserRecord | No | The type of event to be saved. The following values are supported:
If this property is set, you must also set |
analytics.eventTypeLifeSpan.0.lifeSpan | 8 | No | The number of days to retain the event records specified by |
analytics.eventTypeLifeSpan.1.eventType | MobileSnapshot | No | The type of event to be saved. The following values are supported:
If this property is set, you must also set |
analytics.eventTypeLifeSpan.1.lifeSpan | 8 | No | The number of days to retain the event records specified by |
analytics.eventTypeLifeSpan.2.eventType |
| No | The type of event to be saved. The following values are supported:
If this property is set, you also must set |
analytics.eventTypeLifeSpan.2.lifeSpan | 8 | No | The number of days to retain the event records specified by analytics.eventTypeLifeSpan.2.eventType . If this property is set, you must also set analytics.eventTypeLifeSpan.2.eventType . |
analytics.eventTypeLifeSpan.3.eventType | MobileSessionRecord | No | The type of event to be saved. The following values are supported:
If this property is set, you also must set |
analytics.eventTypeLifeSpan.3.lifeSpan | 8 | The number of days to retain the event records specified by analytics.eventTypeLifeSpan.3.eventType . If this property is set, you must also set analytics.eventTypeLifeSpan.3.eventType . | |
onprem.mobileAppBuildTimeSeriesRequestCountRollupDays | 7 | No | The EUM Collector searches for the dSYM file in the beacon traffic for the configured number of days. If the dSYM file is not present during the configured time frame, a warning message is displayed in the Controller UI. |
onprem.maxNumberOfMobileBuildsWithoutDsym | 10 | No | The maximum number of visible missing dSYM files in the Controller UI. |
collection.sessionEnabled | true | No | The flag for enabling or disabling browser/mobile session collection. If you are upgrading the EUM Server from versions 4.2 and lower to 4.3 or higher, the default is false . |
collection.accessControlAllowOrigins.{n} | * | No | By default, the EUM Collector responds with You can limit CORS to certain domains by using an integer property assigned to a URL as in the following:
|
eventSnapshotStore.lifespanInDays | 90 | No | The number of days that the event snapshots stored in the EUM Server's local blob store ( |
sessionization.webSessionRetentionMins | 5 | No | The number of minutes that browser sessions are retained after they are closed. This allows browser sessions that begin and end at different times to be retained. The longer the configured retention time, the larger the number of closed sessions held in memory, resulting in higher memory usage. |
sessionization.mobileSessionRetentionMins | 5 | No | The number of minutes that mobile sessions are retained after they are closed. This enables mobile sessions that begin and end at different times to be retained. The longer the configured retention time, the larger the number of closed sessions held in memory, resulting in higher memory usage. |
throttling.resourceSnapshot.maxTotalPerMinPerAccount | 1000 | No | The maximum number of total resource snapshots retained each minute for an account. |
throttling.resourceSnapshot.maxNormalPerMinPerAccount | 800 | No | The maximum number of resource snapshots of pages with a "Normal" user experience that are retained each minute for an account. In general, you want the number for this property to be smaller than that for throttling.resourceSnapshot.maxTotalPerMinPerAccount , so you can also retain resource snapshots of pages with a "Slow", "Very Slow", or "Stall" user experience. |
throttling.session.maxTrackedSessionsPerAccount | 50000 | No | The maximum number of active sessions and unexpired closed sessions that are stored in memory for an account. When the maximum is reached, events that create new sessions will be dropped. This setting helps to control the memory used for sessions at the account level. |
From EUM Server version 4.5.1 and later, the property crashProcessing.sessionEnabled
is no longer supported. Instead, the association of crashes with sessions is enabled by default. If you are using an earlier version (<4.5.1) of the EUM Server and want to upgrade to 4.5.1 or higher, you will need to remove the property crashProcessing.sessionEnabled
from the eum.properties
file to prevent the EUM Server from throwing errors.