Azure Application Insights 与 Google 搜索之间的 IP 地址不匹配

IP address Mismatch between Azure Application Insights and Google Search

为什么 Azure Application Insights 报告的 IP 地址与标准 Google 搜索(我的 IP 是什么)之间存在 差异

Application Insights 使用 IP 获取地理位置信息,例如 country/region 和城市,然后出于隐私原因丢弃 IP 的最后一个八位字节。

如果从 IP 中提取的地理位置信息不足以满足您要解决的场景,并且您仍然want/need发送未屏蔽的 IP,则需要将其作为自定义提交 属性 在带有 Application Insights SDK 的遥测项上。您可以使用 Telemetry Initializer 来做到这一点。

public class CopyIPTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
        if (!string.IsNullOrEmpty(telemetry.Context.Location.Ip))
        {
            telemetry.Context.Properties["client-ip"] = telemetry.Context.Location.Ip;
        }
    }
}