Kibana Security地图不显示geo_point地理位置数据问题咨询
解决方案
问题核心原因
- 你之前提交的更新版索引模板存在语法错误:
geo.properties下多了多余的空闭合大括号,导致source.geo.location的geo_point类型配置未正确生效 - 索引模式同时匹配了新旧索引:旧索引中
source.geo.location是含lat/lon子字段的object类型,新索引预期是geo_point类型,同字段多类型导致Kibana报类型冲突
操作步骤
第一步:修正索引模板语法
使用如下正确的mapping配置更新索引模板,删除多余的无效大括号:
"source": { "type": "object", "properties": { "ip": { "type": "ip" }, "geo": { "type": "object", "properties": { "region_iso_code": { "type": "keyword" }, "country_iso_code": { "type": "keyword" }, "location": { "type": "geo_point" } } } } }
第二步:验证新索引映射生效
索引滚动生成新索引后,执行如下请求校验字段类型:
GET /<新生成的索引名>/_mapping/field/source.geo.location
返回结果中字段类型应为geo_point,确认模板配置已生效。
第三步:解决字段类型冲突
根据是否需要保留旧索引数据选择对应方案:
- 无需保留旧数据:直接删除所有旧索引,进入Kibana「Stack Management → 索引模式」,找到
my_index_name模式,点击「刷新字段列表」即可清除冲突 - 需要保留旧数据:执行reindex操作将旧索引数据迁移至符合新mapping的新索引,geoIP处理器默认输出的lat/lon结构可直接适配
geo_point类型,无需额外修改字段结构
第四步:验证地图功能
刷新索引模式后,Kibana Discover中source.geo.location字段旁会显示地球标识,此时再进入Security.Network Map选择该字段作为地理空间字段即可正常渲染位置数据。
内容的提问来源于stack exchange,提问作者Saba Far
相关产品推荐
相关产品推荐

