gpt4 book ai didi

azure-service-fabric - Service Fabric 和应用程序洞察

转载 作者:行者123 更新时间:2023-12-04 17:31:39 27 4
gpt4 key购买 nike

我是服务结构的新手,并试图将我的 Windows 服务应用程序集成到服务结构中。对于日志信息,我们计划使用 Application Insights。但是如果我通过我的 SF 应用程序发送事件,则不会记录事件。同时,通过普通的控制台/Windows 应用程序,我可以将消息记录到 applicationinsights 中,并可以从那里查看。

然后我尝试在azure环境中创建一个VM,并在那里创建SF应用程序并将日志信息发送给AI并成功运行。我将相同的代码库复制到我的本地机器并运行它,它不起作用。我不确定它是否与任何防火墙或代理设置有关。任何人都可以帮忙吗?

我已经使用 nuget 包在我的机器上安装了 Microsoft.ApplicationInsights dll。我使用的版本是 2.2.0。我正在使用 .Net 框架 4.6.1

最佳答案

你可以看看EventFlow帮助您从 SF 服务捕获 Service Fabric ETW 事件并将其发送到 Application Insights。

设置很简单,只需添加 Microsoft.Diagnostics.EventFlow.ServiceFabric NuGet 到您的 Service Fabric 服务项目和 then setup a pipline

public static void Main(string[] args)
{
try
{
using (var diagnosticsPipeline = ServiceFabricDiagnosticPipelineFactory.CreatePipeline("MyApplication-MyService-DiagnosticsPipeline"))
{
ServiceRuntime.RegisterServiceAsync("MyServiceType", ctx => new MyService(ctx)).Wait();

ServiceEventSource.Current.ServiceTypeRegistered(Process.GetCurrentProcess().Id, typeof(MyService).Name);

Thread.Sleep(Timeout.Infinite);
}
}
catch (Exception e)
{
ServiceEventSource.Current.ServiceHostInitializationFailed(e.ToString());
throw;
}
}

在您的 eventflow.config然后你可以 setup Application Insights作为输出:
{
"inputs": [
{
"type": "EventSource",
"sources": [
{ "providerName": "Your-Service-EventSource" }
]
},
],
"filters": [
{
"type": "drop",
"include": "Level == Verbose"
}
],
"outputs": [
// Please update the instrumentationKey.
{
"type": "ApplicationInsights",
"instrumentationKey": "00000000-0000-0000-0000-000000000000"
}
],
"schemaVersion": "2016-08-11",
"extensions": []
}

关于azure-service-fabric - Service Fabric 和应用程序洞察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42639663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com