美文网首页
干货:Kibana 可视化ElasticSearch数据展示分析

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

作者: 文杰读书 | 来源:发表于2019-10-20 17:43 被阅读0次

    当你把数据存入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 发布!

    相关文章

      网友评论

          本文标题:干货:Kibana 可视化ElasticSearch数据展示分析

          本文链接:https://www.haomeiwen.com/subject/uzjamctx.html