Why don't I see my applications or monitoring data?

To confirm that your application's web front-end process is monitored, go to Settings > Monitoring overview > Processes, and search for the process. All monitored processes are listed on this page.

If you don't see any of your applications or Real User Monitoring data in Dynatrace, the first thing you need to do is confirm that there is traffic in your web front-end processes (web server, Java, Node.js, etc). To do this, interact with one of your applications' pages to generate some traffic.

Once you're certain that your web front-end processes have traffic on them, check the following to determine the cause of the problem:

  • Confirm that the RUM JavaScript has been correctly injected into your application's HTML.
  • Confirm that the RUM JavaScript has downloaded correctly.
  • Confirm that RUM monitoring data is being sent to Dynatrace.

See the expandable sections below for details on confirming these points.

In rare circumstances, the Dynatrace RUM JavaScript that's injected into each application page can have an adverse impact on application functionality. For this reason, following installation of OneAgent, confirm that your application's pages still render properly. If some of your application's pages appear to be corrupted, disable monitoring and contact a Dynatrace ONE product specialist by clicking the chat button in the upper-right corner of the Dynatrace menu bar.

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

  • The defined application detection pattern is incorrect.
  • Rules on firewalls, load balancers, or proxies aren't configured properly. For more details, see firewall constraints for RUM.
  • Dynatrace OneAgent aborted the injection due to an invalid HTML structure or wrong encodings. Learn how OneAgent injects the RUM JavaScript into your application.
  • You might have defined exclusion rules for browsers, robots, and spiders.
  • If the injections fails only for a single session, Dynatrace might have throttled the capture rate of your application.
  • Dynatrace OneAgent can't automatically detect the host name of your web application, because the associated web servers operate behind firewalls or proxies that are using different host names.

To resolve JavaScript injection issues related to request header problems

  1. In the Dynatrace menu, go to Settings > Web and mobile monitoring > Application detection.

  2. Under Application detection rules, check your previously defined application detection pattern and verify that it's correct.

  3. Investigate the headers that are used by uninstrumented components such as reverse proxies and load balancers and make sure the original host name requested by the client (i.e., your users) is passed correctly.

    For instance, when the original host name requested was www.mydomain.com, and your uninstrumented component forwarded the request to the internal host server123.domainname.internal, then it has to add a request header that passes on the original host name, for example X-Forwarded-Host.

  4. Scroll down to Identify external host names based on HTTP request headers, and check the listed headers. Different request headers can be used for the purpose of detecting host names, so you might have to specify the names of the request headers that your application uses so that OneAgent can identify them. Listed request headers are processed sequentially, with the ones at the top of the list taking priority.
    For instance, if your proxy server uses the X-Host request header, you may want swap priority with X-Forwarded-Host header.