我有一个在ServiceFabric解决方案中带有远程处理的ServiceFabric StatefulService,它还包含一个无状态WebApi,并希望使用Application Insights来监控此服务。WebApi已经在使用AI了,而且运行得很好。
我在一个虚拟项目中尝试了这一点,在服务的构造函数中配置AI,一切都很好:
public ReliableService(StatefulServiceContext context) : base(context)
{
var instrumentationKey = "myIKey";
TelemetryConfiguration.Active.TelemetryInitializers.Add(
FabricTelemetryInitializerExtension.CreateFabricTelemetryInitializer(this.Context)
);
_telemetryClient = new Microsoft.ApplicationInsights.TelemetryClient { InstrumentationKey = instrumentationKey };
TelemetryConfiguration.Active.InstrumentationKey = instrumentationKey;
TelemetryConfiguration.Active.TelemetryInitializers.Add(new OperationCorrelationTelemetryInitializer());
TelemetryConfiguration.Active.TelemetryInitializers.Add(new HttpDependenciesParsingTelemetryInitializer());
new DependencyTrackingTelemetryModule().Initialize(TelemetryConfiguration.Active);
new ServiceRemotingRequestTrackingTelemetryModule().Initialize(TelemetryConfiguration.Active);
new ServiceRemotingDependencyTrackingTelemetryModule().Initialize(TelemetryConfiguration.Active);
}但是,当我将相同的代码复制到现有项目中时,只有WebApi将遥测数据发送到AI,而不是来自statefull服务。
知道我做错了什么吗?这些文档对我并没有真正的帮助,没有完整的例子说明在带有远程处理的statefull服务中使用AI。
感谢您的回答!
发布于 2018-10-06 09:00:08
您将需要这个包https://github.com/Microsoft/ApplicationInsights-ServiceFabric来使其与服务远程处理一起工作。
配置故事因您的项目类型而异,例如,控制台应用、Asp.Net或Asp.Net核心。如果您使用的是Asp.Net/Asp.Net核心项目,那么配置故事将比您在虚拟项目中所做的更好。
下面是一些可能对https://github.com/yantang-msft/service-fabric-application-insights-example有帮助的示例
https://stackoverflow.com/questions/52669747
复制相似问题