ElasticSearch实战:Kibana可视化

原创声明:本文首发腾讯云·云+社区,未经允许,不得转载

1. 概述

数据可视化是kibana的重要功能之一,相关用法可以参考官网文档:

https://www.elastic.co/guide/cn/kibana/current/tutorial-visualizing.html

下面,我们以《全国高校信息.json》为例,进行实际操作。

daxue.json文件内容

2. 创建映射

根据上面的json内容,我们需要首先创建索引并指定映射。

PUT daxue
{
 "mappings": {
  "alldata": {                          
   "properties": {
    "codea": {"type": "keyword"},
    "charge": {"type": "keyword"},
    "level": {"type": "keyword"},
    "name": {"type": "text"},         
    "location": {"type": "keyword"},
    "remark": {"type": "keyword"},
    "prov": {"type": "keyword"}
   }
  }
 }
}

3. 数据处理与上传

这里,我们使用python,构造curl语句,将数据上传到ES。代码需要在虚拟机上执行,该虚拟机与ES在同一网络下。

#python 3.6
# -*- coding:utf-8 -*-
__author__ = 'BH8ANK'

import json
import os

#文件预处理
a = open(r"/bh8ank/elasticsearch/daxue.json", "r",encoding='UTF-8')
out = a.read()
tmp = json.dumps(out)
tmp = json.loads(out)

#构造curl语句上传数据
num = len(tmp)
i = 0
while i < num:
    data = json.dumps(tmp[i],ensure_ascii=False)
    i = str(i)
    curl_word_1 = """curl -XPUT "http://10.0.0.32:9200/daxue/alldata/""" + i       #此处设置ES的IP:PORT
    curl_word_2 =  '''" -H 'Content-Type: application/json' -d'''
    curl_word_3 = "'" + data + "'"
    curl_words = curl_word_1 + curl_word_2 + curl_word_3
    os.system(curl_words)
    print(i)
    i = int(i)
    i = i + 1

上述代码执行后,数据即上传到了ES。可以通过kibana确认数据是否已OK。

使用Kibana查询已上传的数据

4. 创建index pattern

如下图,在kibana中创建index pattern,需要注意的是,index pattern名称需要与之前创建索引时保持一致。创建后,需要耐心等待几分钟。

点击 Index Pattern,根据提示创建

完成创建后,即可进行下一步。

5. 视图创建

如下图,我们以创建一个饼图为例。

可视化图形选择

点击上面的饼图后,选择数据源(即上一步创建的index pattern),如下图:

选择数据源

下面,就以动图来展示(可以在图片右键选择在新窗口打开,查看高清大图):

饼图操作步骤

同样的,我们再生成一个柱状图(可以在图片右键选择在新窗口打开,查看高清大图):

柱状图操作步骤

除此之外,还可以生成词云:

词云操作步骤

那么问题来了,上面的几个视图保存后,我们如何将它们展示在一个页面内呢?

6. 展板呈现

这里需要使用到DashBoard功能,操作如下图:

DashBoard操作

最终,我们得到了一张包含各种视图的DashBoard:

DashBoard最终呈现

现在看起来,数据是不是比冰冷冷的字符更直观了呢?需要注意的是,不管是创建了视图还是创建了DashBoard,都不要忘记保存。

有关Kibana可视化的内容就介绍到这里, 还有很多其他的视图功能,还有待进一步摸索,这里不再展开。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券