首先我们实现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 即可。可视化基础设置,执行后,就能看到可视化结果。 |
|