Serilog在Service Fabric中不起作用

时间:2018-04-20 11:58:31

标签: azure azure-service-fabric

我使用Updated demo写入文件并尝试获取有关生产群集中发生的错误的更多信息...

在我的本地开发群集中,日志文件很好地创建,但它们不是在我的生产群集上的VM中创建的。我认为这可能与安全有关

  • 有没有人有这个?
  

我的生产群集有5个节点,每个节点都有一个Windows 2016虚拟机

更奇怪的是,这适用于Azure

中的单个节点群集
read_only = True

3 个答案:

答案 0 :(得分:1)

我不建议在Service Fabric中登录本地文件,因为您的节点可能随时被移动到另一个VM,并且您无法访问这些文件。考虑使用另一个写入外部系统的接收器(数据库,消息总线或日志系统,如loggly

答案 1 :(得分:0)

这可能是一个许可问题。您的服务可能正在尝试登录到没有权限的文件夹。

默认情况下,您的服务将在与作为NetworkService运行的 Fabric.exe 进程相同的用户下运行,您可以在this link上找到有关此内容的更多信息。 我不推荐这种方法,因为很多原因,其中一些是:

  • 您的服务可能会在群集中移动,因此您的文件将不完整
  • 您必须登录多台计算机才能找到日志
  • 节点可能已经消失了文件(向上扩展+向下,失败,磁盘错误)
  • 尝试访问同一文件的同一节点上的多个实例
  • 等......

在Service Fabric上,推荐的方法是使用EventSource(或ETW)+ EventFlow + Application Insights。它们一起运行顺畅,为您带来许多功能。

如果您想使用Serilog,我建议您使用Serilog + Application Insights,它会让您灵活地监控。看一下针对serilog here的Application Insights接收器。

答案 2 :(得分:0)

这实际上是用户错误!我连接的是不同的虚拟机集群,而不是我的服务结构所连接的虚拟机集群!糟糕!

相关问题