1、需求
有一批特定用途(文末揭晓)的 IP 地址。 想通过地图形式可视化展示 IP 地址对应的经纬度坐标的分布。
2、方案探讨
第一步:IP 地址转经纬度坐标。
第二步:经纬度坐标借助可视化工具(如:echarts)渲染展示。
Elasticsearch 支持 Geo-point、Geo-shape 数据类型。 Kibana 支持 Coordinate Map(坐标图)、Region Map(区域地图)可视化地图展示。

3、GeoIp processor 介绍
4、导入一条数据实战一把
4.1 步骤 1:创建预处理管道
PUT _ingest/pipeline/geoip_pipeline
{
"description" : "Add geoip info",
"processors" : [
{
"geoip" : {
"field" : "ip"
}
}
]
}复制
4.2 步骤 2:创建索引
DELETE niu_20210215
PUT niu_20210215
{
"settings": {
"index.default_pipeline": "geoip_pipeline",
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"geoip": {
"properties": {
"location": {
"type": "geo_point"
}
}
},
"ip":{
"type":"keyword"
}
}
}
}复制
灵活:用户只关心 bulk 批量写入数据。 零写入代码修改:甚至写入数据的代码一行都不需要改就可以。
4.3 步骤 3:写入一条数据
PUT niu_20210215/_doc/1
{
"ip": "8.8.8.8"
}复制
{
"niu_20210215" : {
"mappings" : {
"properties" : {
"geoip" : {
"properties" : {
"city_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"continent_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"country_iso_code" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"location" : {
"type" : "geo_point"
},
"region_iso_code" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"region_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
},
"ip" : {
"type" : "keyword"
}
}
}
}
}复制
"_source" : {
"geoip" : {
"continent_name" : "North America",
"country_iso_code" : "US",
"location" : {
"lon" : -97.822,
"lat" : 37.751
}
},
"ip" : "8.8.8.8"
}复制
geoip.city_name:城市 geoip.continent_name:大陆名称 geoip.country_iso_code:国家编码 geoip.location:经纬度坐标,必须是:geo_point 类型 geoip.region_iso_code:地域编码 geoip.region_name:地域名称
比如:所有的默认字符串类型改成:keyword 类型。
4.4 步骤 4:kibana 可视化展示
4.4.1 创建关联索引模板

4.4.2 创建坐标图

4.4.3 可视化基础设置,执行后,就能看到可视化结果。

5、批量导入数据后可视化展示
因为全局设置了 default_pipeline,写入数据不需要做任何特殊处理了。


6、小结
基础方案大家都能想到,有没有更简单的、更快捷的方式呢?是需要我们考虑的。 本文抛砖引玉,Kibana 新版本的可视化功能更强大,需要学习的点还有很多......
参考

文章转载自铭毅天下Elasticsearch,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1287次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
770次阅读
2025-04-30 15:24:06
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
626次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
527次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
490次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
477次阅读
2025-04-30 12:17:50
阿里云 Elasticsearch Serverless 检索增强型 8.17 版来袭!
阿里云大数据AI技术
380次阅读
2025-04-18 10:24:15
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
365次阅读
2025-04-18 10:01:22
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
343次阅读
2025-05-07 10:06:14
XCOPS广州站:从开源自研之争到AI驱动的下一代数据库架构探索
韩锋频道
303次阅读
2025-04-29 10:35:54