如何告诉 Application Insights 忽略 404 响应
How to tell Application Insights to ignore 404 responses
ApplicationInsights 最近开始给我寄一份每周遥测报告。我的问题是它告诉我有一堆失败的请求、失败的依赖项和异常,但是当我点击分析失败时,我发现它们都与机器人或坏人试图访问不存在的页面有关我的网站。
有没有一种简单的方法可以告诉 ApplicationInsights 我对与尝试访问不存在的页面相关的指标不感兴趣?是的,我很欣赏每周遥测报告,但我不想花时间调查我认为 "false positives".
的一类经常报告的问题
您可以通过实现 Telemetry Processor 来过滤 AI 遥测数据。
例如,您可以通过实现 ITelemetryProcessor 'Process' 方法来过滤掉 404 Not Found 遥测数据,如下所示:
public void Process(ITelemetry item)
{
RequestTelemetry requestTelemetry = item as RequestTelemetry;
if (requestTelemetry != null && int.Parse(requestTelemetry.ResponseCode) == (int)HttpStatusCode.NotFound)
{
return;
}
this.Next.Process(item);
}
您可以修改请求遥测并将其标记为 Success
(而非 Fail
)。这样,请求将被 AI 正确地记录下来,但作为一个成功的请求。
您需要实施 Telemetry Initializer.
示例:
public class CustomTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
switch (telemetry)
{
case RequestTelemetry request when request.ResponseCode == "404":
request.Success = true;
break;
}
}
}
ApplicationInsights 最近开始给我寄一份每周遥测报告。我的问题是它告诉我有一堆失败的请求、失败的依赖项和异常,但是当我点击分析失败时,我发现它们都与机器人或坏人试图访问不存在的页面有关我的网站。
有没有一种简单的方法可以告诉 ApplicationInsights 我对与尝试访问不存在的页面相关的指标不感兴趣?是的,我很欣赏每周遥测报告,但我不想花时间调查我认为 "false positives".
的一类经常报告的问题您可以通过实现 Telemetry Processor 来过滤 AI 遥测数据。 例如,您可以通过实现 ITelemetryProcessor 'Process' 方法来过滤掉 404 Not Found 遥测数据,如下所示:
public void Process(ITelemetry item)
{
RequestTelemetry requestTelemetry = item as RequestTelemetry;
if (requestTelemetry != null && int.Parse(requestTelemetry.ResponseCode) == (int)HttpStatusCode.NotFound)
{
return;
}
this.Next.Process(item);
}
您可以修改请求遥测并将其标记为 Success
(而非 Fail
)。这样,请求将被 AI 正确地记录下来,但作为一个成功的请求。
您需要实施 Telemetry Initializer.
示例:
public class CustomTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
switch (telemetry)
{
case RequestTelemetry request when request.ResponseCode == "404":
request.Success = true;
break;
}
}
}