NServiceBus审核清理无法正常工作

时间:2016-09-28 08:53:10

标签: nservicebus

我正在使用NServiceBus 5.2.16并且我遇到了审计日志清理的问题。在ServiceControl Management Utility中,审核保留期设置为30天。但是,RavenDB数据库每天都在不断增长,而在ServiceInsight中,我可以看到超过30天的成功消息,因此我怀疑旧消息不会从数据库中删除。我该怎么做才能限制NServiceBus RavenDB数据库的大小?

1 个答案:

答案 0 :(得分:1)

我设法通过删除整个Raven数据库并重新启动ServiceControl来解决此问题。这创建了一个新数据库,之后ServiceControl正确删除了旧的审计条目。

我确实从特定支持中获得了一些有用的信息。您可以通过ServiceControl.exe.config文件中的设置来控制审核清理过程。特别是,ServiceControl/ExpirationProcessTimerInSecondsServiceControl/ExpirationProcessBatchSize设置非常有用,因为它们允许您更频繁地安排清理过程或增加每个批次中删除的最大项目数。您可以在NServiceBus documentation

中找到有关这些设置的更多详细信息

此外,您可以在ServiceControl的日志文件中监视清理过程。但是,首先需要将日志记录详细程度增加到至少Info。这可以使用ServiceControl/LogLevel文件中的ServiceControl.exe.config设置来完成。更改日志级别后,您应该在ServiceControl的Logs目录中看到与以下类似的日志条目。

2016-10-26 09:49:06.2652|77|Info|ServiceControl.Infrastructure.RavenDB.Expiration.SagaHistoryCleaner|Batching deletion of 0-499 sagahistory documents completed.
2016-10-26 09:49:06.2808|77|Info|ServiceControl.Infrastructure.RavenDB.Expiration.SagaHistoryCleaner|Batching deletion of 500-715 sagahistory documents.
2016-10-26 09:49:06.4996|77|Info|ServiceControl.Infrastructure.RavenDB.Expiration.SagaHistoryCleaner|Batching deletion of 500-715 sagahistory documents completed.
2016-10-26 09:49:06.4996|77|Info|ServiceControl.Infrastructure.RavenDB.Expiration.SagaHistoryCleaner|Deleted 716 expired sagahistory documents. Batch execution took 11635ms
2016-10-26 09:49:06.4996|77|Info|ServiceControl.Infrastructure.RavenDB.Expiration.ErrorMessageCleaner|No expired error documents found