![](/img/trans.png)
[英]Logstash to Elasticsearch adding new data in the fields instead of overwriting the existing data?
[英]Elasticsearch + Logstash: How to add a fields based on existing data at importing time
目前,我正在通過logstash將數據導入Elastic,這時是通過讀取csv文件。
現在,假設我在csv,年齡和權重中有兩個數字字段。 我需要通過對年齡,體重和其他外部數據(或函數結果)進行數學運算來動態添加第三個字段; 並且我需要在導入數據時創建第三個字段。
有什么辦法嗎? 最佳做法是什么?
在所有Logstash過濾器部分中,您可以通過add_field
添加字段,但這通常是靜態數據。
如此處所述,ruby過濾器插件可能是您的最佳選擇。 這是您的管道的示例代碼段
filter {
# add calculated field, for example BMI, from height and weight
ruby {
code => "event['data']['bmi'] = event['data']['weight'].to_i / (event['data']['height'].to_i)"
}
}
另外,在Kibana中,有一些腳本化的字段需要可視化,但無法查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.