cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
maliborskaya
Dynatrace Advisor
Dynatrace Advisor

The problem

 

After successfully setting up Real User Monitoring (RUM) for your web application, you should begin to see RUM data appear in your Dynatrace environment. If no data is being captured, this guide will help you identify and resolve potential issues.

💡 Tip: Before diving into the troubleshooting steps, check whether the Application Health Check reports any issues for your application.

 

Triage

 

If you're not seeing any RUM data for your application in the Dynatrace web UI, start by verifying that it is receiving traffic. Interact with your application pages to generate user activity.

Once you've confirmed that traffic is flowing to your application, proceed with the steps below.

 

Check if RUM data is ending up in the wrong application

 

Check whether the captured RUM data is being assigned to a different application than expected. A common scenario is that the data ends up in the fallback application named My web application.

If this applies to your case, follow the steps outlined in RUM data is assigned to a different application than expected to resolve the issue.

 

Confirm that the RUM JavaScript has been injected

 

Load one of your pages, inspect its source in a web browser, and make sure that the <HEAD> element contains a reference to the RUM JavaScript. To identify the RUM JavaScript, proceed as follows.

Automatic injection

Different snippet formats are available for automatic injection. A common characteristic among them is the presence of the string data-dtconfig, either as an attribute or embedded within the code. To verify that the RUM JavaScript has been injected, look for a script element that includes this string.

If you don't see the RUM JavaScript automatically injected by OneAgent into your webpages, check RUM JavaScript isn't injected.

Agentless monitoring

If you're using the snippet format JavaScript tag, search for a script that ends with the string _complete.js and is loaded from js-cdn.dynatrace.com or, in case of Managed, your own CDN. If you use Dynatrace Managed and have not set up your own CDN yet, the script is loaded from a domain in Dynatrace Managed.

If you are using one of the other snippet formats, the string data-dtconfig should be present, either as an attribute or embedded within the code.

If you don't see the RUM JavaScript manually inserted into your webpages, refer to Set up agentless Real User Monitoring.

If you are using the snippet format code snippet and want to check if the second script element containing the full functionality of the monitoring code has been injected successfully, open the Elements tab in the Chrome DevTools and search for an id attribute that contains dtjsagent or dtjsagentdw.

 

Confirm the successful download of the RUM JavaScript

 

The Dynatrace RUM JavaScript is downloaded along with the other resources of your web page. To confirm that the download was successful, open the Network tab in your browser’s developer tools. Look for a request URL that contains one of the following strings:

The response should have a 200 OK status and the body should contain JavaScript code.

An example is shown in the screenshots below.

rum_javascript_download_1.pngrum_javascript_download_2.png

If the RUM JavaScript hasn't downloaded correctly, refer to RUM JavaScript isn't downloadable.

 

Confirm the successful initialization of the RUM JavaScript

 

To check if the RUM JavaScript has initialized successfully on your page, check whether the dT_ JavaScript object exists. Open your browser developer console, enter dT_, and press Enter. As a result, an object should be returned. Otherwise, you will find logs in the browser console that help you identify the issue.

rum_javascript_initialization_verification.png

Confirm that RUM data is being sent to Dynatrace

 

The RUM JavaScript sends the captured data as beacon requests—which are HTTP POST requests—to a designated beacon endpoint.

  • For automatic injection, the beacon endpoint is, by default, provided by the OneAgent that instruments your application.
  • For agentless monitoring, the beacon endpoint is, by default, provided by a Cluster ActiveGate.

Alternative configurations are possible, see Configure beacon endpoint for web applications.

You can check these requests in the Network tab of your browser's developer tools.

If the beacon requests are handled by OneAgent, look for requests with a URL where the path begins with rb_.

rum_beacon_oneagent.png

If a Cluster ActiveGate is used, you can identify beacon requests as follows:

  • If you are using Dynatrace SaaS, beacon requests go to Dynatrace, and their URL path begins with bf.
  • If you are using Dynatrace Managed, the requests are directed to a domain in Dynatrace Managed, and their URL path begins with bf.

rum_beacon_activegate.png

Responses should have the 200 OK status, and the response body should start with OK. If the response body starts with FL, the RUM beacon was rejected and not forwarded to the server. The response contains additional information about the problem. For further details, check RUM JavaScript doesn't report data to server.

 

Common issues

 

This section provides guidance on how to further troubleshoot the issues identified during the triage process above.

 

RUM JavaScript isn't injected

 

If you don't see the RUM JavaScript automatically injected by OneAgent into your webpages, it's probably because of one of the following reasons.

  • Your application web frontend process is not monitored. You can verify this as follows:

    1. Go to Settings > Monitoring > Monitoring overview.
    2. Switch to the Process groups tab and search for the required process group. All monitored processes are listed on this page.
  • Dynatrace OneAgent could not identify the content as HTML or canceled the injection attempt due to an invalid HTML structure or incorrect encodings. Make sure that you're using well-formed HTML with opening and closing tags for <HTML> and <HEAD>. See Configure automatic injection to learn how OneAgent injects the RUM JavaScript into your application.

  • The request maps to a different application than expected because application detection was set up incorrectly. Either the pattern is incorrect, or the associated web servers operate behind proxies or other components that are rewriting the URL. For details, see What can I do if an uninstrumented component rewrites parts of the URL?.

  • The application that is detected by OneAgent on the first instrumented tier is not propagated to subsequent OneAgents because the x-dynatrace-application header is removed by a firewall or proxy.

  • You have defined exclusion rules for browsers, robots, and spiders.

 

RUM JavaScript isn't downloadable

 

If you see that the RUM JavaScript isn't downloadable, there might be a few reasons for that.

For agentless monitoring

For automatic injection on web servers

  • Rules on firewalls, load balancers, or proxies aren't configured to allow RUM JavaScript download. Refer to Firewall constraints for RUM for details.

For automatic injection on Java application servers

  • Root application doesn't exist. The RUM JavaScript is usually loaded from the web server root path (.../ruxitagentjs_...).
  • Your Java application server serves static content in a way that doesn't use the servlet stack. In such cases, the RUM JavaScript can't be downloaded.

To resolve a JavaScript download issue caused by a missing root application, configure an accessible path (for example, a valid servlet path) as described in Modify the monitoring code URL path.

 

RUM JavaScript doesn't report data to server

 

If you see that the RUM beacons are rejected and not forwarded to the server, there might be several reasons for that.

 

What's Next?

 

If you're still not seeing any RUM data for your application after completing the troubleshooting steps above, please reach out to Dynatrace via the in-product chat or by creating a support ticket for further assistance. Provide the following information:

  • Link to the RUM application in Dynatrace,
  • Link to the related Service(s) or Process Group(s) in Dynatrace,
  • State the issue and the troubleshooting that you have completed,
  • Link to the application being monitored with steps to reproduce the issue.
    • If the application is not publicly available, provide a HAR file
Version history
Last update:
‎22 Sep 2025 07:59 AM
Updated by:
Comments
Kenny_Gillette
DynaMight Leader
DynaMight Leader

Wow, great doc!  Definitely saving this.

Taylor-Sanchez
Dynatrace Mentor
Dynatrace Mentor

This is a wonderful reference! Thanks for taking the time to write something like this up - I'm sure a lot of people will find it useful when troubleshooting!

GerardJ
Mentor

Really great work! Many thanks to you

AlvinPeterson
Participant

Great stuff here!  Thank you!

tijust1
Advisor

Very helpful.

Amarnadh_Sunkar
Frequent Guest

Hi ,

 

Dynatrace Java script is not injecting for me , we have akamai and another webser , what is the trouble shooting that i can do. 

 

erh_inetum
Champion

Hi @Amarnadh_Sunkar ,

We had the same situation and we solved it configurating the application as agentless. Here you have the documentation.

Hope it helps.

Regards,

Elena.

Amarnadh_Sunkar
Frequent Guest

Thanks Elena,

 

I am trying in agentless , do you have any time to connect for 30 minutes.

lekpamartin
Visitor

Very helpful

Doaa_Sobhy
Helper

Thank you for that great efforts