如何从logstash修改或添加json字段以在ElasticSearch和Kibana中使用geo_point

时间:2015-09-14 00:48:04

标签: elasticsearch logstash kibana

我有一个具有这种结构的json文件:

{"vhost": "8.8.8.8", "host": "8.8.8.8", "port": 80, "ip": "189.191.116.19", "host.latitude":"40.408599853515625","host.longitude":"-3.692199945449829"}

我有一个像这样的logstash配置文件:

input {
  stdin {
    type => "json"
  }
}
filter{
    json{
        source => "message"
    }
}

output {
        stdout{}
}

我想转换json记录,以便在ES和Kibana中使用geo_point类型。根据官方文件 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-geo-point-type.html纬度和经度字段必须采用以下格式:

"pin" : {
        "location" : {
            "lat" : 41.12,
            "lon" : -71.34
        }
    }

我的问题是,如何从logstash转换为json输入,以便我可以使用geo_point?。我想我不能修改json结构本身,但也许我可以添加一个新的字段,其中包含geo_point类型所需的位置结构。

谢谢

0 个答案:

没有答案