首页 文章

Kibana:日志和计算字段之间的持续时间

提问于
浏览
1

我正在尝试使用Kibana来计算两个日志事件之间的持续时间 . 我遇到的问题是日志没有唯一标识符 . 我必须根据某些列对它们进行分组 . 在发现选项卡中,我将其设置为这样 . 我搜索了“通信”和“鼓sw”并按时间排序结果 .

1:  September 10th 2015, 03:04:41.000   Communication   Failure drum    sw  939
2:  September 10th 2015, 03:04:46.000   Communication   Normal  drum    sw  939
3:  September 10th 2015, 03:28:07.000   Communication   Failure drum    sw  2305
4:  September 10th 2015, 03:28:13.000   Communication   Normal  drum    sw  2305

有没有办法按区(sw)和设备类型(SW)对这些日志进行分组?除此之外,如何创建计算字段以确定事件之间的持续时间?

因此对于前两个,它们之间的持续时间是5秒:例如:(当前时间) - (结束时间)= 5秒 . 这是我在脚本字段中要做的事情吗?

我正在使用最新版本的ELK配置 . Kibana 4.2 elasticsearch和logstash 2.0.0 .

谢谢!

2 回答

  • 0

    使用已过滤的{}过滤器,您可以指定作为唯一键的复杂模式(例如组合两个字段) .

  • 1

    我认为使用脚本字段是不可能的,因为:

    使用Lucene表达式时有一些限制:

    Stored fields are not available
    

    有了这个,我认为你不能引用时间,因为是一个没有唯一值的商店字段 . 一种解决方案可能是存储每个日期之前的时间 . 一个例子:

    1:2015年9月10日,03:04:41.000通信故障鼓sw 939并且您添加了一个名称为TimeBefore的营地名称为2015年9月10日,03:04:46.000,您使用脚本字段:

    doc ['Time'] . value-doc ['TimeBefore'] . 值并将此阵营保存为差异时间 .

    也许还有其他更好的解决方案,但这是我能想象到的唯一解决方案 .

    运气与Kibana .

相关问题