干货:Kibana 可视化ElasticSearch数据展现分析

当你把数据存入ES中后,怎么更方面的查看这些数据,还想用不一样的维度去看这些数据,是否是纠结,不能再专门搞个后台显示把。这里有神器 Kibana 专门干这个事情的,能够帮你把ES中的数据,经过不一样类型的模版形式显示处理,更好分析你的数据,查询过滤,不单单用在日志的分析上面,业务上面也能够应用。json

先给你们看效果图:bash

还没安装Kibana 的能够参考以前的文章安装。微信

本人目前版本:都是7.3.2 版本架构

本章分几个步骤说明:app

  • 导入数据
  • 如何设置模版展现ES中的数据
  • Discover 搜索你的数据
  • Dev Tools 强大的工具使用

导入数据

本文利用官方测试数据集合用户帐号信息导入ES工具

步骤1:建一个帐号索引:post

PUT /accounts
{
    "settings" : {
        "index" : {
            "number_of_shards" : 1, 
            "number_of_replicas" : 0
        }
    }
}
复制代码

步骤2:设置mapping学习

PUT /accounts/_mapping
{
    "properties": {
        "account_number": {
            "type": "long"
        },
        "address": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "age": {
            "type": "long"
        },
        "balance": {
            "type": "long"
        },
        "city": {
            "type": "keyword"
        },
        "email": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "employer": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "firstname": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "gender": {
            "type": "keyword"
        },
        "lastname": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        },
        "state": {
            "type": "keyword"
        }
    }
}

复制代码

步骤三:批量导入数据测试

POST  /accounts/_doc/_bulk

--数据省略

复制代码

具体的json数据由于比较多,文章不方面存放, 请在文章下方关注个人微信公众号“架构师的修炼”,回复关键字:“ES测试数据” 便可得到具体的测试数据。spa

如何设置模版展现ES中的数据

经过上面的步骤建好索引导入数据,下面开始展现数据 咱们分三个步骤:

  • 新建一个 Index Pattern
  • 新建一个 Visualize
  • DashBoard 整合多个Visualize

打开http://127.0.0.1:5601 地址访问Kibana

建立一个Index Pattern

而后建立一个Index Pattern

而后在输入框中输入刚才建好的索引

而后点击下一步,提交

这个时候,Index Pattern 就建好了。

新建一个 visualize

而后去visualize设置页面

咱们使用饼图模版展现数据:

建立Pie饼图,而后进入页面:

在这里你能够设置你的数据聚合 好比,你想看男女比例:

再好比你想看不一样年龄段的用户的分布状况:

使用搜索聚合这样实现

GET /accounts/_search
{
    "aggs": {
        "range_age": {
            "range": {
                "field": "age",
                "ranges": [
                    {
                        "to": 20
                    },
                    {
                        "from": "20",
                        "to": "25"
                    },
                    {
                        "from": "26",
                        "to": "30"
                    },
                    {
                        "from": "31",
                        "to": "35"
                    },
                    {
                        "from": "36"
                    }
                ]
            }
        }
    },
     "size": 0
}
复制代码

Kibana 中设置

设置完以后能够当即看到效果,最最重要的是必定要保存下来:

那么问题来了,若是几个视图保存后,咱们如何将它们展现在一个页面内呢?

须要使用到DashBoard功能

DashBoard 整合多个Visualize

进入DashBoard 页面配置,新增panels,找到刚才保存的Visualize名字,搜索关键字,确认后,便可出如今一个页面,此时记得保存DashBoard 并起一个好听的名字。

保存后,在DashBoard页面就可看列表显示处理,后面即时关闭页面,还能够在这里找到,方便。

Discover 搜索你的数据

若是你想更加复杂的查询,能够用Dev Tools

Dev Tools 强大的工具使用

这个工具简直太棒了,不再用post man这么丑的工具测试接口了。 左侧查询,右侧显示结果

END

欢迎关注个人公众号:架构师的修炼,得到独家整理的学习资源和平常干货推送。

相关文章
相关标签/搜索