如何减少Application Insights发送到服务器的跟踪日志量

时间:2015-12-15 22:26:56

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

我正在使用具有适度负载的生产系统。跟踪事件和AI发送的数量太详细,并且很难在以后涉及日志。

对服务器的每个请求都包含以下信息:

Message='Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'', Operation=DefaultContentNegotiator.Negotiate

Message='Action returned 'RZ.API.Support.Controllers.OperationActionResult`1[System.Collections.Generic.List`1[RZ.Entity.System.ClientMessage]]'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync

每个请求可能有30个条目!

我只需要请求类型:

12/16/2015, 9:17:29 AM - REQUEST

GET /api/v1/user/messages

结果代码 - 以及我在此过程中做的任何自定义内容。

所以基本上我想修剪除请求和结果(以及任何错误等)之外的大多数痕迹。

我在AI配置中关注这个坏孩子:

<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web"/>

...但我不能为我的生活看到任何doco如何要求它减少发送的东西的数量!

非常感谢任何帮助。

约旦。

P.S。所有额外的记录都使我们超过了每月1500万的计划,我们不得不升级!

4 个答案:

答案 0 :(得分:3)

RequestTrackingTelemetryModule不执行您所描述的任何操作。它添加了请求,异常和依赖项集合。在您的示例中,您说您看到详细的WebApi跟踪被转发到ApplicationInsights。我假设您实际使用Application Insights日志记录适配器。

在这里,您可以阅读如何将WebApi跟踪转发到AI版本1:http://apmtips.com/blog/2014/11/13/collect-asp-dot-net-mvc-web-api-traces-with-application-insights/

在这里,您可以阅读如何将WebApi跟踪转发到AI版本2: http://apmtips.com/blog/2016/01/05/webapi-tracing-powered-by-ai-in-vs2015-update1/

日志适配器的源代码:https://github.com/Microsoft/ApplicationInsights-dotnet-logging

文档:https://azure.microsoft.com/en-us/documentation/articles/app-insights-search-diagnostic-logs/#trace

所以你有多种选择:

答案 1 :(得分:1)

回答我自己的问题。

在我的WebApiConfig文件中,我有:

config.EnableSystemDiagnosticsTracing();

删除此行可以彻底减少我想要达到的效果。

答案 2 :(得分:1)

从Application Insights SDK 2.0版开始,您还可以通过启用采样来限制发送的数据:

https://azure.microsoft.com/en-us/documentation/articles/app-insights-sampling/

如果你添加

 <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>

到你的ApplicationInsights.config,sdk可以限制多少出去。上面的文章有很多设置/配置可用于获取其他特定行为,但上面的那个是最简单的。

答案 3 :(得分:0)

据我所知, RequestTrackingTelemetryModule 没有可用的配置选项。您可以关闭它(通过卸载相应的NuGet包或注释xml)和/或安装不同/附加的遥测模块。

有关模块和配置选项的列表,请参阅app-insights-configuration-with-applicationinsights-config