两个领域之间的Kibana时间差

Lai*_*nes 5 time date elasticsearch logstash kibana

我有两个字段作为保存在ELK集群中的日志消息的一部分:

"EventTime": "2015-07-28 17:03:20",
"EventReceivedTime": "2015-07-28 17:03:22"
Run Code Online (Sandbox Code Playgroud)

有没有办法在每个日志消息中获取这些字段之间的时间差(在这种情况下为2秒),并通过Kibana3显示它?

如果不可能,直接弹性搜索查询也会起作用.

提前致谢!

小智 6

是的,我刚刚使用脚本字段在Kibana中使用了一些测试数据.在Kibana中,转到"设置",单击左上角的索引模式.

您应该看到2个选项卡"字段"和"脚本字段".

单击"脚本字段"选项卡.然后"添加脚本字段".

输入"名称",然后在"脚本"字段中输入类似的内容

doc ['EventReceivedTime'].value - doc ['EventTime'].value

点击底部的"创建字段".现在,您应该在Discover中看到新的脚本字段,并且可以在可视化中使用它.我的时间戳以毫秒为单位,我的delta_time以毫秒为单位.


Ala*_*ins 5

如果值是数字,那么您应该能够在kibana中创建脚本字段(使用启用的"elasticsearch 脚本 "功能).在显示每个事件时,必须计算它.

当事件发生时,我建议在logstash中执行此操作.在写入elasticsearch之前,您可以删除使用ruby {}过滤器来计算差异,因此它在查询和显示中可用,而当时没有其他处理.