我已經通過Logstash
將網絡日誌導入Elasticsearch
。這已成功完成。Kibana:如何根據兩個字段進行可視化
我在日誌文件(clientip
)中有一個字段,它總是被填充的,另一個字段有時被填充(trueclientip
)。我想根據兩者的結合進行聚合;例如如果trueclientip
不是空的,那麼使用否則使用clientip
。
我該如何在基巴納的可視化中做到這一點?我是否需要生成腳本字段或者是否有其他方法?
謝謝。
我已經通過Logstash
將網絡日誌導入Elasticsearch
。這已成功完成。Kibana:如何根據兩個字段進行可視化
我在日誌文件(clientip
)中有一個字段,它總是被填充的,另一個字段有時被填充(trueclientip
)。我想根據兩者的結合進行聚合;例如如果trueclientip
不是空的,那麼使用否則使用clientip
。
我該如何在基巴納的可視化中做到這一點?我是否需要生成腳本字段或者是否有其他方法?
謝謝。
定義腳本區域應該有這樣的公式:doc['trueclientip'].value ? doc['trueclientip'].value : doc['clientip'].value
,並在你的聚合使用。
但是,這個腳本字段功能和ip
類型有一個缺點:看起來你從腳本中得到的是數字本身(這是邏輯,因爲Kibana 4中的腳本字段只使用Lucene表達式作爲語言),而不是字符串表示。內部IP實際上是Lucene中的long
數字。
例如,127.0.0.1
被內部表示爲2130706433
。這就是您將在Visualize中看到的內容。
並不理想,事實上,這將是件好事,在腳本領域更先進的腳本語言,而是一個github issue already exists。
如果這些字段是數字,那麼它可能工作,否則不太確定。原因將是需要使用僅允許數字字段的腳本字段。 –
@andreistefan他們是IP地址,所以他們是字符串。例如127.0.0.1 – baynezy
他們不是字符串;-)。 IP在內部存儲爲數字。 –