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

 

Problem

This page explains what to do when Real User Monitoring (RUM) isn't working in your environment, specifically when there are issues with the RUM JavaScript.

Initial checks

Before performing any troubleshooting, try checking the health check page for your application.

To confirm that your application web frontend process is monitored

  1. In Dynatrace, 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.

Troubleshooting steps

 

RUM data is ending up in wrong application

If RUM data is ending up in the wrong application, make sure that you've correctly configured the application detection rules. For details, see Check application detection rules and Define applications for Real User Monitoring | Application detection rules approach.

 

I don't see my applications or RUM data in Dynatrace

If you don't see any of your applications or RUM data in the Dynatrace web UI, start by confirming that there's traffic in your web frontend Process Groups (web server, Java, Node.js, and more). To do this, interact with one of your application pages to generate some traffic.

Once you've confirmed that your web frontend processes are receiving traffic, follow the steps below to triage 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:

  • _complete.js  – if you're using the  JavaScript tag  snippet format
  • ruxitagent  – for other snippet formats, or
  • your custom monitoring code filename prefix, if you've configured one.

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

An example is shown in the screenshots below.

 

rumverification2-1264-54546918f2

 

rumverification3-1281-503d7ce646

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_.

rumverification6-934-bb2d4554ae

 

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.
rumverification5-1390-b3d8596c92

 

Responses should have the 200 OK status, and the response body should start with OKIf 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.

 

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.

  • 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 RUM JavaScript 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

    • The RUM JavaScript is incorrect.

    • Content Security Policy rules prevent loading of the RUM JavaScript.

    • The RUM JavaScript host https://js-cdn.dynatrace.com isn't reachable for client browsers due to firewall rules or proxy server configuration. Connections to and from the host must be allowed.
  • 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.

  • Rules on firewalls, load balancers, or proxies may need to be adapted. Refer to Firewall constraints for RUM for details.

  • Dynatrace throttled the capture rate of your application.
  • Content Security Policy settings may need to be adapted.

  • Java application server setup may need to be adapted.

  • For agentless monitoring, your browser may not support CORS requests. Data can be reported only via browsers that support CORS.

 

RUM JavaScript isn't executing

Content that is delivered as XHTML (content type application/xhtml+xml) can cause troubles with the injected RUM JavaScript. No CDATA comments (//<![CDATA['...) are injected as XHTML has been deprecated, but this can still cause browsers to not execute the RUM JavaScript. You must manually add the proper CDATA comments for the RUM JavaScript to execute properly.

 

After setting up OneAgent for Real User Monitoring, my application isn't working

In rare circumstances, the RUM JavaScript injected into your application pages can have an adverse impact on the application functionality. For this reason, following installation of OneAgent, confirm that your application pages still render properly. If some of your application pages appear to be corrupted, disable RUM and contact a Dynatrace product expert via live chat within your Dynatrace environment.

To help Dynatrace product experts narrow down the issue, you can start with the following initial troubleshooting steps.

Check if the application works if the RUM JavaScript is not loaded and executed. To do this, block the request using either Fiddler or Chrome DevTools.

  1. In Chrome DevTools, go to the Network tab.

  2. Select More () > Network request blocking.

  3. Select Enable network request blocking, and then enter part of the URL of the RUM JavaScript, for example, ruxitagent. Note that this does not work for the inlined RUM JavaScript.
    rum-troubleshoot-cors-requestblockingchrome-1455-2cb3ad0e75

If the application doesn't work with the RUM JavaScript disabled, the problem is likely in the application or caused by OneAgent. However, if the application works after disabling the RUM JavaScript, re-enable the RUM JavaScript but disable all modules. Try enabling modules one at a time until the application does not work anymore. Use this information when contacting Dynatrace product experts, as it helps to narrow down the problem to a certain module.

 

What's Next?

If you continue to see the unexpected behavior after completing all the troubleshooting above, please contact Dynatrace on the in-product chat/ create ticket. 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:
‎11 Jul 2025 08:16 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