【问题标题】:Restrict or Obscure data sent to Application Insights限制或隐藏发送到 Application Insights 的数据
【发布时间】:2016-01-13 23:50:05
【问题描述】:

我们刚刚将 Application Insights 添加到我们的 WebAPI 2.2 应用程序中,它看起来像是赢家。 但是,我们有一些控制器会接收由于合规性规定而无法存储的敏感信息,即使在 Application Insights 中也是如此。我们希望在我们的某些控制器上捕获信息级别的跟踪事件,但是当通过其他控制器发送信息时,我们不需要捕获或隐藏信息。任何人都可以提出一种我们可以实现这一目标的方法吗?

【问题讨论】:

  • 你能澄清一下这个问题吗?您的意思是不收集针对特定控制器的请求的请求数据吗?还是不收集请求的某些字段?
  • 我们正在从所有控制者那里收集 TRACE 信息。一些 TRACE 事件包括 json 有效负载。这在某些控制器上很有用,但在其他控制器上,有效负载包含敏感信息,由于我们的合规性要求,我们不得存储这些信息。我们需要一种方法来禁用针对这些特定事件的应用程序洞察力。
  • 您指的是使用 Microsoft.ApplicationInsights.TraceListener 包吗?
  • 是的,就是这样。这是我第一次使用它,所以我仍在学习有关术语的方法 - 道歉:-)

标签: asp.net-web-api system.diagnostics azure-application-insights


【解决方案1】:

由于您使用的是 Microsoft.ApplicationInsights.TraceListener 包,我认为没有任何方法可以直接过滤数据。如果您可以向 Trace.WriteXxx() 调用添加一些特殊的东西,那么一种选择可能是实现 TraceFilter 并通过 ApplicationInsights Trace Writer 的配置注册它。

然后在您的 TraceFilter.ShouldTrace() 中,您可以检查该特殊值(可能是事件 ID,可能是跟踪消息中的某些前缀,或类似的东西)并简单地返回 false 以使其被跳过。

【讨论】:

  • 感谢 tomasr。我会研究这个想法。
【解决方案2】:

我在 Azure MS 网站上问了同样的问题,得到了很好的答复。

任何在这里寻找答案的人都应该看那里。

https://azure.microsoft.com/en-us/documentation/articles/app-insights-get-started/#comment-2309233065

【讨论】:

  • 那个评论已经没有了,他们给你的回应是什么?是关于docs.microsoft.com/en-us/azure/application-insights/… 的吗?
  • 嗨,@dgaspar 该评论指的是应用程序洞察力的第 1 版,这可能是它不再存在的原因。我不记得细节了,自从我发布这个问题以来,我已经换了工作。您提供的链接适用于版本 >= 2。看起来它应该完全符合我的要求,如果它可用,我当时会使用它。如果您的问题与我的类似,这似乎是一个不错的选择。
猜你喜欢
  • 2021-11-02
  • 2021-11-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
相关资源
最近更新 更多