Azure gov 的 Service Fabric .NET Framework 服务和 ApplicationInsights.config 端点

Service Fabric .NET Framework services and ApplicationInsights.config endpoints for Azure gov

我有一个托管 api 且启用了应用洞察力的服务结构应用程序。 api 服务是 .Net framework 4.8 webapi 项目,它们是原生结构无状态和有状态服务。我不使用 app insights service fabric 特定的包,但有 webapi 包的标准 app insights。我一直在 Azure 商业领域工作,日志在那里工作得很好。

现在我们在 azure gov 中,将 .Net Framework 应用程序指向 gov app insights 端点的唯一方法是修改 ApplicationInsights.config 文件。

所以我根据 msdn 修改了文件,验证它是使用 fabric 部署包部署的,并且它位于 vms 上其余 dll 的旁边。但是我的服务仍然不会登录到 azure gov app insight 实例。什么都没有通过。我们以编程方式设置检测密钥,而不是 applicationinsights.config,这会是个问题吗?我注意到一些 msdn 示例显示配置文件中包含了 instrumentationkey,但我认为这是可选的。

有没有人有将 .net 4.8 fabric 服务指向 gov app insights 的经验?

使用政府云时,您需要使用连接字符串而不是检测密钥。

Important

Sovereign clouds, such as Azure Government, require the use of the Application Insights connection string (APPLICATIONINSIGHTS_CONNECTION_STRING) instead of the instrumentation key. To learn more, see the APPLICATIONINSIGHTS_CONNECTION_STRING reference.

更多信息here and here

这最终成为我的政府配置文件的问题。 MSDN 文档对于新配置部分的去向不是很清楚。它使它们看起来都嵌套在配置文件的顶级节点下。事实证明,TelementyChannel 覆盖必须进入默认的 TelemenySinks 节点。我在 github 上联系了微软,希望在他们的文档中澄清这一点。

Link 到不清楚的文档

https://docs.microsoft.com/en-us/azure/azure-monitor/app/custom-endpoints?tabs=net

Link 到 github 问题以解决问题

https://github.com/MicrosoftDocs/azure-docs/issues/80066