Javascript is required

如何实现IP地址分布地图可视化

作者: IP数据云

栏目: 新闻资讯

发布时间: 2022-10-24 11:11:29

首先我们实现IP地址分布地图可视化需要用到的技术是Elasticsearch + kibana,下面IP数据云的小编具体讲解一下操作,另外如果需要现成的IP地址数据,也可以通过IP数据云的IP数据库进行查询。



第一步:IP 地址转经纬度坐标。


第二步:经纬度坐标借助可视化工具(如:echarts)渲染展示。


整体架构图如下图所示:



GeoIp processor 根据来自 Maxmind 数据库的数据添加有关IP地址地理位置的信息。默认情况下,GeoIp processor 将此信息添加到 geoip 字段下。GeoIp processor 可以解析 IPv4 和 IPv6 地址。 


实操步骤如下:


步骤 1:创建预处理管道


该预处理的目的就是:将输入的 IP 字段转换为:Geoip 类型。


步骤 2:创建索引


考虑到后面要批量导入数千条+数据,我们采用了取巧的方式。


使用了在创建索引的时候指定缺省管道(index.default_pipeline)的方式。


这样的好处是:


灵活:用户只关心 bulk 批量写入数据。


零写入代码修改:甚至写入数据的代码一行都不需要改就可以。


步骤 3:写入一条数据


这时候,我们查看一下完整的 Mapping 张什么样?


写入后的数据,查看返回如下:


第一:geoip 是 object 类型,它有几个子字段,含义如下:


geoip.city_name:城市


geoip.continent_name:大陆名称


geoip.country_iso_code:国家编码


geoip.location:经纬度坐标,必须是:geo_point 类型


geoip.region_iso_code:地域编码


geoip.region_name:地域名称


第二:为节省存储,Mapping 可以优化。比如:所有的默认字符串类型改成:keyword 类型。

第三:为了后面的作图必须将 location 设置为 geo_point 类型。


以上三个步骤:就完成了单条数据的写入。


步骤 4:kibana 可视化展示


创建关联索引模板,目的是创建可视化需要关联的索引数据。


创建坐标图,选择左侧导航栏的 Visualize,然后选择右侧 Create new visualization,然后再选择:Coordinate Map 即可。可视化基础设置,执行后,就能看到可视化结果。