我在免费套餐上使用Azure Application Insights。我们还使用amazon AWS运行状况检查,如果获得不同的响应,它会在预先确定的页面上发出200响应然后执行操作。
来自AWS的所有请求都在迅速填写遥测数据。
是否有一种简单的方法来过滤或排除这些请求?
可以从App Insights控制台完成,还是需要在实际应用程序上修改遥测收集器。我宁愿不创建我自己的ITelemtryProcessor实现......
如果我坚持走这条路线,这会过滤AWS Route53检查吗?
public void Process(ITelemetry item)
{
if (!string.IsNullOrEmpty(item.Context.Operation.SyntheticSource)) {return;}
this.Next.Process(item);
}
修改-更新
有没有人看过applicationinsights.config的这一部分我不确定它不会有相关标题。
<ExcludeComponentCorrelationHttpHeadersOnDomains>
<!--
Requests to the following hostnames will not be modified by adding correlation headers.
This is only applicable if Profiler is installed via either StatusMonitor or Azure Extension.
Add entries here to exclude additional hostnames.
NOTE: this configuration will be lost upon NuGet upgrade.
-->
<Add>core.windows.net</Add>
<Add>core.chinacloudapi.cn</Add>
<Add>core.cloudapi.de</Add>
<Add>core.usgovcloudapi.net</Add>
<Add>localhost</Add>
<Add>127.0.0.1</Add>
</ExcludeComponentCorrelationHttpHeadersOnDomains>
有没有人有任何其他资源或教程,我能找到的唯一资源或教程:https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-filtering-sampling#filtering
似乎最简单的实现方法是从web.config中获取一个集合,在自己的类文件中定义处理器,然后将处理器插入到全局配置链中......
答案 0 :(得分:2)
你必须像上面那样写一个遥测初始化器。
然而,您可能希望更具体地查看合成来源并验证内容,并且只丢弃亚马逊健康检查而不是所有合成流量(您还可以查看请求名称等等)做出决定),因为我不确定亚马逊的入境请求中有哪些信息。
否则,您可能会丢弃可能从您的网站测试中发出的传入请求/依赖关系/异常,这些也会显示为合成。