我正在使用ELK-Stack导入CSV文件。每次导入CSV文件时,文档的“ _version”字段都会增加,这与预期的一样。但是,由于_version字段是元数据字段,因此ELK不会对其进行索引。因此,该字段不可搜索,无法在仪表板中使用。
我创建了第二个logstash配置,其中输入和输出均为Elasticsearch。
过滤器配置:
filter {
mutate {
add_field => {"Version" => "{[@metadata][_version]}"}
}
}
输入配置:
input {
elasticsearch {
hosts => ["localhost:9200"]
index => "test_csv"
query => '{"query":{"match_all" : {}}}'
size => 1000
scroll => "1s"
docinfo => true
docinfo_fields => ["_index", "_type", "_id", "_version"]
schedule => "/1 * * * *"
}
}
我无法从_version字段获取值。 Kibana中的输出如下:
Version {[@metadata][_version]}
如果我用_id或_index替换过滤器中的_version字段,则会得到信息。
关于如何从_version字段中获取价值的任何想法?对此事的任何想法都受到高度赞赏。
Chloe
答案 0 :(得分:0)
对于6.4.2版,以下对我有用:
filter {
mutate {
add_field => {"Version" => "%{[@version]}"}
}
}