gpt4 book ai didi

azure - 如何抑制 Azure Application Insights 中的 http 错误 440

转载 作者:行者123 更新时间:2023-12-03 05:01:18 24 4
gpt4 key购买 nike

Azure Application Insights 是一个强大的工具,但我们遇到了一些虚假错误。具体来说,当用户在我们的 Web 应用程序上超时时,应用程序会抛出 http 440 错误(我猜这是 MS 特定代码),即 session 已过期。这是一种误报,我不想跟踪这些,也不想从他们那里收到警报。

有没有办法在 Application Insights 中抑制这种情况,或者我必须在代码中执行某些操作才能做到这一点?

如果它们无法被抑制,我想我可以设置一个警报,如果我可以从那里过滤掉 440 秒。

enter image description here

最佳答案

您可以使用ITelemetryProcessor过滤掉http错误440:

在您的 Web 项目中,添加一个类似 MyErrorFilter 的类:

    public class MyErrorFilter: ITelemetryProcessor
{
private ITelemetryProcessor Next { get; set; }

public MyErrorFilter(ITelemetryProcessor next)
{
this.Next = next;
}

public void Process(ITelemetry item)
{
var request = item as RequestTelemetry;

if (request != null &&
request.ResponseCode.Equals("440", StringComparison.OrdinalIgnoreCase))
{
// To filter out an item, just terminate the chain:
return;
}
// Send everything else:
this.Next.Process(item);
}
}

如果是 .net Framework Web 项目,请在 ApplicationInsights.config 文件中添加以下内容(类型为 assembly_name.class_name):

<TelemetryProcessors>

<Add Type="WebApplication9.MyErrorFilter, WebApplication9"></Add>
</TelemetryProcessors>

如果是 .net core Web 项目,请安装或更新 Microsoft.ApplicationInsights.AspNetCore到2.7.1,然后在Startup.cs ->ConfigureServices方法中添加以下代码行:

services.AddApplicationInsightsTelemetry();
services.AddApplicationInsightsTelemetryProcessor<MyErrorFilter>();

关于azure - 如何抑制 Azure Application Insights 中的 http 错误 440,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56797444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com