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

Setup a node js agent: missing UEM useraction data (resolved)

Hello,

I try to monitor a website which is running into nodejs on a local dynatrace debian environment. Eventually the goal is to setup a heat map on top of the UEM data. Up to now i only have managed to receive purepaths with limited data. (added PP to attach). I don't see any PP user action clicks.

Already Executed steps

The node.js agent has been unzipped into the dynatrace home directory. The agent folder contains the node js folder. Added the generated snippet to the server.js file. The nodejs server seems to start correctly (added the startup logging in a attach zip). The dynatrace rich client agent overview shows us a running node js agent. The collector is also up and running. The monitoring profile contains a agent group 'Node.js_Monitoring' (profile added to attach in a zip). UEM health check succeeds.

Question1

I can only see PP's while no user action PP's are present, are there still missing configurations?

Question 2

(I try to understand UEM better), is it also possible to correct below where needed, thx

ASP.NET IIS UEM

A dynatrace web server agent is needed, add a web server dll as a module to IIS, configure the java script agent name and monitor request name UEM profile settings. Activate the automatic injection option. If a website connects to the IIS web server it receives a javascript file, this one is injected into the html. The javascript code collects UEM data en does a POST to the monitor request signal IIS url. It is also possible to configure extra settings like bandwith, ... (manage captured content) in the UEM profile section.

Apache web server

Same principle as above.

Rich client ADK

Integrated rich client code (C#, java, ...) will POST UEM data to the monitor request name url.

Nodejs webserver

We have imported a nodejsagent.js file in the server.js. I assume that this file will be injected in the html page when a user uses our website, however with the firefox inspector i cannot find the nodejsagent file. Is I can acces the monitor request url that will be used to POST the collected UEM data.

Thx

----------

Snippet:

try { require('/home/debian/Install/dynatrace-6.3/agent/nodejs/nodejsagent.js')({ server: 'http://debian:8042', agentName: 'Node.js_Monitoring' }); } catch (err) { console.error(err.toString()); }

7 REPLIES 7

daniel_khan
Advisor

The session shows correct PPs starting from the Node.js application. So Node.js was configured correctly.

nodejsagent.js has nothing to do with UEM and will not be injected into any HTML (Node is a server side technology and is not related to client side JavaScript).

To use UEM this has to be activated and configured for a system profile.
Please refer to the UEM documentation for more information on how to set this up.

Hello Daniel, Thx for the response.

I checked the UEM settings

--> the user expierence sensor configuration has the automatic injection on active

--> the profile User experience settings (global settings): javascript agent name: dtagent,

monitor request name: dynaTraceMonitor.

--> the profile User experience settings (default application): agent location & monitor request path

= empty.

Is it correct that with these settings the 'dtagent627...js' should be injected?

(By using the firefox inspector i cannot see the .js file. )

I have a http response on the url 'http:\\url\dynatraceMonitor'

Thx

Hi Steven, is there a webserver (iis/ihs/nginx/...) in front of node.js? In which case consider installing the web server agent and instrumenting it. UEM will then be handled by the web server agent.

Hello Srikar,

The nodejs server hosts my website. There nothing in front of it (example load balancing).

Regards

Created a ticket for this, the monitor signal is accessible but no javascript file is injected.

Regards

Hello,

The issue is resolved, we need to add below into the agent/nodejs/nodejsagent.json.

Thx to Jarek for the info.

Regards


debugInjectionActiveNodeJS": {
"value": true,
"desc": "(de-)activate UEM injection"
}

Thanks for sharing the resoultion.