乾貨: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

歡迎關注個人公衆號:架構師的修煉,得到獨家整理的學習資源和平常乾貨推送。

相關文章
相關標籤/搜索