2016-09-28 48 views
1

我正在使用NServiceBus 5.2.16,我遇到了審計日誌清理問題。在ServiceControl管理實用程序中,審覈保留期限設置爲30天。但是,RavenDB數據庫每天都在不斷增長,並且在ServiceInsight中,我可以看到超過30天的成功消息,因此我懷疑舊消息不會從數據庫中刪除。我能做些什麼來限制NServiceBus RavenDB數據庫的大小?NServiceBus審計清理不起作用

+0

但是,您是否可以嘗試更新ServiceControl並將其更新到最新版本? http://particular.net/downloads –

+0

我已經在使用最新版本(1.23)。我就此問題聯繫了特別支持。一旦我從他們那裏獲得任何信息,我會發布更新。 –

+0

我也注意到使用最新版本的這個問題。 – Kye

回答

1

我設法通過刪除整個Raven數據庫並重新啓動ServiceControl來解決此問題。這創建了一個新的數據庫,之後,舊的審計條目被ServiceControl正確刪除。

我確實從特定的支持獲得了一些有用的信息。您可以通過ServiceControl.exe.config文件中的設置來控制審計清理過程。特別是,ServiceControl/ExpirationProcessTimerInSecondsServiceControl/ExpirationProcessBatchSize設置很有用,因爲它們允許您更頻繁地安排清理過程或增加每批中刪除的項目的最大數量。您可以在NServiceBus documentation中找到有關這些設置的更多詳細信息。

此外,您可以監視ServiceControl的日誌文件中的清理過程。但是,首先您需要將日誌記錄詳細程度提高到至少Info。這可以使用ServiceControl.exe.config文件中的ServiceControl/LogLevel設置完成。更改日誌級別後,您應該在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