This document will guide you through troubleshooting common issues in the setup of your Web EUM product. But first it may be useful to visualize the end to end flow of data:
If you do not see the EUM data that you expect, use these suggestions to try to correct the problem.
You do not have a EUM license key
The EUM license is separate from the Controller license.
Call your AppDynamics sales representative or email email@example.com to obtain an Web EUM license key for your AppDynamics account.
The EUM license key is included as part of the overall license file, but the license itself is still a separate item that is provisioned separately.
Controllers cannot share an EUM license key, but applications can.
EUM works correctly in test environment, but problems arise on moving to Production
If you are running more than one Controller, each instance requires its own license. Make sure you are not trying to use the same license on more than one Controller.
Web EUM Metrics Not Reported
These steps provide a high-level overview to checking your Web EUM setup.
1. Make sure there is load running on your app for the pages that you want to monitor for the selected time period.
2. Make sure that Web EUM is enabled for the app. Enable EUM if it is disabled.
See Enable and Disable Web EUM.
3. Examine the source of your web page to ensure that the pages that you want to monitor are instrumented.
4. Make sure there is connectivity from the browser to the EUM cloud. See Connection Problems for information about troubleshooting connectivity.
5. Examine your instrumented application to verify that:
- the EUM beacon (adrum.gif) is loaded and its status is OK (200).
kyparameter in the beacon is set to your application key.
You can use the Developer Tools for your web browser to examine your application. The Network tab shows the agent extension and status.
adrum-ext agent extension file or the
adrum-gif file from the web beacon are not present or the status is not valid, verify your EUM configuration. See Set Up and Configure Web EUM.
If your browser cannot connect to the AppDynamics EUM cloud and you use an on-premise controller it is possible that:
- you have no Internet connectivity.
- a firewall is blocking the port.
- the keystore does not trust the cert.
To verify connectivity
Run the following command from your browser:
If you get a "ping" in the window, you should be able to connect to the EUM cloud.
If you are using IE on a Windows system, make sure the browser itself does not have a proxy (with authentication) set up. If it does, the test link may work but not the actual connection.
Make sure you have also unblocked any firewalls and verified the keystore entries as described below. If you are still having issues, contact AppDynamics Support.
Unblocking a Firewall
The controller needs to be able to use HTTP over SSL (HTTPS) on port 443 to reach the EUM cloud aggregator at
If your controller is behind a firewall, you can either open your controller's firewall or use a forward proxy.
To open the firewall, see the instructions specific to your firewall.
You only need to open the firewall for the specific host and and port (agg.eum-appdynamics.com on 443), not for the entire *.eum-appdynamics.com domain.
To use a forward proxy
1. Set up an HTTP proxy to
This is a cleartext/pass-through proxy. Authentication is not supported on the first level. If the client network itself requires authentication you must set up an intermediate proxy between your controller and this proxy to pass on the credentials you need to get out of your network.
2. Configure the HTTP proxy host and port in the
See Configure Controller HTTP Proxy Settings for details about configuring the proxy.
3. Restart the controller's app server.
Verifying the Keystore Entries
You need a valid trusted cert entry for the EUM aggregator and a private key entry for the Glassfish server instance underlying the controller.
To verify the keystore
1. Open a command prompt in the controller's glassfish directory,
2. Run the keytool command:
2. Enter the keystore password.
Your keystore entries are displayed.
Your keystore should include a trusted certificate entry for "agg_appdynamics" and private key entries for "eum_client" and "glassfish-instance" that look something like this:
If you do not have these entries, you need to create the certificate. Contact your System Administrator or AppDynamics Support for information on how to do this.
When manual injection is used, you will see:
If the agent is not there:
1. If you used manual injection, use the normal procedures that you use to verify other types of code changes in your web pages. Keep in mind that various caches, such as the server page, CDN or browser caches, can prevent the page from actually being reloaded. If you cannot get manual injection to work, try one of the other injection schemes if they are available for your platform. See Set Up Your Application for Web EUM for information about the various injection strategies.
Also verify that automatic injection is enabled for all of the business transactions that you want to monitor. If some of those business transactions are in the Automatic injection possible, but not enabled list, move them to the Automatic injection enabled list. If the business transaction that you want to monitor does not appear in either list, automatic injection is not possible for that business transaction.
For applications built on .NET, automatic injection is available for ASP.NET and ASPX frameworks.
To change an injection strategy
- To undo assisted injection using injection rules, clear the Enable check box for each injection rule in the injection rules list.
If multiple copies of the agent exist on a page, the second copy does not execute.
Some Pages Not Monitored
It the agent has been injected, the page may have been excluded from monitoring by custom exclude rules, You can check and modify these rules. To access custom exclude rules for pages:
1. In the left navigation pane click Configure->Instrumentation.
2. Click the End User Experience subtab.
3. Click the Web Page Naming, Error Detection, Thresholds, etc. sub-tab.
4. Expand Configure how Pages, Ajax Requests, and iframes will be named if it is closed.
5. Scroll down to the Custom Exclude Rules list.
If there are any custom exclude rules, they are listed here.
6. To examine and/or modify a custom exclude rule select it in the list and click the Pencil icon.
If you want to remove a custom exclude rule, select it in the list and click the Minus icon.
Errors Not Reported
Browser Snapshot Problems
No Browser Snapshots
If you do not see any browser snapshots, it is possible that browser snapshot collection has been disabled. If periodic collection and error collection and slow collection are all disabled, the agent does not collect any browser snapshots. See Configure Browser Snapshot Collection.
Also check the thresholds for that define slow end user experience. AppDynamics collects browser snapshots only for slow-performing requests, so if the thresholds are set too high, no requests are flagged as slow. See Configure EUM Browser Snapshot Thresholds.
No Correlation between Browser Snapshots and Business Transactions
You get server-side correlation with browser snapshots only if the business transactions associated with the browser snapshot are running on application servers instrumented with AppDynamics app agents. This could explain why you do not see any or do not see all of the business transactions that you expect to see. Check which of your servers are instrumented by app agents and which are not. You may need to get more AppDynamics app agent licenses to get correlation.
No Transaction Snapshots Associated with Browser Snapshots
Even if all your app servers are instrumented with AppDynamics app agents, it is possible that no associated transaction snapshots were captured at the time of the browser snapshot. For example, if no transactions were slow at the time of the browser snapshot, you probably will not see any transaction snapshots. See Transaction Snapshots for information about when transaction snapshots are captured. You can modify transaction snapshot capture. See Configure Transaction Snapshots.
On the browser side, if a browser snapshot is associated with a transaction snapshot, you will see it in the Transaction Snapshots section of the browser snapshots. See Business Transactions in Browser Snapshots. On the server side, if a transaction snapshot is associated with a browser snapshot, you will see an EUM GUID in the ADDITIONAL DATA tab in the transaction snapshot. See Transaction Snapshots.
Not Getting Full Timing Data for Business Transactions Associated with Browser Snapshots