elasticsearch 使用GeoIP在Kibana进行地图可视化,elasticsearch,kibana,elastic-stack,geoip,elasticsearch,Kibana,Elastic Stack,Geoip" /> elasticsearch 使用GeoIP在Kibana进行地图可视化,elasticsearch,kibana,elastic-stack,geoip,elasticsearch,Kibana,Elastic Stack,Geoip" />

elasticsearch 使用GeoIP在Kibana进行地图可视化

elasticsearch 使用GeoIP在Kibana进行地图可视化,elasticsearch,kibana,elastic-stack,geoip,elasticsearch,Kibana,Elastic Stack,Geoip,我有一条使用geoip的管道 curl -XPUT "http://localhost:9200/_ingest/pipeline/geoip?pretty" -d' { "description" : "Add geoip info", "processors" : [ { "geoip" : { "field" : "ip", "ignore_failure": true } } ] }' 我通

我有一条使用geoip的管道

curl -XPUT "http://localhost:9200/_ingest/pipeline/geoip?pretty" -d'
     {
  "description" : "Add geoip info",
  "processors" : [
    {
      "geoip" : {
        "field" : "ip", 
        "ignore_failure": true
      }
    }
  ]
}'
我通过批量API将数据传递到ELK堆栈。当试图可视化数据时,我没有地理点集。弹性搜索已将此信息自动映射为两个字段中的数字

client_geoip.location.lat       59.894
client_geoip.location.lon       30.264
我尝试将这两个字段创建为一个地理点,但在导入时,由于client_geoip.location.lat和client_geoip.location.lon不在其中,因此失败


如何让geoip创建一个可用于地图可视化的geo_点

您只需要有一个类型为geo_point的字段,它包括lat和long。因此,您的客户位置应为geo_point类型

如果需要,可以为此管道配置目标密钥名称 像这样配置geoip-

"processors" : [
  {
  "geoip" : {
    "field" : "ip",
    "target_field" : "your_field",
    "database_file" : "GeoLite2-Country.mmdb.gz"
   }
 }
]
你可以有一些映射,比如

        "location_field" : {
          "path_match" : "your_field.location",
          "mapping" : {
            "type" : "geo_point"
          }
        }
应该行得通