【问题标题】:Tail stops tailing logs in pod sidecarTail 停止在 pod sidecar 中拖尾日志
【发布时间】:2020-07-10 06:38:46
【问题描述】:

我有一个在 kubernetes 中运行的 pod,其中一些边车使用以下命令从“主”容器中跟踪不同的日志文件:

tail -n+1 -f path/to/log.file

问题是,在部署 pod 几天后,其中一个边车停止了拖尾日志,而其余的边车继续正常工作。

失败的总是相同的,与其他相比,拖尾一个更大的日志文件。

我进入边车,手动拖尾,就可以正常看到日志了。

拖尾停止时 pod 没有重新启动,并且日志文件没有重新创建。我能看到的唯一想法是 pod 几分钟前释放了一些内存,但我不知道这与问题有什么关系。

有什么可能导致这种情况的想法吗?

【问题讨论】:

  • 相关文件是否发生了任何类型的日志轮换?
  • @kristaps 是的,这个文件有日志轮换,每天大约发生 4 次。会不会是因为这个?当我说文件没有重新创建时,我的意思是我的意思是,它可以因为轮换而重新创建,但我看不到这种情况发生的时间,因为我最多只能有 2 天前的日志文件,而且这种情况发生得更早。跨度>
  • @kristaps 其他正确跟踪的日志文件也有轮换。
  • Tail 有--max-unchanged-stats=N 标志,在N 迭代后重新打开文件,如果文件大小没有改变以检查它是否已取消链接,这可能发生在日志轮换中。跨度>
  • 是的@kristaps,由于重新创建了日志文件,这显然是一个问题。我不知道为什么我们只能在这种情况下而不是在其余文件中观察它。将发布答案

标签: kubernetes tail


【解决方案1】:

问题是由于重新创建了日志文件。 用-F替换-f后问题似乎解决了。

tail -n+1 -F path/to/log.file

仍然不确定为什么在其他情况下使用日志轮换没有问题,但无论如何从现在开始这应该不是问题

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2017-05-31
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多