首页 > 解决方案 > 如何在 Service Fabric 中设置 Cloud_RoleName

问题描述

我正在尝试在 Application Insights Application Map 中获得一个对用户更友好的组件名称。我找到了示例,但没有专门针对 Service Fabric。

您如何将它与作为 Kestrel WebHostBuilder 一部分的 FabricTelemetryInitializer 集成?

标签: azureazure-service-fabricazure-application-insights

解决方案


如果你没有使用 Application Insights Service Fabric nuget 包,那么你应该使用它来设置你的云角色。 https://www.nuget.org/packages/Microsoft.ApplicationInsights.ServiceFabric https://www.nuget.org/packages/Microsoft.ApplicationInsights.ServiceFabric.Native

如果您的应用程序引用了 Service Fabric 运行时,则应使用 Microsoft.ApplicationInsights.ServiceFabric.Native,因为此库与 ServiceContext、Service Remoting 等概念相关。如果您的应用程序在 Service Fabric 中运行,则应使用 Microsoft.ApplicationInsights.ServiceFabric,但没有参考服务结构运行时。

由于您提到了 FabricTelemetryInitializer,我假设您已经在使用这些 nuget 包。您可以在此处查看如何连接 FabricyTelemetryInitializer: https ://github.com/microsoft/applicationinsights-servicefabric#net-core-1

如果您没有服务上下文对象,则不要将一个传递给构造函数,FabricTelemetryInitializer 将仅依赖环境变量。

有关实际逻辑,请参见此处: https ://github.com/Microsoft/ApplicationInsights-ServiceFabric/blob/master/src/ApplicationInsights.ServiceFabric/Shared/FabricTelemetryInitializer.cs#L81


推荐阅读