前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch实战:Kibana可视化

ElasticSearch实战:Kibana可视化

原创
作者头像
BH8ANK
发布2019-05-23 15:29:29
3.2K0
发布2019-05-23 15:29:29
举报
文章被收录于专栏:云技术分享云技术分享

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

1. 概述

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

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

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

daxue.json文件内容
daxue.json文件内容

2. 创建映射

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

代码语言:javascript
复制
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
复制
#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查询已上传的数据
使用Kibana查询已上传的数据

4. 创建index pattern

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

点击 Index Pattern,根据提示创建
点击 Index Pattern,根据提示创建

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

5. 视图创建

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

可视化图形选择
可视化图形选择

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

选择数据源
选择数据源

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

饼图操作步骤
饼图操作步骤

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

柱状图操作步骤
柱状图操作步骤

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

词云操作步骤
词云操作步骤

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

6. 展板呈现

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

DashBoard操作
DashBoard操作

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

DashBoard最终呈现
DashBoard最终呈现

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

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 概述
  • 2. 创建映射
  • 3. 数据处理与上传
  • 4. 创建index pattern
  • 5. 视图创建
  • 6. 展板呈现
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档