Kibana 地理位置可视化(nginx日志)
一、logstash 配置Geoip,通过IP地址,解析地理位置信息
1.1、logstash 7.x 已经自带geoip插件,不需要额外安装
在配置文件里添加 geoip模块,"client_ip" 客户端地址,根据实际解析字段名称修改
filter { geoip { source => "client_ip" } }
注意:默认使用logstash索引模板(匹配logstash-*),如果索引名称为logstash-*,则直接接入Elasticsearch即可,否则需要添加对应索引模板
1.2、添加索引模板
现象:
使用自定义的索引名称(非logstash-*)时,在Kibana配置存储桶时,会提示 "索引模式“api01-*”不包含任何以下兼容字段类型:geo_point"
原因:
a. Kibana地理位置可视化,需要 type 为 geo_point,logstash-* 索引模板里预先设置了,自定义索引没法引用;
b. logstash 不支持指定 geo_point 格式。
一个解决方案:
复制 logstash-* 索引模板,新建配置自定义索引的名称对应的索引模板
1.2.1、logstash-* 索引模板
GET /_template/logstash
{ "logstash" : { "order" : 0, "version" : 60001, "index_patterns" : [ "logstash-*" ],
... } }
1.2.2、自定义索引模板(api-*)
PUT /_template/api { "template" : "api", "order" : 0, "index_patterns" : [ "api-*" ], ... }
1.3、logstash 指定所以格式 api-* ,接入Elasticsearch后,关联模板,指定 geo_point 字段
1.3.1、错误格式
1.3.2、正确格式
二、Kibana 坐标地图 可视化
2.1 创建 可视化
2.2 配置坐标地图
2.3 效果