【问题标题】:How can I use Kafka to retain logs in logstash for longer period?如何使用 Kafka 将日志保留在 logstash 中更长时间?
【发布时间】:2015-11-06 11:34:32
【问题描述】:

目前我使用 redis -> s3 -> 弹性搜索 -> kibana 堆栈来管道和可视化我的日志。但由于弹性搜索中的大量数据,我最多可以保留 7 天的日志。

我想在这个堆栈中引入 kafka 集群并将日志保留更多天数。我正在考虑关注堆栈。

应用程序节点将日志管道传输到 kafka -> kafka 集群 -> elastics 搜索集群 -> kibana

如何使用 kafka 将日志保留更多天数?

【问题讨论】:

    标签: elasticsearch logstash apache-kafka kibana logstash-configuration


    【解决方案1】:

    查看 Apache Kafka broker configs,有两个属性决定何时删除日志。一个是时间,另一个是空间。

    log.retention.{ms,minutes,hours}
    log.retention.bytes
    

    另外请注意,如果同时设置了 log.retention.hours 和 log.retention.bytes,我们会在超过任一限制时删除一个段。

    这两个决定何时在 Kafka 中删除日志。 log.retention.bytes 默认为 -1,我很确定将其保留为 -1 仅允许时间配置单独确定何时删除日志。

    因此,要直接回答您的问题,请将 log.retention.hours 设置为您希望保留数据的小时数,并且不要更改 log.retention.bytes 配置。

    【讨论】:

    • 谢谢。但是如何将我的应用程序节点 catalina.out 中的日志提供给 logstash 中的 kafka clutser?
    • 我不知道。我从来没有使用过logstash。您最初只是问如何配置 Kafka 以保留日志,所以我回答了这个问题。如果您问一个与您的 logstash 设置有关的全新问题,那可能会更好。
    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多