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 可以引用它的最后位置并从那里开始处理。
我是 运行 syslog-ng inside docker,我正在从本地文件收集日志,处理它们然后写入另一个日志文件或将它们发送到 slack。
我注意到,每当我需要更新 syslog-ng 配置并重新启动容器时,syslog-ng 会重新读取源日志文件中的所有消息,这会导致目标文件重复,松弛通道。
是否有选项告诉系统日志在重启后只处理新消息或者只处理 1 小时前的日志文件?
我尝试 google/check 文档,但没有运气,我可能没有正确地问这个问题,因为我会假设这个选项存在与否? 谢谢
默认情况下,syslog-ng 保留适用于“书签”或“位置跟踪”概念的来源的位置。
常规文件源也是如此。
您所要做的就是保持 syslog-ng 持久文件完整(syslog-ng.persist
在 /var
文件夹下)。
听起来您可能丢失了 MrAnno 提到的持久文件。您可以尝试将此文件和日志文件放在持久文件夹中,以便 syslog-ng 可以引用它的最后位置并从那里开始处理。