首页 > 解决方案 > 跨度处理器是否可以用于替换/编辑/屏蔽应用程序洞察中请求 URL 中存在的电子邮件 ID?

问题描述

我在 url 中有电子邮件 ID 作为路径参数(我知道,这是个坏主意。但它已经完成)并且这些电子邮件 ID 登录到 Application Insights。是否有任何方法可以使用跨度处理器通过仅替换/编辑/删除 url 中的电子邮件 ID 来修改此遥测数据?

我能够更改跨度的名称,能够删除整个跨度属性,即 http.url ,它是包含 url 的属性。属性处理器没有帮助,因为我不想更新/删除整个 url。我只想屏蔽 url 中存在的电子邮件 ID,保持 url 中的所有其他信息不变。

跨度处理器是否能够修改跨度名称以外的任何内容?或者,当对属性使用提取操作时,有没有办法对属性值执行简单的字符串操作(如替换、子字符串等)?

附加的屏幕截图显示了请求的示例 url 以及它在 Application Insights 中的显示方式。 在此处输入图像描述

我期望将 URL = ...ha/emailloggertest/joachim/{emailid1}/{emailid2} 推送到 Application Insights 中。

这就是我使用日志处理器替换我们使用 logger 显式推送的电子邮件 ID 所做的事情,但类似的 hack 不适用于 span 处理器。以下是用于实现 Microsoft 文档中提到的遥测处理器的 applicationinsights.json 文件的摘录。

   "processors": [
  {
    "type": "log",
    "body": {
      "toAttributes": {
        "rules": [
          "(?<emailAddress>[\\w_.-]+@([\\w-]+\\.)+\\w{2,4})"
        ]
      }
    }
  },
  {
    "type": "attribute",
    "actions": [
      {
        "key": "emailAddress",
        "action": "delete"
      }
    ]
  }
]

标签: azureazure-application-insightsazure-application-insights-profiler

解决方案


推荐阅读