2015-11-02 100 views
1

我正在嘗試使用Kibana來計算兩個日誌事件之間的持續時間。我遇到的問題是日誌沒有唯一的標識符。我將不得不根據某些列將它們分組。在發現選項卡中,我將它設置爲這樣。我搜索了「溝通」和「鼓sw」,並按時間排序結果。Kibana:日誌和計算字段之間的持續時間

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。

謝謝!

回答

1

使用經過的{}過濾器,您可以指定一個複雜的模式,它是您的唯一鍵(如合併兩個字段)。

0

我認爲使用腳本領域是不可能的,因爲:

有使用Lucene表達式時,有一些限制:

Stored fields are not available 

有了這個,我supose,你不能引用的時候,因爲是商店沒有獨特價值的領域。一種解決方案可能是存儲每個日期之前的時間。舉個例子:

1:2015年9月10日,03:04:41.000通訊失敗drum sw 939,你添加了一個營地名稱TimeBefore,價值2015年9月10日,03:04:46.0​​00,帶腳本的字段:

doc ['Time'] .value-doc ['TimeBefore']。值並將這個陣營保存爲不同的時間。

也許還有其他更好的解決方案,但這是我能想象的唯一。

運氣與Kibana。