5

我的 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

编辑:找到了在过滤器中应用配置的更好方法,更新了代码。

4

1 回答 1

1

第三个变异过滤器无效。convert接受一个哈希作为它的参数。有效的转换是整数、浮点数、字符串和布尔值。您不需要此过滤器,因此您可以将其删除。

要将location字段设置为geo_point类型,您需要修改用于数据的 Elasticsearch 索引模板。

于 2016-08-09T06:01:59.847 回答