干货Kibana-可视化ElasticSearch数据展示分析

8次阅读

共计 2030 个字符,预计需要花费 6 分钟才能阅读完成。

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

先给大家看效果图:

还没安装 Kibana 的可以参考之前的文章安装。

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

本章分几个步骤说明:

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

导入数据

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

步骤 1: 建一个账号索引:

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 测试数据”即可获得具体的测试数据。

如何设置模版展示 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

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

本文由博客一文多发平台 OpenWrite 发布!

正文完
 0