zxNoral

导航

Kibana对数据的可视化

基于上一篇的操作,我们已经获得了数据,接下来我们就要处理数据,因此选用了Kibana

      先来介绍一下,

        Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据

        使用Kibana,可以通过各种图表进行高级数据分析及展示

   Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板实时显示Elasticsearch查询动态

 

进入操作:

       1.首先,将elasticsearch和kibana搭建在一个服务器上。

           其次,在kibana界面建立一个索引,和elaticsearch建立的索引进行配对。

        关于索引建立的步骤如下:

               1.打开kibana中的management管理

               2.单击index patterns索引模块。

               3.选择create index pattern模块,建立索引。

            进入新建索引页面后,建立的索引名要和elasticsearch建立的索引对应,否则,无法创建kibana的索引。

   进入next step 后 不要更改设置里面的默认选项,直接create就可以。

 

 2.索引建立完成后,我们可以去discover选项,选择建立的索引,查看通过elaticsearch上传的数据

 

 

3.既然已经找到数据,那么我们就要对这些数据进行处理,我们选择可视化里面的创建折线图Line来展示。

 

然后选择想可视化的对应索引后,将出现如下界面。

 

 

选择X和Y的单位等,比如x轴选择时间作为单位,但是出现了以下问题:

匹配不到相应类型,也就是说,我在elaticsearch上传的时间不是kibana需要的date类型。那我们的时间是什么类型呢??

再回到当初的python上传数据的代码发现,第23行的这句话(在上一篇文里面):

y={'id':'1','time':str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())),'value':str(val)}
 
发现time键对应的值是个字符串类型的啊!!!
OK,那我就改类型,把str改成date类型,可以运用python的datetime库,import datetime
str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))---->datetime.date.today()
 
再仔细看看,发现,value对应的值也是str,当你在kibana操作的时候,字段里面的选项也是没有value选项的,现在知道了,
既然是str类型怎么能当成数字传上去呢,所以要把str类型转成number,即删除str()即可。
 
改完之后我们保存执行,在kibana中发现还是会报同样的错。为什么呢???
因为索引里面的字段类型是不能更改的,所以想变,就只能重新建立一个新的索引了,注意索引的名字一定不能相同!!!
 
再重复建立索引,建立可视化图的步骤,选择相应的X轴 Y轴后,我们的折线图就出来了。

 

posted on 2019-08-04 14:21  zxNoral  阅读(6756)  评论(0编辑  收藏  举报