kibana是什么_如何在Kibana接入离线地图实现热点分布展示

最近在搞CDH大数据平台的相关方面的内容研究,大数据平台说到底就是一个数据中心也可以称之为数据海洋,接收来自各方的数据,有传统关系型数据库的数据,也有记录日志的文本文件,有syslog格式数据,也有非关系型数据库的结构化数据。

所以平台搭建只是万丈高楼的第一步,后面的数据抽取及数据使用才是发挥数据海洋资源作用的重中之重,再有之后的数据的可视化。而关于CDH的使用我们后续有机会可以一起探讨下,这里暂不展开。其实我们前期分享的ELK日志采集平台(点击进入)也是一种,今天我们把上次的数据可视化部分遗留的一个问题分享下,如何在Kibana接入离线地图实现热点分布展示。

经典的web服务生产架构,无外乎从互联网到F5再从F5进入DMZ区,经过前置应用,到服务端应用及业务数据已经在N个防火墙之后了,之前我们的ELK也是部署在应用服务同一个级别,故而无法访问外部资源。而Kibana的访问地图分布的Coordinate Map组件是需要访问外部地图服务的,直接使用会有如下错误:

3471500ec280cc8c8b53992f3e59030b.png

ES的官网有一篇博文也有介绍,默认的地图服务是不支持离线访问的,所以需要我们自己搭建地图服务。

7667f1e4680d66b0af2997b09124bef0.png

在实现之前有几个问题需要解决

1、地图服务有哪些,kibana可以使用什么服务;

2、地图数据源从哪里获取;

3、地图服务怎么发布;

解决了上面三个问题,实现后的就可以有下面的效果了

c281ce1d321c008d29309460e4b5bde5.png

从百科解释中我们了解到Web 地图服务能够根据用户的请求返回相应的地图(包括PNG,GIF,JPEG等栅格形式或者是SVG和WEB CGM等矢量形式)。而kibana的Coordinate Map组件是支持WMS(Web Map Services)服务的,WMS是支持网络协议HTTP的,所支持的操作是由URL定义的,从而可以回答第一个问题 ,需要搭建一套WMS的地图服务。

通过查找资料发现,GeoServer 是一个不错的解决方案,它是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

使用Geoserver搭建WMS服务

直接到官网下载基于tomcat的Geoserver到服务器中并解压,启动服务即可一键部署,浏览器登录GeoServer,通过http://localhost:8080/geoserver访问GeoServer页面,并使用初始用户名密码admin/geoserver登录,分如下三步便可以发布WMS服务,操作十分简便:

1、创建工作区

d966f8d22fb3f2fbda9f27236fc548ca.png

2、新建数据源

首先在Natural Earth中下载SHP格式的地图数据,这里回答了第二个问题,直接使用世界地图的数据源,将其解压缩到本地后继续如下操作,点击数据存储,按如下选择配置地图数据源:

edc03f7909685ffb02fa2633ce0e1edb.png
83989caeaa2680ea0eeec7b724496224.png

这里shapefile文件目录便是下载的世界地图数据源,将其放入geoserver的data目录下,其中各规范目录解释如下,数字越小表示精度越。

b910d7b2c745d5c0da8fb544d48aac81.png

3、发布图层

1a2bcbb28a6cb5ab1a3637c67db50384.png

点击图层,按如下步骤发布第二步创建的地图源,就可以通过http访问地图数据了。

数据标签页

3d95ba165a1fc3d50ad9b2e129ebe097.png
129a0949b86238c51600931ae7209367.png

发布标签页

c8f687f2a83158031d0e62f42e412ee4.png

注意这里style的选择,在Kibana后续的参数配置中需要用到,我们用的是polygon.

4、预览图层

点击layer preview选择上面创建的图层,点击openlayer便可以预览世界地图了

aad0991c57c712b4bef824b8f4774344.png
b72835ccba6bacd375e8dab6820115d8.png

在Kibana里面配置WMS展现地图

有了地图服务,就可以使用Coordinate Map组件了,配置好WMS服务就可以看到地图了,结合elasticsearch的ip信息还可以做热点展示,效果看起来还是不错的:

86e8dc9b3387808cd18065c488f199b7.png

热点图效果

eef8a14f4ae9cc0a158e8b01d91840d4.png

也可以通过浏览器抓包,很清楚的发现访问的请求地址以及我们传递的参数信息,至此我们便解决了数据可视化Kibana接入离线地图的问题啦。

a5d7e901386598b81913f722c3c1b491.png

Request URL: http://127.0.0.1:8080/geoserver/forkibana/wms?&service=WMS&request=GetMap&layers=ne_10m_admin_0_countries&styles=polygon&format=image%2Fpng&transparent=true&version=1.3.0&height=256&width=256&crs=EPSG%3A3857&bbox=10018754.171394622,0,20037508.342789244,10018754.171394628

结语

当然也可以将kibana部署在外联区或者开通访问外部地图服务的权限,这样就不需要搭建离线地图服务了,但是从企业数据资产安全的角度看,我们大多都会选择部署在业务网段,所以自己搭建离线服务的诉求应该还是比较普遍的,以上一点小记录以供分享喽~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值