azure - Application Insights Visual Studio 集成不适用于控制台应用程序 (WebJob)

标签 azure azure-application-insights azure-webjobs azure-webjobssdk appinsights

我有一个控制台应用程序,我们在 Azure 中部署为 WebJob。 Application Insights 正在运行,因为遥测数据已正确发送到 Azure。但 Visual Studio (2019) 中的“Application Insights 搜索”窗口未在本地获取遥测数据。我需要配置什么,应用程序洞察窗 Eloquent 能显示控制台应用程序的遥测数据?

在该解决方案中,我们将 MVC 网站和 WebJob 放在同一个解决方案中。遥测在本地适用于 MVC 网站项目,但不适用于 webjob 项目。

我已将 Application Insights 与以下代码集成:

builder.ConfigureLogging((context, loggingBuilder) =>
{
  loggingBuilder.AddApplicationInsightsWebJobs(o =>
  {
    o.InstrumentationKey = instrumentationKey;
    o.EnableLiveMetrics = true;
    o.LiveMetricsInitializationDelay = TimeSpan.FromMinutes(1);
    o.SamplingExcludedTypes = "Exception";
  });
});

检测 key 来自 appsettings.json:

  "Company.Logging": {
    "InstrumentationKey": "1242189c-1192-41d9-b877-b26890bd0eef",
    "LoggingServiceUrl": "https://loggingapidev.company.com/api/logs/batch"
  }

我们对网站使用相同的配置,效果很好。

我确实尝试在 appsettings.json 中添加“APPINSIGHTS_INSTRUMENTATIONKEY”键并将其作为环境变量。这没有任何效果。

有谁知道我可以做些什么来完成这项工作?这将使开发人员更直观地利用应用程序洞察力。现在我必须引导他们访问门户,在那里他们可以找到本地遥测数据。

最佳答案

我用控制台项目(webjob v3)测试了它,它工作正常。我可以看到日志显示在 Visual Studio Application Insights 搜索窗口中。

如果您仍然出现此问题,请尝试手动将 ApplicationInsights.config 文件添加到您的 webjob 项目中。

工作流程:

  • 右键单击项目:添加 -> 新项目...
  • 选择:应用程序配置文件,例如“JavaScript JSON 配置文件”。
  • 名称:ApplicationInsights.config
  • 删除该文件的内容 -> 然后单击“保存”。然后对对对 该文件 ->选择属性 ->将“复制到输出目录”设置为 “如果较新则复制”

关于azure - Application Insights Visual Studio 集成不适用于控制台应用程序 (WebJob),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63458924/

相关文章:

c# - 无法加载文件或程序集 'Microsoft.Azure.Storage.Emulator.Controller'

azure - Windows Azure 使用 A6 vmsize 部署云服务

function - Azure功能应用程序日志不显示

c# - 从 Application Insights 获取页面 View 数据

azure - 预定的网络作业

java - 在 Wildfly 中配置无密码 Azure SQL

azure-application-insights - 如何修复控制台消息 : Cookie "ARRAffinity" will be soon rejected?

c# - App Insights 对 Api 根执行心跳检查

c# - 尝试在 WebJob 中使用 TempPath 时出错

asp.net-core - 如何使用 HostBuilder 进行 WebJob?