我有多个应用程序利用生产数据的应用程序洞察。 我正在尝试使用"城市遥测"字段来映射当前用户。 这些数据似乎被跟踪得非常不一致,在大多数情况下(>75%(只是不可用。
我知道有些客户会使用可能会影响结果的VPN,但不会达到我所看到的程度。
下面是 Azure 常见问题解答中的信息:
如何计算城市、国家和其他地理位置数据?我们看 使用 GeoLite2 的 Web 客户端的 IP 地址(IPv4 或 IPv6(。
浏览器遥测:我们收集发件人的 IP 地址。
服务器遥测:应用程序见解模块收集客户端 IP 地址。如果设置了 X 转发对象,则不会收集它。
您可以将 ClientIpHeaderTelemetryInitializer 配置为采用 IP 来自不同标头的地址。例如,在某些系统中,它是 由代理、负载均衡器或 CDN 移动到 X 源 IP。
有谁知道如何改进 App Insights 的用户城市的地理定位?
IP 地理位置不是 100% 准确的,您需要忍受它。城市精度非常低,因为信息是从经常变化的多个数据中猜测的。提高准确性的一种方法是使用一种服务,该服务聚合来自多个源的数据,并且每天多次连续进行。
增强结果的第二种方法是使用威胁数据根据 IP 是否与代理关联进行筛选。
出于这两个目的,我建议查看Ipregistry,这是我为之工作的一项服务:
https://api.ipregistry.co/?key=tryout
如果 MSFT 可以提供在浏览器遥测中手动设置位置的示例,那就太好了。我理解隐私问题,但我们用例适用于我们的现场服务团队使用的内部企业应用程序。由于浏览器可以访问地理位置 API,因此添加该信息可能很简单。这只是一个知道正确的方法的问题,以便始终如一地选择它。