分类: 大数据
2022-10-24 10:54:34
首先我们实现IP地址分布地图可视化需要用到的技术是Elasticsearch + kibana,下面IP数据云的小编具体讲解一下操作,另外如果需要现成的IP地址数据,也可以通过IP数据云(https://www.ipdatacloud.com/?utm-source=Lik&utm-keyword=?1054)的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 即可。可视化基础设置,执行后,就能看到可视化结果。