我的 grok 过滤器(工作)的一部分抓取了以下两个字段:
%{NUMBER:XCent} %{NUMBER:Ycent}
这是纬度,长点。
我正在尝试添加一个位置引脚,但在我的配置文件中使用 --debug 标志时总是出现配置失败
在我到达本节之前,我的所有配置都有效。
if [XCent] and [YCent] {
mutate {
add_field => {
"[location][lat]" => "%{XCent}"
"[location][lon]" => "%{YCent}"
}
}
mutate {
convert => {
"[location][lat]" => "float"
"[location][lon]" => "float"
}
}
mutate {
convert => {"[location]", "geo_point"}
}
}
我的想法是,这基本上是 logstash 1.4 的弹性文档所建议的
https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-geo-point-type.html
编辑:找到了在过滤器中应用配置的更好方法,更新了代码。
最佳答案
第三个 mutate 过滤器无效。 convert
接受散列作为参数。有效的转换是整数、浮点数、字符串和 bool 值。您不需要此过滤器,因此只需将其删除即可。
设置 location
字段为 geo_point
键入您需要修改用于数据的 Elasticsearch 索引模板。
关于Logstash 过滤器 geo_point 经纬度长吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728958/