Monitoring websites
Concepts
Website monitoring, often called End-User Monitoring (EUM), or Real-User Monitoring (RUM), is an important tool to understand digital user experience.
Instana supports website monitoring by analyzing actual browser request times and route loading times. It allows detailed insights into the web browsing experience of users, and deep visibility into application call paths.
Loaded asynchronously into the website, the agent reports its findings to Instana in the form of beacons. This beacon data can be found in an aggregated form within the website dashboards in the Instana UI. The dashboards help explore the behavior and speed of websites. They are accessible to a wide audience and to answer the most common questions. More specific questions and hypotheses can be answered by using analyze capabilities.
The following screen capture shows collected data for a page load, which combines a user's browser activity and links to backend tracing.
Installation
The Instana website monitoring solution works by using a lightweight JavaScript agent, which is embedded into the monitored website. To install the JavaScript agent, access the Websites section in the Instana UI to start tracking website performance data. The Instana UI guides you through the installation process.
Wordpress Monitoring
If you want to use website monitoring with Wordpress, use the WP Instana EUM plug-in.
For more information about Wordpress, see What is Wordpress.
Enable Subresource Integrity (public preview)
Instana website monitoring provides you with the option to enable Subresource Integrity (SRI) for the tracking script. Users can enable or disable SRI for their tracking script and also choose a specific version of the agent with SRI. In the
tracking script, the JavaScript agent version is added, and a new field integrity
can be seen with a base64-encoded sha384 hash.
When Subresource Integrity is disabled, the tracking script defaults to the latest version of the JavaScript agent, but does not contain the integrity field.
SRI is a security feature that ensures browsers can verify the resources that they fetch. Although enabling SRI is recommended from a security perspective, you must manually ensure that you are using the latest version of the agent from the dropdown. If you decide to disable it, you are using the latest version of the agent but ensure that you are in a secure network environment.
Dashboards
Getting started with Instana website monitoring involves entering your website name and copying over a JavaScript snippet. For more information about monitoring a website, see the installation section.
Speed
In the speed tab you can view the throughput, latency, and metrics that describe page load times.
Resources
Third-party resources, like scripts and images, are often responsible for slow page loading. On the resource tab, you can find a table that shows you all the resource providers that are actively used by your website.
After you click a specific origin, you can see more detailed information, including load time breakdowns and caching performance. You can see changes in caching statistics over time and how it relates to loading times.
HTTP Requests
On the HTTP Requests tab, you can analyze which of your HTTP requests are slow or problematic. If you select a specific origin, you see an insight into HTTP Method Breakdown, throughput and latency, and error rates and latency breakdown.
Errors
Errors can occur in critical processes. For example, in a process to checkout purchased items in an online storefront, duplicate charge payment errors might occur. As a result, the customer can be dissatisfied and the business needs to make provisions such as to process a credit card refund.
Although seeing uncaught errors in traces is helpful, sometimes you don’t care about a single issue. When many teams are involved, or many errors occur, it is much more useful to get an overview of the situation. In the Instana UI, you have the complete error breakdown, with the following information:
- What errors are occurring and how many errors exist
- Number of affected users
- In which browsers the errors occur
- In which operating systems the errors occur
- In which pages the errors occur
Insights into affected users are available as user information is made available to the JavaScript agent. For more information, see Identifying Users.
Custom events
You can view the list of custom events on the Custom Events tab. Select an event to view all the related metrics.
For more information about how to report custom events, see Reporting Custom Events.
Pages
Often it's important to isolate specific pages and analyze their performance. This view is also a great one to find your page with the most traffic, or the slowest response times.
After you select a specific page, you can see all the metrics just for this single page.
For more information on how to enable Instana to track page transitions in addition to page loads, see Page.
Smart Alerts
View a list of all your configured Smart Alerts. Click an alert to view its configuration, modify it, or view its revision history. If required, you can also disable or remove the alert.
For more information about how to add an alert, see Smart Alerts.
Analyze
Similar to Instana analyze capabilities for traces and call, the analytics view for website monitoring data can be used to answer specific questions that aren't covered by any preconfigured dashboards. A single piece of website monitoring data is called a beacon. A few beacon types exist, that is, page loads, HTTP requests, resources, and JavaScript errors. For convenience purposes, each beacon type has its own main navigation item within the analytics view.
Beacon data can be used to filter and group. The default grouping depends on the selected beacon type. Grouping can be removed to inspect the individual beacon that match filters.
Grouped View
Within the grouped analytics view, beacon data is grouped by a certain tag. By default, beacon data is grouped as follows:
- Page loads by page name (
beacon.page.name
). - Resources by resource origin (
beacon.http.origin
). - HTTP requests by call target origin (
beacon.http.origin
). - JavaScript errors by error message (
beacon.error.message
).
The following screen capture shows page loads grouped by browser name (beacon.browser.name
), with a chart that is displaying the distribution of page load times (mean) across browsers for a website called Robotshop.
Metric Selection
The analyze table shows a default set of metrics for every beacon type that are helpful in most cases. To answer more specific questions, Instana supports the selection of metrics for these tables. The selection of metrics enables analysis by using different aggregations, for example percentiles, and separate metrics, like the TCP/SSL times.
The combination of filtering, grouping, metric selection and charting is enough that all the tables and charts that are found within the website dashboards can be rebuilt in the analytics view.
Ungrouped View
The ungrouped view is accessible after the grouping criteria is removed. It lists every beacon that matches the provided filters. The ungrouped view is also the gateway to the page load view.
Page Load View
Similar to the trace view for traces and calls, the page load view is the highest detail level within Instana. A page load is defined as the retrieval of the initial HTML document and everything that follows that until the next full-page navigation.
The page load view is designed to give you a quick overview about the page load that occurred. Additionally, you can see every piece of data that is received by Instana for the page load, which means that context is always available when you are analyzing problems. For example, when you are analyzing JavaScript errors, this view adds an understanding of what happened before.
The page load view is modeled after common web developer tools' network tabs. Filtering and searching is possible to handle even much data. Even navigation to backend traces is possible to gain a full understanding why something is behaving the way that it is!
Trace View Integration
Enabling website monitoring for your websites also enhances the trace views. The trace views are enriched with website monitoring data as the following screen capture shows.
Geographic Data
Instana maps end-user IP addresses to geographic details based on the GeoLite2 database, which is provided by MaxMind. The IP addresses are collected by using the reverse proxy server.
For self-hosted installation, make sure that you configure the URL of the end-user Monitoring endpoint as the agent reporting URL. Otherwise, the IP addresses are not collected, and the related geographic details information is not available.