【问题标题】:Missing Events in Kibana due to roll out of events from .json file由于 .json 文件中的事件推出,Kibana 中缺少事件
【发布时间】:2015-05-22 10:23:38
【问题描述】:

我正在使用 ELK,由于发生了大量日志记录,.json 文件中的事件正在滚动到 .json.1 文件中,因此,当我运行测试时,我没有得到 kibana 中的所有事件(例如,如果我有 1200 个事件,我将在 kibana 中获得 1100 个事件条目,一旦 .json 文件完全填充,其余 100 个将被推出到 .json.1。但我已经在 logstash 中进行了配置以读取只有 .json 文件,我错过了 .json.1 中存在的所有 100 个事件。)。如何让那些在 kibana 中推出的 100 个事件?

【问题讨论】:

    标签: json elasticsearch logstash kibana


    【解决方案1】:

    您的基本问题似乎是记录到文件的事件太多,而logstash 没有足够快地提取它们。

    事件是如何产生的?您可以将记录器更改为记录到 rabbitmq 或 redis 或其他东西吗?然后你可以让 logstash 从 rabbitmq 或其他东西中获取这些消息。

    这种方法将为您提供更高的传递保证和更低的邮件丢失风险。

    【讨论】:

    • 另一方面,如果 RabbitMQ 已关闭或日志应用程序由于其他原因无法发布日志消息,则应用程序要么阻塞,要么您不会得到任何日志。直接登录到代理可能很有用,但应谨慎操作。
    【解决方案2】:

    虽然这在一定程度上取决于文件的旋转方式,但在 Logstash 监视的文件名模式中列出文件 foo.json 和 foo.json.1 应该没问题。或者,增加旋转之间的间隔。

    无论哪种方式,它都要求您所描述的内容仅发生在罕见的突发事件中,并且总体记录速率明显低于 Logstash 可以处理的速率。如果不是,您只需提高 Logstash 的性能。

    【讨论】:

    • 如何增加旋转间隔?有办法吗?
    • 我确定有,但具体如何执行取决于谁负责轮换。可能是 logrotate,在这种情况下,/etc/logrotate.d 中可能有一个配置文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    相关资源
    最近更新 更多