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 Global Settings > Web & 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.
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.
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 browsers classification, Dynatrace uses the www.udger.com user agent database. ISPs are detected based on the IP address. Dynatrace uses information provided by bgp.potaroo.net and www.cidr-report.org to identify the ISP for a given IP address.
Dynatrace uses bgp.potaroo.net, which provides two tables
- http://bgp.potaroo.net/as2.0/bgptable.txt for IPv4 addresses
- http://bgp.potaroo.net/v6/as2.0/bgptable.txt for IPv6 addresses
These tables include CIDR blocks (IP ranges) and their corresponding ASN lookup. The last set of digits on each line is the ASN for the given IP address range.
Dynatrace then uses another table provided by cidr-report.org, which contains all the ASNs on the Internet along with the respective descriptions.
These are flat text files (actually formatted as HTML) that are updated regularly by their providers on the Internet.
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.