Azure Application Insights 与 Google 搜索之间的 IP 地址不匹配
IP address Mismatch between Azure Application Insights and Google Search
为什么 Azure Application Insights 报告的 IP 地址与标准 Google 搜索(我的 IP 是什么)之间存在 差异?
- Azure App Insights 返回的 IP:xx.xx.xx.0
- Google 搜索返回的 IP:xx.xx.xx.242
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;
}
}
}
为什么 Azure Application Insights 报告的 IP 地址与标准 Google 搜索(我的 IP 是什么)之间存在 差异?
- Azure App Insights 返回的 IP:xx.xx.xx.0
- Google 搜索返回的 IP:xx.xx.xx.242
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;
}
}
}