我的应用程序根据ib依赖关系写了很多日志,这使它变得非常昂贵(甚至比我的服务器场+数据库还要昂贵),而且我们已经有几个月没有使用它了。 如何禁用依赖项,但保留其余部分(请求,异常,自定义事件等)?
在文档中,添加应用程序见解与添加斜率没有分开。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-dependencies
同时
在应用洞察资源中>用法和估计成本
唯一可用的选项是
-数据采样
答案 0 :(得分:3)
如果不需要,只需从ApplicationInsights.config文件中删除 DependencyTrackingTelemetryModule 。
查找该条目:
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
.....
</Add>
并删除它或将其注释掉:
<!--<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
.....
</Add>-->
另一种方法是仅针对依赖项将采样设置为100%。有关更多信息,请参见documentation。但是我认为最好不要加载或运行不需要的东西。
答案 1 :(得分:2)
我认为您可以通过创建遥测处理器并在Process
方法内禁用遥测数据来实现。
示例:
public void Process(ITelemetry item)
{
var request = item as DependencyTelemetry;
// Don't process dependency telemetry
if (request != null)
{
return;
}
this.Next.Process(item);
}
另请参阅:Filtering and preprocessing telemetry in the Application Insights SDK