Dynatrace automatically detects IP addresses and geolocations as well as browsers, devices, and operating systems.
When web requests and RUM beacons are directly sent to an instrumented server, Dynatrace identifies the IP addresses of your end users' devices via the socket connections.
When you use uninstrumented components such as load balancers, CDNs, or proxies, the remote IP address is different from the original IP address. For such cases, Dynatrace also watches certain HTTP headers. These headers are most frequently used to identify the originating IP address when a client connects to a web server through an HTTP proxy, a CDN, or a load balancer.
You can view the list of headers that Dynatrace uses to determine client IP addresses for your applications. To do that, go to Settings > Web and mobile monitoring > IP determination. Dynatrace processes these headers in a specific order, but you can change the processing order and add your own headers for your web, mobile, and custom applications.
Keep in mind that Dynatrace masks the last part of end-user IP addresses by default.
Dynatrace Real User Monitoring tries to assign every user session a geolocation (city, region, and country) to group user sessions and user actions per location and show them on the world map for your web, mobile, and custom applications.
For web applications, Dynatrace uses the MaxMind Geo2 database to map and resolve IP addresses to geographical locations.
For mobile apps, the IP address mapping depends on whether the mobile app has permission to access the geolocation information.
Dynatrace automatically updates the MaxMind Geo2 database in your environment with the release of each new version of Dynatrace.
If you discover an error in MaxMind mapping, you can request that MaxMind update their database. After MaxMind changes an IP address mapping, the mapping in your Dynatrace environment is updated with the Dynatrace version following the change.
You can check your IP address against the MaxMind database at any time via the GeoIP2 Databases Demo form.
For custom locations that have internal or private IP addresses, like your different offices, you can define custom IP mappings. You can even overwrite the default IP address mappings via custom IP address mapping rules for your web, mobile, and custom applications.
Dynatrace also masks the GPS coordinates by default.
For web applications, Dynatrace uses the user agent string sent by the browser to distinguish user sessions of real users from synthetic and robots (user types: Bot, Real, and Synthetic). It also leverages this string to identify operating systems and device types like desktop, tablet, or mobile. For browser classification, Dynatrace uses the udger.com user agent database.
For Android apps, device names are provided by Google Play Store. For iOS apps, 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.
Internet service providers (ISPs) are detected based on their IP addresses against the MaxMind database.