【问题标题】:OpenSearch on AWS does not recognise GeoIP's location as GEOJSON typeAWS 上的 OpenSearch 无法将 GeoIP 的位置识别为 GEOJSON 类型
【发布时间】:2022-11-04 07:34:09
【问题描述】:

我有 logstash 处理日志并上传到在 AWS 上作为服务运行的 opensearch 实例。

我在我的logstash 中添加了一个geoip 过滤器,以将IP 处理为地理数据。根据文档,geoip 过滤器应该生成一个包含lonlatlocation 字段,并且应该被识别为geo_point 类型,然后可以使用它来填充地图可视化。

我已经尝试了几个小时,但opensearch总是将location字段拆分为数字location.lonlocation.lat,而不是仅仅将location识别为geo_point,因此我不能将它用于地图可视化.

这是我的logstash配置:

input {
    file {

        ...

        codec => json {
            target => "[log_message]"
        }
  }
}

filter {

    ...

    geoip {
        source => "[log_message][forwarded_ip_address]"
    }
}

output {

  ...

  opensearch {

        ...

        ecs_compatibility => disabled
  }
}

我的 opensearch 实例上的模板是标准模板,因此它确实包含以下内容:

"geoip": {
          "dynamic": true,
          "properties": {
            "ip": {
              "type": "ip"
            },
            "latitude": {
              "type": "half_float"
            },
            "location": {
              "type": "geo_point"
            },
            "longitude": {
              "type": "half_float"
            }
          }
        },

我不确定这是否相关,但 AWS OpenSearch 要求将 ECS 兼容性设置为 disabled,我这样做了。

有人在 AWS OpenSearch 上成功地做到了这一点吗?

【问题讨论】:

  • 是的,这很蹩脚,你有没有想过如何创建 geo_point 字段类型?

标签: amazon-web-services logstash geoip opensearch


【解决方案1】:

在摄取数据之前,您是否尝试在索引中将 location 字段设置为 geo_point 类型?我认为 opensearch 不会自动检测 geo_point 类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-22
    • 2019-01-16
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多