【问题标题】:How do you integrate Application Insights into Service Fabric?如何将 Application Insights 集成到 Service Fabric?
【发布时间】:2016-08-07 18:53:28
【问题描述】:

我目前使用 Azure Application Insights 来登录我的所有 Web API 和 MVC 应用程序。显然,这种日志记录的大部分是自动的,这很棒。对于我手动要捕获的事件,我已经实现了一个“LoggingUtility”,它具有像“LogError”和“LogInformation”这样的方法,它们只需调用 Trace.TraceError 和 Trace.TraceInformation(想法是日志记录的实现可以在一个未来的地方)。然后由 Application Insights 捕获跟踪。

我已开始在 Azure Service Fabric 中开发一些有状态服务,但似乎无法找到使用 Application Insights 的方法。我偶然发现了几篇文章,这些文章将我指向了一个 NuGet 包,该包处于预发布状态,但现在已被删除 (https://www.nuget.org/packages/Microsoft.ServiceFabric.Telemetry.ApplicationInsights/)。

当然,Service Fabric 模板会生成“ServiceEventSource”,但首先我看不出这对 Application Insights 有什么用处,理想情况下,我希望通过我的“LoggingUtility”类完成所有日志记录。

是否可以将 Application Insights 集成到 Service Fabric 中?如果是这样,我可以继续使用 Trace(通过我的“LoggingUtility”类)吗?

【问题讨论】:

标签: c# logging azure-service-fabric azure-application-insights


【解决方案1】:

您有两个选择: 1. 在 LoggingUtility 类中使​​用 Application Insights SDK 将信息直接发送到 AI 2. 使用 SF 项目模板中提供的 EventSource 类,使用 Windows Azure 诊断 (WAD) 将 Eventsource 跟踪转发给 AI。您可以将该类修改为您的 LoggingUtility 类实现。

考虑到您在 Azure 中运行 SF 集群,第二种方法是当前的建议,因为 Service Fabric 系统服务事件也使用事件跟踪。

要将 Azure 诊断配置为 AI,请按照本文中概述的步骤操作:https://azure.microsoft.com/en-us/blog/azure-diagnostics-integration-with-application-insights/

请注意,本文针对的是云服务和 VM,但仅使用 VM 规模集而不是 VM 来配置 Azure 诊断。应该可以的。

不再支持 NuGet 包:https://social.msdn.microsoft.com/Forums/en-US/f0f1ad78-4d83-48e5-b1da-4a9f0eddb9b2/application-insights-for-service-fabric?forum=AzureServiceFabric

【讨论】:

    【解决方案2】:

    我们使用了新的 Microsoft.Extentions.Logging 并编写了一个洞察记录器 - 它通过 Trace 获取服务结构消息,我们还提取了它没有添加太多的所有 ETW 内容。

    【讨论】:

      猜你喜欢
      • 2018-06-07
      • 2018-01-05
      • 2021-03-14
      • 2021-05-06
      • 1970-01-01
      • 2017-12-22
      • 2017-10-16
      • 2021-02-06
      • 2018-02-20
      相关资源
      最近更新 更多