New Relic Geo Dashboards don’t actually show you where your users are, but where they connected from to reach your application.
Let’s see it in action. Imagine you’ve got a web application running, and you want to understand the geographic distribution of your users. You’ve got New Relic APM set up, and it’s already collecting transaction data.
Here’s a screenshot of a typical Geo Dashboard in New Relic:
+------------------------------------------------+
| Geo Dashboard: MyWebApp |
+------------------------------------------------+
| Map Visualization: |
| [ World Map with colored dots/regions ] |
| |
| Top Locations (by transaction count): |
| 1. United States (45%) |
| 2. Germany (20%) |
| 3. India (15%) |
| 4. Brazil (10%) |
| 5. United Kingdom (5%) |
| |
| Transaction Count by Country: |
| US: 1000 |
| DE: 450 |
| IN: 330 |
| BR: 220 |
| GB: 110 |
| |
| Latency by Country: |
| US: 150ms |
| DE: 220ms |
| IN: 300ms |
| BR: 280ms |
| GB: 180ms |
+------------------------------------------------+
This dashboard pulls data from your New Relic APM agent. When a transaction hits your application, the agent records details about that request, including the originating IP address. New Relic then uses a GeoIP database to translate that IP address into a geographic location (country, region, city). This location data is then aggregated and displayed on the Geo Dashboard.
The core problem this solves is providing a high-level, visual overview of your user base’s geographic spread without requiring you to instrument your application with custom geolocation logic. It’s about understanding where your application traffic is originating from, which is crucial for:
- Performance Optimization: Identifying regions with high latency can point to network issues or the need for content delivery network (CDN) expansion.
- Marketing & Sales: Understanding where your users are concentrated can inform targeted marketing campaigns or sales territory allocation.
- Compliance & Regulation: For certain industries, knowing the geographic origin of data access is important for regulatory compliance.
- Capacity Planning: High traffic from specific regions might necessitate scaling infrastructure in those areas.
Internally, New Relic’s Geo Dashboard relies on the GeoIP attribute that is automatically collected by most APM agents. When a transaction is recorded, the agent captures the client’s IP address. This IP address is then sent to New Relic’s data ingestion pipeline. New Relic maintains its own up-to-date GeoIP lookup service. For each incoming event containing an IP address, New Relic queries this service to determine the associated country, region, and city. This derived location data is then indexed and made available for querying and visualization, including on the Geo Dashboards.
The exact levers you control are primarily through the New Relic agent configuration and data filtering. You can’t force New Relic to use a different GeoIP database, but you can influence what data gets sent and how it’s displayed. For example, you can:
- Filter IP Addresses: If you have internal traffic or known proxy IPs you want to exclude, you can configure your agent to ignore them. This prevents them from skewing your geographic data. For Java, this might involve
newrelic.propertieswithnewrelic.disallowed_ip_addresses=192.168.1.1,10.0.0.5. - Customize Attributes: While
GeoIPis automatic, you can add custom attributes to transactions if you have additional location data (e.g., from a user profile after login). This data can then be used in NRQL queries to build more specific dashboards. - Select Data Sources: For custom applications or integrations, you can send events with
geoIpCountryCode,geoIpRegionName, andgeoIpCityNameattributes directly to New Relic Insights, allowing you to build custom Geo Dashboards based on non-APM data.
A common misconception is that the GeoIP data is perfectly precise for every single user. In reality, IP address geolocation is an approximation. Proxies, VPNs, and the dynamic nature of IP address assignments mean that the reported location can sometimes be inaccurate, especially at the city or region level. New Relic’s data is as good as the underlying GeoIP databases it uses, which are generally accurate at the country level but can have variances for smaller geographical areas.
The next step after understanding your user distribution is often correlating it with application performance metrics for those specific regions.