id: dem summary: Automatic Real User monitoring with Dynatrace categories: dem, digital-experience tags: dem, Beginner status: Published authors: Brandon Neo Feedback Link: mailto:APAC-SE-Central@dynatrace.com Analytics Account: UA-175467274-1
Duration: 1
This repository contains the hands on for the Dynatrace Digital Experience Management (DEM) Workshop.
The following steps are used for this lab:
Duration: 15
In this exercise, we will deploy the OneAgent to a Linux instance and let the OneAgent discover what is running in that instance.
To faciliate the labs, we will access the Linux instance via terminal through a web browser.
Use the URL was provided in your email to access the SSH terminal. Make sure the URL looks like Public IP Address/wetty
Use the login name and password as provided in your email.
Open your browser and access the Dynatrace URL.
Follow these steps below:
Within the Dynatrace OneAgent for Linux page, follow these steps below:
Example:
$ wget -O Dynatrace-OneAgent-Linux-1.171.252.sh <follow screen shot above>
--2019-08-07 10:17:45-- https://<URL>
Resolving <URL>... <IP>
Connecting to <URL> | <IP>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 139134801 (133M) [application/octet-stream]
Saving to: ‘Dynatrace-OneAgent-Linux-1.171.252.sh’
100%[======================================>] 139,134,801 84.3MB/s in 1.6s
2019-08-07 10:17:47 (84.3 MB/s) - ‘Dynatrace-OneAgent-Linux-1.171.252.sh’ saved [139134801/139134801]
sudo
command to make the script executable before you can run it.Example:
$ sudo /bin/sh Dynatrace-OneAgent-Linux-1.171.252.sh
10:21:42 Checking root privileges...
10:21:42 OK
10:21:42 Installation started ...
...
10:22:14 Starting agents...
10:22:14 oneagent service started
10:22:14 Checking if agent is connected to the server...
10:22:16 Dynatrace OneAgent has successfully connected to Dynatrace Cluster Node. After completing Dynatrace OneAgent installation on this machine, please return to your browser to complete the remainder of the installation.
$
Click on Show deployment status to check the status of the connected host.
You should be able to see a connected host as per the image below.
To restart Easy Travel execute the following command:
/restart_easyTravel.sh
$ ./restart_easyTravel.sh
Restarting easyTravel ....
Stopping easyTravel ....
OKeasyTravel scenario stopped
Please wait...
Starting easyTravel ....
OKeasyTravel scenario started
Done.
Within Dynatrace, follow the steps below to get Easytravel URL:
:8080
at the endWhile waiting for Easy Travel to start, you can explore Dynatrace and using the Smartscape, Dynatrace will automatically discover the processes and dependencies that comprises the Easy Travel application!
4 things that you will love about Dynatrace!
Duration: 15
In this lab, we will cover the basics of configuring Real User Monitoring. These are some of the best practices that should be followed every time the Dynatrace JavaScript agent is deployed, be it an automated or manual injection.
Some of the above have been automated via API and configured into your environments.
Follow the steps below to define your application:
Now that the internal domain is mapped, do the same for the external domain.
To rename the newly created application:
To select Javascript frameworks:
Next, we will be tagging users based on page metadata. This approach to user tagging works by capturing available data in your application’s page source. Usernames may be included in the text of a DOM element, a meta tag, a JavaScript variable, or even a cookie attribute. For example, easyTravel, the Dynatrace demo application, includes the user name in a welcome message in the upper-right corner of the home page (see image below). Using the development tools that are built into most browsers, you can generate a unique CSS selector for this particular element.
Once you’ve identified where usernames are located in your page source, you can create user tags based on the usernames. To do this, return to Dynatrace and execute the following steps:
#loginForm\:j_idt39
Hello ([^!]*+)
on the Regex Text FieldDuration: 15
In this exercise, we will cover creating a single URL synthetic test in Dynatrace. Dynatrace offers three types of synthetic monitoring:
That’s it! You have created 3 browser clickpaths Synthetic monitors
Following the instructions below:
Following the instructions below:
Duration: 15
In this exercise, we will cover configuring Session Replay in Dynatrace.
Follow the steps below to enable session Replay:
After a couple minutes, you can find your session under User Sessions on Dynatrace’s left navigation bar.
Filter for sessions that have Replay enabled
Replay your session
Duration: 15
Dynatrace captures detailed user session data each time a user interacts with your monitored application. This data includes all user actions and high level performance data. Using either the Dynatrace API or Dynatrace User Sessions Query Language (USQL), you can easily run powerful queries, segmentations, and aggregations on this captured data. User Sessions Query Language is a Dynatrace-specific query language, though it does rely on some SQL concepts and the syntax is similar, which makes it easy to get started.
A typical use case for using USQL is to build dashboards to visualize business metrics.
Follow the steps below:
Sample queries
Create a funnel for user journey
SELECT FUNNEL(useraction.name="loading of page /special-offers.jsp" AS "Special Offers landing page", useraction.name = "loading of page /orange-booking-review.jsf" AS "Review package", useraction.name = "loading of page /orange-booking-payment.jsf" AS "Payment") FROM usersession
Understand page performance from a specific location
SELECT DATETIME(starttime, 'MM/dd/yyyy hh:mm', '30m'),AVG(useraction.visuallyCompleteTime)
FROM usersession
WHERE country IS "United States" GROUP BY DATETIME(starttime, 'MM/dd/yyyy hh:mm', '30m')
Understand which users are experiecing errors
SELECT userId, SUM(totalErrorCount) FROM usersession
WHERE totalErrorCount IS NOT NULL
GROUP BY userId ORDER BY SUM(totalErrorCount) DESC
Gather statistics/analaysis
SELECT COUNT(*) FROM usersession WHERE useraction.name = "loading of page /orange.jsf"
Duration: 3
We hope you enjoyed this lab and found it useful. We would love your feedback!