Nservicebus ServicePulse显示零错误,但仍存在错误

Nservicebus ServicePulse显示零错误,但仍存在错误,nservicebus,Nservicebus,请参阅我随附的屏幕截图 我有一个“sms”队列,其中包含使用NServiceBus从web客户端发布的消息。不断刷新MSMQ管理器我看到消息出现在sms队列中。NServiceBus处理这些异常并引发异常(我不关心异常-我知道如何解决它们),NServiceBus将进行第一级和第二级重试。最终,消息会如预期的那样出现在“错误”队列中。但是,我担心的是,我没有在ServicePulse视图中看到任何这些失败消息。 以下是我的端点配置的摘录: <AuditConfig QueueName="a

请参阅我随附的屏幕截图

我有一个“sms”队列,其中包含使用NServiceBus从web客户端发布的消息。不断刷新MSMQ管理器我看到消息出现在sms队列中。NServiceBus处理这些异常并引发异常(我不关心异常-我知道如何解决它们),NServiceBus将进行第一级和第二级重试。最终,消息会如预期的那样出现在“错误”队列中。但是,我担心的是,我没有在ServicePulse视图中看到任何这些失败消息。 以下是我的端点配置的摘录:

<AuditConfig QueueName="audit" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />

ServiceControl DLL已就位,并且端点在ServicePulse仪表板中显示心跳信号

同样值得关注的是,审核队列中没有显示任何消息


我遗漏了什么?

我在这里找到了对我有用的答案:

显然,ServicePulse强制您对所有端点使用集中的错误队列。我假设它将使用端点配置中定义的错误队列,但没有这样的运气

队列的默认名称为“error”。这意味着你有两个选择

  • 将所有端点错误队列重命名为“错误”
  • 在此处创建配置文件:C:\Program Files(x86)\Special Software\ServiceControl\ServiceControl.exe.config,其中包含以下内容:


  • 希望这对你也有帮助。

    有趣的是,我今天也面临着同样的问题。如果我在你面前找到答案,我会回答你的问题。:)顺便说一句,审核队列应该只获取成功的消息,因此,如果您只收到了预期的失败消息,那么我提供的配置文件将从答案中消失。。。好吧,这就是:正确。它背后的架构思想是为整个系统提供一个集中的错误和审计点。ServiceControl从这些队列中获取信息,并向ServicePulse提供必要的信息。这也是审核和错误队列为空的原因。如果仍要保留消息的副本,请确保还配置了AuditLogQueue和ErrorLogQueue(ServiceBus/ErrorLogQueue和ServiceBus/AuditLogQueue)。等等,我没有跟上。如果我有一个名为“error”的队列,而ServiceControl的默认错误队列是“error”,那么我将在ServiceControl.exe.config中输入什么?如果名为error的队列是您从服务登录到的队列,那么您的问题可能不是我的问题。但是请注意,servicecontrol会清空错误队列,这就是为什么您可以使用error.log队列来保留原始项目的原因。@ShawndeWet所有内容都在同一台计算机上运行吗?在多机环境中拥有一个集中的错误队列意味着定义错误队列,如下所示error@machinename如果是MSMQ。因此ServiceControl需要使用此错误队列,并可以将处理后的消息转发到日志队列i.ex。错误。log@machinename. 这说明了吗?