使用ASP.NET Core 2.0减少Application Insights中的跟踪数据

时间:2017-12-10 09:57:26

标签: trace asp.net-core-2.0 azure-application-insights

我有两个运行类似代码的ASP.NET Core 2.0 Web Apps,都启用了Application Insights。

网站" A"针对netcoreapp2.0框架。它产生了大量的" Trace"我查看数据卷管理时的数据,并且每天快速生成许多千兆字节的数据。我无法承受这一点,老实说,甚至不知道它对我有什么影响或者如何看待这些数据。我已将数据采样设置为8%,并且在一天结束之前仍然达到了我想要的1 GB限制。

网站" B"针对net47框架(完整的.NET Framework)。这个网络应用程序几乎不会生成跟踪#34;数据,是一种更易管理的数据量。我的中等流量站点每天保持在我想要的1 GB限制之内,没有数据采样。

站点B处理的站点A的流量大约是站点A的两倍,并且还有更多的依赖性调用 - 因此这与流量无关,这绝对是站点之间的配置差异。

问题1:与定位net47相比,为什么定位netcoreapp2.0会导致Application Insights生成大量的跟踪数据?

问题2:在定位netcoreapp2.0时,如何阻止Application Insights生成这个代价非常高的跟踪数据?或者更一般地说,如何在ASP.NET Core 2.0 Web应用程序中控制Application Insights Trace数据集?

1 个答案:

答案 0 :(得分:0)

在进一步探讨之后,我偶然发现了关于github问题的评论:

https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/523#issuecomment-341285608

似乎Application Insights确实在asp.net核心应用程序中注册了自己的ILogger,并且它将所有日志记录转换为AI跟踪数据。如果您没有将其设置为警告或更高,那么这是大量数据,所以要小心!

您可以像在asp.net核心中的其他记录器一样设置日志记录级别或禁用它。