Dynatrace automatically detects IP addresses, 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 from 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 to add your own headers.
Keep in mind that, by default, Dynatrace masks the last part of user device IP addresses.
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 wifi) 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 permissions 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 for example 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.
Dynatrace by default also masks the GPS coordinates.
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 used also 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.
Synthetic is only used for Dynatrace Synthetic monitoring, for example, browser monitors or AppMon synthetic.
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.