Application Insights 显示在实时指标中,但不显示在日志分析中

Application Insights showing in Live metrics, but not in log analytics

所以我创建了一个 Class 库来配置微服务的 Application Insights。这些是 Application Insights 配置方法:

这就是我在每个微服务的 Startup.cs class 中使用它们的方式:

根据调试日志,它似乎工作正常:

我什至能够在 Azure 中正确看到实时指标:

但是,数据在 Log Analytics 中没有得到 'saved',所以我无法 运行 对数据进行任何查询(它总是 returns 0 个结果)。

我想这可能是因为每个微服务的Program.cs中有如下代码: 我认为应用程序洞察记录器可能未正确配置(未明确设置检测密钥)。但是,我尝试将 TelemetryConfiguration 的检测密钥设置为硬编码的检测密钥,但它没有做任何事情。

我确实通读了这个文档:https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-core 但我似乎没有遗漏任何步骤(我调用 AddApplicationInsights 和 AddApplicationInsightsKubernetesEnricher)。

我想知道是否有人能看到这个问题,我真的不知道如何通过实时指标而不是 Log Analytics 查看数据。

注意:在使用完全相同的代码(当您 right click on project > Setup Application Insights 时 VS 生成的默认代码并且它运行良好。

实现库之前,我确实尝试添加应用程序见解。

非常感谢!

以下是对可能也有同样问题的其他人的总结:

正如 Dmitry 提到的,vs 输出中的正确格式应该是 Microsoft.ApplicationInsights.Dev.GUID,而不是 Microsoft.ApplicationInsights.Dev.instrumenationkey=GUID。这是正确的屏幕截图:

并且根据 op 的评论,在 keyvault 中,只需将连接字符串复制粘贴到 keyvault 中,而不是导致此错误的检测密钥。解决方案是直接在 keyvault 中将其更改为 instrumentation key。

我遇到了同样的问题,这是因为我的检测密钥有一个我没有看到的额外的白色 space,所以一定要仔细检查它。我仍然不能 100% 确定数据是如何通过直播传入的。我想这在没有检测密钥的情况下也能正常工作。