1

我有一个由 5 节点 VM 规模集支持的 Service Fabric 群集。我已在规模集上启用了诊断扩展,并将其配置为启用 ETW 日志的传输并将数据发送到 Application Insights。

我可以看到这种情况正在发生,但我看到生成的每条消息都有重复的条目。每条消息都会在 App Insights 中显示 4 次:

在此处输入图像描述

我还通过代码中的侦听器登录到表存储,并且可以看到跟踪只记录一次,所以我很确定这是诊断扩展的问题。

但是,我在 ETW 日志中注意到以下警告:

在此处输入图像描述

这似乎表明重复是由于无法读取日志时间戳,因为它同时被其他东西访问。

这是因为规模集上有多个节点并且它们都试图同时访问 ETWEventTable 以获取时间戳吗?

有没有办法来解决这个问题?或者,如果另一个问题是原因,我该如何解决?

4

1 回答 1

1

这里的问题是我有多个提供者都使用相同的事件目标:

    "EtwEventSourceProviderConfiguration":[  
          {  
              "provider":"Provider1",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTable"
              }
           },
           {  
              "provider":"Provider2",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTable"
              }
           },
           {  
              "provider":"Provider3",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTable"
              }
           }
        ],

我添加了唯一命名的事件目的地,这似乎阻止了消息重复:

 "EtwEventSourceProviderConfiguration":[  
          {  
              "provider":"Provider1",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTableProvider1"
              }
           },
           {  
              "provider":"Provider2",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTableProvider2"
              }
           },
           {  
              "provider":"Provider3",
              "Event":[  

              ],
              "DefaultEvents":{  
                 "eventDestination":"ETWEventTableProvider3"
              }
           }
        ],
于 2017-01-18T11:06:54.617 回答