Leo*_*rdo 2 azure-application-insights
我所有requests
登录的应用程序见解都有0.0.0.0
IP.为什么?
详细信息:
- 在Azure应用服务上运行应用程序
- 使用.Net Core 2
- 其他信息似乎没问题,例如,来自全球各地的一些请求等
Joh*_*ner 12
这是因为GDPR的设计.来自二月的博客文章:
从2018年2月5日开始,Application Insights会在查找City,Country和其他地理位置属性后,将客户端/服务器端SDK收集的IP地址的所有八位字节设置为零.这增强了隐私,并且是从将最后一个八位字节设置为零的先前处理的改变.
正在进行此更改以解决客户对IP地址的担忧以及GDPR的影响.
注意:
•如果需要IP地址的前3个八位字节,可以使用遥测初始化程序添加自定义属性.
•这不会影响2018年2月5日之前收集的数据.
可以禁用 Application Insights 的 IP 屏蔽功能。
这样做之前先了解您的合规要求!
有两种方法可以做到这一点:
首先,进行 REST 调用以重新配置现有 App Insights 实例
我建议利用 Azure CLI 来完成该任务,因为您不必处理访问令牌。相应地替换缺失值
<sub-id>
<rg-name>
<resource location>
az rest --method patch \
--url https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/microsoft.insights/components/<resource-name>?api-version=2018-05-01-preview \
--body { \"location\": \"<resource location>\", \"kind\": \"web\", \"properties\": { \"Application_Type\": \"web\", \"DisableIpMasking\": true } }
Run Code Online (Sandbox Code Playgroud)
二、使用自定义TelemetryInitializer
public class CloneIpAddress : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (telemetry is ISupportProperties propTelemetry && !propTelemetry.Properties.ContainsKey("client-ip"))
{
var clientIPValue = telemetry.Context.Location.Ip;
propTelemetry.Properties.Add("client-ip", clientIPValue);
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记向 DI 容器注册类型
services.AddSingleton<ITelemetryInitializer, CloneIpAddress>();
Run Code Online (Sandbox Code Playgroud)
IP 地址将显示为自定义维度
归档时间: |
|
查看次数: |
1553 次 |
最近记录: |