Dynatrace captures a lot of end-user data from monitored environments. Based on your license type and configuration, Dynatrace can capture both real-user traffic (user actions, captured directly in end-user browsers) and service-side traffic (web requests and other communications that may include personal data).
This page provides information about what personal data types Dynatrace collects (and why) for both Dynatrace Real User Monitoring (RUM) and server-side service monitoring. Here you'll also find information about how sensitive end-user data can be protected, including options for capturing such data by default or excluding it from capture.
Dynatrace Real User Monitoring (RUM)
Dynatrace captures the user experience of each end-user interaction with your application (for example, button clicks and page loads) that triggers a server-side web request. Such "user actions" are named based on the triggered web request URL, but the naming rules can be changed so that each user action is named based on the control that is clicked (for example,
Dynatrace combines all subsequent user actions into sessions. This enables you to understand how each user navigates through your application. Along with session data, Dynatrace also stores masked IP addresses to allow performance analysis based on geographic regions. Dynatrace processes full IP addresses but masks them before performing geolocation lookups or storing the values in a database.
Dynatrace can detect recurring users by storing a randomly generated ID in each user's browser or on their device. By default, such user tracking is not enabled.
In addition to the above mentioned features that are available out-of-the box, it's also possible to report additional strings to tag user actions and sessions for deeper analytics use-cases. Such tags may include a user name or other personal data. No such tags are configured by default.
Service request monitoring
Dynatrace helps you to improve the performance of your applications, it also enables you to analyze problems that occur in production in a timely manner. This is done via Dynatrace OneAgent.
Dynatrace captures the most important data points of incoming requests and, specifically, the web requests of end-users in your application. These are called service requests. By default, each service requests is named based on the triggered web request URL, but this naming rule can be changed so that service requests are named based on their business value.
For this purpose, Dynatrace automatically captures the URL, the client IP, and certain HTTP header fields.
In addition to the above mentioned features that are available out-of-the box, it's possible to report additional data to categorize requests via request attributes, to allow deeper analysis and enhance the capability of request naming rules. This is configurable at the user level.
With Dynatrace Log Analytics, you gain direct access to the log content of all your system's mission-critical processes. It's easy to search for specific log messages that you're interested in. Log content can be filtered based on keywords or timeframe. You can even analyze multiple log files simultaneously—even when log files are stored across multiple hosts.
Most significantly, Dynatrace artificial intelligence automatically correlates relevant log messages with any problems that it detects in your environment. Relevant log messages that are associated with problems are then factored into problem root-cause analysis.
Log Analytics enables you to store all logs centrally within external storage. This makes log data available independent of log files themselves. This can be beneficial in the following situations:
- Short log-retention periods
- Volatile log storage
- Legal requirements for keeping logs archived centrally for long time periods
For Dynatrace SaaS customers, log files are stored in Amazon Elastic File System encrypted volume in the zone where your Dynatrace environment resides. Your log data may contain personal data. Specific log messages may include user names, email addresses, URL parameters, and other information that you may not want to disclose. Log Analytics provides the ability to mask any information by modifying the configuration file of each OneAgent that handles information you consider to be sensitive.
Summary of personal data capture scenarios
The following table provides an overview of how data that may include sensitive values may be captured by Dynatrace. Following are definitions of the various scenarios:
May contain PII data: PII data may be captured, either intentionally or accidentally.
Configurable capture: Data capture is configurable. Data may or may not be captured.
Captured by default: This data is captured by default.
Masked by default: If captured, the data is masked by default.
Masking on display: If captured, the data is masked on display by default.
Masking on storage: If captured, the data is masked before storage by default.
Masking on capture: If the data is captured and masking is enabled, the data is masked upon capture.
|Product feature||Data being captured||May contain PII data||Configurable capture||Captured by default||Masked by default||Masking on display||Masking on storage||Masking on capture||Comment|
|Real User||User clicks||yes||no||yes||yes||no||configurable||future|
|Real User||IP and Location||yes||no||yes||yes||no||configurable||future|
|Server side requests||URL||yes||no||yes||no||no||configurable||future|
|Server side requests||URL Query parameter||yes||yes||yes||yes||yes||configurable||future||³|
|Server side requests||Client IP||yes||no||yes||yes||yes||configurable||future|
|Server side requests||HTTP request/response header||yes||yes||only some||no||yes||configurable||future||¹|
|Server side requests||HTTP post parameter||yes||yes||no||no||yes||configurable||future||²|
|Server side requests||Exception messages||yes||yes||yes||no||yes||no||yes|
|Server side requests||Method arguments/return values||yes||yes||no||no||yes||future||no||²|
|Server side requests||SQL literals and bind variables||yes||no||no||yes||no||future||yes|
- Only certain headers are captured automatically. All others are only captured when requested by an authorized user (see request attributes). The data that are captured aren't masked by default.
- All values are captured when requested by an authorized user (see request attributes)
- Query parameters are always confidential (masked on display) and can additionally be masked upon storage. They can be explicitly captured by request attributes, in which case their confidentiality depends on request attribute configuration.