我有一个控制台应用程序,我们在 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/