我正在使用logstash过滤器将我的filebeat IIS日志转换为位置:
filter {
geoip {
source => "clienthost"
}
}
但是elasticSearch中的数据类型是:
geoip.location.lon = NUMBER
geoip.location.lat = NUMBER
但是为了映射积分,我需要
geoip.location = GEO_POINT
有没有办法改变映射?
我尝试发布更改的映射
sudo curl -XPUT "http://localhost:9200/_template/filebeat" -d@/etc/filebeat/geoip-mapping-new.json
有一个新的定义,但它没有什么区别:
{
"mappings": {
"geoip": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
},
"template": "filebeat-*"
}
编辑:我用ES / Kiabana / Logstash 5.6.3和5.5.0尝试了这个
答案 0 :(得分:1)
这不是解决方案,但我删除了所有数据并重新安装了ES,Kiabana,Logstash和Filebeat 5.5
现在ES将位置识别为地理位置 - 我想之前即使我已经更改了数据映射,仍然有数据被错误地映射而且Kibana假设数据类型不正确 - 可能是完整数据的重新索引会有解决了问题