我有Service Fabric集群,它由5节点VM规模集支撑。我已在比例集上启用了Diagnostic扩展,并将其配置为启用ETW日志的传输并将数据发送到Application Insights。
我可以看到这种情况正在发生,但我看到生成的每条消息都有重复的条目。每条消息都会在App Insights中显示4次:
我也通过代码中的监听器登录到表存储,并且可以看到跟踪只在那里记录,所以我很确定它是诊断扩展的问题。
我注意到ETW日志中有以下警告:
似乎暗示重复项是由于无法同时读取其他内容而无法读取日志时间戳引起的。
这是因为规模集上有多个节点,他们都试图同时访问ETWEventTable来获取时间戳吗?
有没有办法解决这个问题?或者,如果另一个问题是原因,我该如何解决它?
答案 0 :(得分: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"
}
}
],