Detection of IP addresses, geolocations, and user agents
Dynatrace automatically detects IP addresses and geolocations as well as browsers, devices, and operating systems.
IP addresses are automatically identified from the HTTP headers of web requests and the Dynatrace Real User Monitoring signal. However, when load balancers, CDNs, or proxies are used, the remote IP of the HTTP(S) request might be different from the original IP address of your end users' devices. For such cases, Dynatrace watches the HTTP headers most frequently used for identifying the originating IP address of a client connecting to a web server through an HTTP proxy, a CDN, or a load balancer. To view which headers Dynatrace watches by default, go to Settings in the Dynatrace menu, and select Web and mobile monitoring > IP determination. These headers are processed in a specific order. Dynatrace however allows you to change the processing order as well as add your own headers.
Keep in mind that Dynatrace masks the last part of user device IP addresses by default.
Dynatrace Real User Monitoring tries to assign every user session a geolocation (city, region, and country) in order to group user sessions and user actions per location and show them on the world map.
For web applications, Dynatrace uses the MaxMind Geo2 database to map and resolve IP addresses to geographical locations. Dynatrace automatically updates the MaxMind Geo2 database in your environment with the release of each new version of Dynatrace.
You can request that MaxMind update their database by submitting the form at https://support.maxmind.com/geoip-data-correction-request/.
You can check your IP address against the MaxMind database at anytime using the form at https://www.maxmind.com/en/geoip-demo.
When an IP address is changed by MaxMind, the mapping in your Dynatrace environment is updated with the Dynatrace version following the change. You can check your mapped IPs in Dynatrace. In the Dynatrace menu, go to Settings > Web and mobile monitoring > Map IP addresses to locations.
If you discover an error in MaxMind mapping or if it doesn't include enough detail, you can overwrite any individual entry with your own IP address mapping rule.
For mobile apps, Dynatrace uses the coordinates from the device (GPS or Wi-Fi) if the app has the permission to use this information, and then Dynatrace calculates the city that is closest to the reported GPS location. If the mobile app doesn't have permission to access geolocation information on the mobile operating system, it uses the IP address to determine the geolocation in combination again with the MaxMind Geo2 database.
For custom locations using internal or private IP addresses, like your different offices, you can define custom IP mappings or even import a CSV file. You can even overwrite the default IP address mappings with custom IP address mapping rules. See Map internal IP addresses to locations for more details.
Dynatrace also masks the GPS coordinates by default.
Browsers, devices, and operating systems
For web applications, distinguishing user sessions of real users from synthetic and robots is based on the user agent string sent by the browser. This string is also used for the identification of operating systems and device types like desktop, tablet, or mobile. For browser classification, Dynatrace uses the www.udger.com user agent database. Starting with Dynatrace version 1.218+, ISPs are detected based on their IP addresses against the MaxMind database.
Regarding mobile apps, device names are provided by Google Play Store for Android, while for iOS Dynatrace maintains a cross-reference list that maps Apple device IDs to Apple device names. The operating system—Android or iOS—is provided by Dynatrace OneAgent for mobile. As for web applications, ISPs are detected via a lookup of the user's device IP address in bgp.potaroo.net and www.cidr-report.org.