【问题标题】:fluentd logging nginx realtimefluentd实时记录nginx
【发布时间】:2013-06-09 21:10:13
【问题描述】:

我正在做一个项目,我正在考虑使用 fluentd。我需要实时解析nginx访问日志,可能使用in_tail。但是当发生日志轮换时就会出现一个问题。

鉴于这种情况,fluentd 完成 tail 直到 DAY1 23:59:00。下一次预定的运行时间为 2 分钟。所以它将在 DAY2 01:01:00 再次运行。同时轮换了 nginx 访问日志(文件很可能被截断)。假设每分钟有 1000 个日志条目。 fluentd如何在轮换后检索DAY1的最后一分钟。谁能指点一下?

【问题讨论】:

    标签: ruby nginx fluentd


    【解决方案1】:

    我认为,如果在之前的检查后更新,fluentd 也会从旋转文件中读取数据

    http://docs.fluentd.org/articles/in_tail 旋转等待

    in_tail 实际上比 tail -F 本身做得更多。旋转文件时,可能仍需要将一些数据写入旧文件而不是新文件。

    in_tail 通过在完全转换到新文件之前保留对旧文件的引用(即使在它已经旋转之后)一段时间来处理这个问题。这有助于防止为旧文件指定的数据丢失。默认情况下,此时间间隔为 5 秒。

    rotate_wait 参数接受一个整数,表示您希望此时间间隔的秒数。

    【讨论】:

      【解决方案2】:

      Fluentd 的 in_tail 并不是为了赶上这么多的日志轮换而设计的。我建议你改用 nginx Fluentd 模块。

      【讨论】:

      • nginx Fluentd模块是否解决了日志轮转和磁盘空间清理的问题??
      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 2020-03-31
      • 2016-06-29
      • 1970-01-01
      相关资源
      最近更新 更多