【问题标题】:Kibana discover tab doesn't reflect the real-time logs.Kibana 发现选项卡不反映实时日志。
【发布时间】:2018-05-15 01:38:06
【问题描述】:

我有一个 ELK 设置,其中 Elastic Search、LogStash 和 Kibana 在一个 VM 上运行。使用来自另一个 VM 的 filebeat 从另一个服务发送日志。

Elastic Search 的版本是:0:6.2.4-1

我在 Kibana 中启用了自动刷新,每 5 秒刷新一次,还选择了最后 15 分钟窗口来显示日志。

问题:

  1. 当文件节拍启动时,它会立即开始传送日志。我可以从文件节拍日志中看到这一点。但是,新日志只会在延迟一段时间后才会反映在 Kibana 中。行为不一致,在某些情况下,我可以看到长达 30 分钟的延迟。这是预期的吗?

  2. 如果禁用 Kibana 屏幕上的刷新(即从 5 秒更改为“关闭”),请等待 15 分钟,然后重新启用刷新(从“关闭”更改为 5 秒)。应该是什么行为?这 15 分钟,log stash 和 ES 实际上都在接收日志,只是 Kibana 刷新被禁用。 a) 它会快速显示前 15 分钟的日志并开始实时显示新日志吗? b) 还是这 15 分钟的延迟继续存在?我的意思是,从现在开始,我们是否总是在 Kibana 上看到延迟 15 分钟的日志?

  3. 当 File beat 进程停止时,Kibana 仍然显示一些日志并不断刷新。我的期望是,一旦 File beat 停止,kibana 上的日志刷新也应该以一个小的延迟(以秒为单位)停止。但我看到日志刷新在接下来的 1 小时左右继续发生。为什么 Kibana 有这种行为?我错过了什么吗?我还观察到,当 Kibana 没有任何新日志要显示时,我认为它正在显示旧日志。不是 100% 确定,但这会发生吗?

我搜索了谷歌和堆栈溢出,但实际上无法获得任何有用的信息。快速解释和解决方案或任何有助于解决此问题的指针/链接将对我有用。

谢谢。

【问题讨论】:

    标签: elasticsearch logging logstash kibana filebeat


    【解决方案1】:
    • logstash 接收日志(在您的情况下,来自 filebeats)并将它们发送到 elasticsearch,也许对日志进行一些过滤或解析。默认情况下,日志会以logstash收到日志的日期保存在elasticsearch中;此默认日期可以替换为从日志中解析的日期(在字段 timestamp 中)。
    • elasticsearch 保存日志并可以按需返回
    • kibana 根据其参数在 elasticsearch 中检索日志,在您的情况下,是过去 15 分钟内带有 timestamp 的日志

    回答您的问题:

    1. 我不知道具体原因,我需要更多信息。您应该提出更详细的问题(配置、示例日志、Kibana 中显示的数据)
    2. kibana 的Last 15 min 请求弹性搜索以timestamp 从现在到现在 - 15 分钟之间的日志。所以它将是 c) kibana 实时显示日志,忽略在 now-15 分钟之前收到的日志。
    3. Kibana 中的日志刷新将一直持续到您要求它停止为止,logstash 停止接收新日志不会停止 kibana 自动刷新。从现在到现在 - 15 分钟,Kibana 将继续向 elasticsearch 询问带有timestamp 的日志。因此,如果自 filebeat 停止后 15 分钟后 kibana 继续显示日志,则意味着未来有日志记录。

    请注意,您不应该在一个 StackOverflow 问题中提出多个问题。

    【讨论】:

    • 感谢您的回答。上面的#2 和#3 很有用。顺便说一句,我的问题的哪一部分让你觉得我不知道 ELK 堆栈中有不同的软件?
    • @user2896235 当我第一次阅读你的问题时,我误解了它的一部分。我会编辑这部分。
    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    相关资源
    最近更新 更多