首页 > 解决方案 > Azure Application Insights 中没有异常或堆栈跟踪

问题描述

我有一个 ASP.NET Core 3.1 解决方案部署到连接到 Application Insights 的 Azure Web 应用程序中。我一生都无法获得异常和堆栈跟踪来登录 Application Insights,而是得到一个基本的请求跟踪,没有附加异常信息: 在此处输入图像描述

我尝试了大多数设置日志记录/应用程序洞察遥测的组合,以下是我尝试过的一些事情:

  1. services.AddApplicationInsightsTelemetry();ConfigureServices()方法中Startup.cs
  2. 添加logging.AddApplicationInsights();到我的日志记录生成器Program.cs
  3. 删除自定义错误页面异常处理程序以防影响事物

APPINSIGHTS_INSTRUMENTATIONKEY在 Azure 中的 Web 应用程序上设置了环境变量。

我正在使用以下代码在 Application Insights 中生成异常:

[AllowAnonymous]
[Route("autoupdate")]
public async Task<IActionResult> ProfileWebhook()
{
    var formData = await this.Request.ReadFormAsync();

    var config = TelemetryConfiguration.CreateDefault();
    var client = new TelemetryClient(config);

    client.TrackException(new Exception(string.Join("~", formData.Keys)));
    logger.LogError(new Exception(string.Join("~", formData.Keys)), "Fail");
    throw new Exception(string.Join("~", formData.Keys));
}

什么都没用,我快疯了!非常感谢任何帮助。

标签: azureasp.net-coreazure-web-app-serviceazure-application-insightsasp.net-core-3.1

解决方案


通常,ApplicationInsights 会保证各种遥测(如异常、跟踪、事件等)在 5 分钟左右到达,请参阅此文档:遥测需要多长时间才能收集?. 但是由于后端问题,仍然有可能需要更长的时间(机会很小)。

如果您使用的是 Visual Studio,则可以通过Application Insights search检查是否发送了遥测数据。

您还可以检查您是否使用了正确的 IKey,或者您是否启用了采样

但是,如果它保留了这种行为,则应考虑联系 MS 支持以查找根本原因。

希望能帮助到你。


推荐阅读