關於kibana的可視化可能都在這篇文章裏了

引言

kibana是elasticsearch(以下簡稱ES)的可視化平臺,筆者平時使用kibana的dev tools比較多,在這裏可以更便捷的使用ES的各種命令,DSL查詢語句等。

但是kibana的可視化功能遠不止於次。Kibana可以用來搜索,查看ES索引中的數據,可以輕鬆地進行高級數據分析,並可在各種圖表,表格和地圖中顯示數據。並且可以基於瀏覽器的界面快速創建和共享動態儀表板,實時反饋ES中數據的更改。

由於kibana可視化的很多組件其實都是基於ES聚合的結果,所以看本篇文章建議對ES的聚合有所瞭解。

本文使用的示例全部都是基於kibana自帶的示例數據,讀者自己有興趣也可以實際操作一下。

本文操作使用的ES和kibana都是基於7.1.0版本。

正文

新建索引模式(index pattern)

index pattern是kibana可視化的前提。它相當於告訴kibana要使用哪些索引作爲數據進行可視化展示。索引我們第一步就來創建一個index pattern。

在這裏插入圖片描述

如上圖所示,先在左側菜單找到management,然後點擊index patternscreate index pattern。新建一個index pattern,這裏拿kibana自帶的電商的索引舉例。

在這裏插入圖片描述

在上圖中通過輸入index pattern的名稱,kibana會自動顯示匹配的索引,然後點擊next

在這裏插入圖片描述

選擇索引中的時間維度的字段,如果有多個的話根據具體的業務場景選擇。比如這裏我選擇的是訂單的創建時間字段。
需要說明的是,這個時間字段是用來方便基於時間過濾數據用的。如果你的業務上不需要基於時間範圍篩選,也可以不選擇這一步。

到這裏我們的index pattern就建好了。讀者自己可以參考上面的流程,爲航班數據索引新建一個index pattern。

使用discovery搜索數據

discovery在日誌搜索用的比較多,現在很多公司都會把服務的日誌蒐集到ES然後通過kibana的discovery功能查找日誌。這樣比以前登陸到線上服務器一臺臺grep方便很多。

在這裏插入圖片描述

如上圖所示,在菜單中選擇discovery,然後就能看到我們前面章節新建的index pattern。

在這裏插入圖片描述

在上圖的1的位置,我選擇了電商的index pattern,然後在2的位置選擇時間進行過濾,這裏我選擇是的1年前的所有數據。時間過來的維度很多,大家可以一一嘗試下。1的旁邊有個搜索框,可以輸入任意信息對索引進行搜索。除了一般的直接輸入字符串進行搜索之外,這裏還支持指定搜索某個字段,只需要在搜索框裏輸入類似下面:

user:"youssef"

就可以搜索user字段值滿足youssef的數據。

在圖中3的位置以直方圖的形式彙總了數據的分佈情況,可以看到我們的數據主要都集中在2019年12月到2020年1月這段時間內。

圖中4的位置就是數據本身了,可以支持table和json兩種方式顯示。左側的菜單裏支持過濾指定的字段顯示,這裏不展開來講了。

可視化數據

kibana自帶了很多可視化的組件,方便我們對聚合後的結果進行可視化的展示。下面來看一個例子。

在左側菜單選擇visualize,然後點擊右邊的+號,如下圖所示:

在這裏插入圖片描述

這裏有很多可視化組件,我這裏以pie餅圖爲例子說明。

在這裏插入圖片描述

如上圖所示,我們在左邊選擇分桶聚合模式,然後分桶的字段是用戶性別字段,度量單位是count,然後點擊上方的三角按鈕運行,結果就是上圖中展示的效果。在這個圖中可以看到男女的比例。

假如我們還想看下男女各自的城市分佈情況,可以添加一個子分桶,在左側下方點擊add sub buckets

在這裏插入圖片描述

如上圖,在子分桶裏我們同樣選擇了terms分桶,然後分桶的字段是用戶所在的城市。運行之後就是上圖中的效果。點擊左上角的save按鈕,還可以把當前的可視化結果保存。保存了之後我們就可以在dashboard上展示了。

在這裏插入圖片描述

在dashboard展示數據

dashboard可以理解爲一個展示各種可視化組件的面板,我們可以把之前保存的可視化結果添加到面板中進行展示。

點擊左側菜單中的dashboard,然後點擊create new dashboard,然後點擊add,選擇我們前面保存的可視化組件。

在這裏插入圖片描述

下圖是一個基於我們前面講的電商的index製作的面板展示示例

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章