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

PRO TIP - RUM injection check tips

Julius_Loman
DynaMight Legend
DynaMight Legend

Sometimes you might encounter issues with RUM injection by OneAgent. This may have different reasons. 

Use the dtHealthCheck as the user-agent header in your request to validate the injection. For example:

 

curl --user-agent "dtHealthCheck" https://your.site -v -o /dev/null

 


Then check the response headers. It should contain the x-dthealthcheck headers such as:

 

x-dthealthcheck: OK|0xd75620e4e0330b23
x-dthealthcheck: ALREADY_INJECTED_HEADER_FOUND|0xea94eb939e4beabd

 

These contain useful information - if the injection was tried and what was the result. In this example, RUM was injected by an application server and also tried on the webserver, but it was already injected.

A lot of RUM injection errors can be diagnosed this way. 

If you are still not successful with the RUM JavaScript injection, check:

  • if the agent is deployed and application processes restarted
  • if you have remaining DEM licenses in your environment as injection won't happen if there are no remaining DEM licenses
  • check your application detection rules in Settings > Web and mobile monitoring > Application detection and check if the application URL resolves to the desired application in Dynatrace
  • check if the Application in Dynatrace is enabled
  • check if injection for the process groups where it should happen is enabled
  • some Java web frameworks (ZK framework for example) already produce compressed output and Dynatrace is unable to inject there. You can try to issue the request without Accept-Encoding header and check if the injection is performed or not. 
  • Some built-in Java webservers such as undertow in certain combinations have issues with injection. Try setting the Deep Monitoring flag  "Java Real user monitoring v2" for the process groups.
Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner
4 REPLIES 4

ChadTurner
DynaMight Legend
DynaMight Legend

Great Pro Tip @Julius_Loman!

-Chad

AntonioSousa
DynaMight Guru
DynaMight Guru

@Julius_Loman,

When I have a RUM injection issue, I always follow your checklist and what was shown in https://community.dynatrace.com/t5/Videos/Dynatrace-Tips-amp-Tricks-Episode-2-with-Julius-Loman/m-p/...

Just want to contribute something mind-boggling that happened to me in the last days, as it might happen to others:

  • ruxitagentjs was being injected in the HTML correctly, with application id, endpoint, etc.
  • ruxitagentjs was being downloaded from the server with an HTTP/200
  • rb_* were not being sent back to the server

Everything seemed to be OK. It was only when I got an HAR of the tests that it was clear to me: the ruxitagentjs being sent was an HTML page, and not Javascript! The request was being intercepted by an ISAPI filter that was rewriting it below the OneAgent level 🤣

So, if it seems to be downloading OK, but it doesn't work, please check if the ruxitagentjs is really the Dynatrace RUM Javascript code...

Antonio Sousa

AntonioSousa
DynaMight Guru
DynaMight Guru

@Julius_Loman,

I have tried to interpret what the hex values that end the dtHealthCheck headers are, but no luck. They don't seem to be IDs for Hosts, PGIs, PGs, Services or Applications. Any idea?

Antonio Sousa

@AntonioSousa these are code module IDs. I think it's visible if you download the support archive, but I'm not sure how to find them in the UI without DebugUI access. 

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

Featured Posts