syslog-ng 在重启后处理所有消息

syslog-ng processing all messages after restart

我是 运行 syslog-ng inside docker,我正在从本地文件收集日志,处理它们然后写入另一个日志文件或将它们发送到 slack。

我注意到,每当我需要更新 syslog-ng 配置并重新启动容器时,syslog-ng 会重新读取源日志文件中的所有消息,这会导致目标文件重复,松弛通道。

是否有选项告诉系统日志在重启后只处理新消息或者只处理 1 小时前的日志文件?

我尝试 google/check 文档,但没有运气,我可能没有正确地问这个问题,因为我会假设这个选项存在与否? 谢谢

默认情况下,syslog-ng 保留适用于“书签”或“位置跟踪”概念的来源的位置。

常规文件源也是如此。 您所要做的就是保持 syslog-ng 持久文件完整(syslog-ng.persist/var 文件夹下)。

听起来您可能丢失了 MrAnno 提到的持久文件。您可以尝试将此文件和日志文件放在持久文件夹中,以便 syslog-ng 可以引用它的最后位置并从那里开始处理。