3 數據可視化
3.1 聚合圖表
kibana可將索引模式中的數據通過聚合後根據多個維度形成圖表。
選擇左側導航欄中的“Visualize”菜單,點擊“+”按鈕添加一個可視化圖表,如下圖所示。
可選擇某個類型的圖表進行創建,如下圖所示:
這裏我們選擇“Vertical Bar”圖,並選擇作爲數據源的索引模式,這裏我們選擇“devstatusstatistic”,如下圖所示:
這裏在X軸上我們選擇按“groupname”作爲桶,以每個桶中的記錄數目作爲Y軸的顯示值。X軸上的排序按這個記錄數目進行降序排序,並選取數目最多的5個組。
這樣一個簡單的可視化直方圖就構建成功了,該圖同樣可以保存。並可在上面的過濾條中輸入過濾條件縮小數據範圍。
3.2. 創建儀表盤
可根據保存後的可視化圖表創建一個儀表盤,選擇左側導航條中的“Dashboard”菜單,點擊”+”按鈕可創建一個儀表盤,如下圖所示:
選擇已經保存的可視化圖表可添加到新的儀表盤中,如下圖所示:
將儀表盤保存後,可打開展示,下圖展示了一個創建好的儀表盤:
3.3. 時間線展示
對於在創建索引模式時已經選擇了date字段作爲時間過濾字段的索引模式而言,可以使用時間線對時序數據進行展示,在kibana的時序展示中支持多組數據的展示。
選擇導航欄左邊的”TimeLion”菜單進入時間線展示,如下圖所示:
這裏的數據抽取表達式可參考文檔:https://www.elastic.co/guide/en/kibana/current/timelion-create.html 。
在表達式中可定義索引名,指標定義,如下面的表達式定義:
*.es(index=video_profile_profile_unqualified, timefield='recordTimeStr', metric='avg:isAccurate6Point',q='deviceId: 450123000000503462').title('**單個設備一天內平均合格率的時間線**')*
該表達式中定義索引模式爲“video_profile_profile_unqualified”,時間域爲“recordTimeStr”,指標爲“avg:isAccurate6Point”,查詢條件爲“deviceId: 450123000000503462”,聚合週期爲一天,如下圖所示:
3.4. 儲存對象的導入和導出
對於我們創建並保存下來的可視化圖表、儀表盤等對象,可以從所在的kibana服務器導出,並導入到其它kibana服務器中。
選擇左側導航條中的“Management”菜單,並點擊“Saved Objects”按鈕,進入存儲對象的管理,如下圖所示:
在這裏可以看到我們之前存儲的儀表盤對象,檢索對象和可視化對象,勾選對應對象,點擊“Export”按鈕可將選中對象。
4. kibana的可視化應用
4.1. 嵌入方式
使用儀表盤方式可基於iframe的方式嵌入到web應用頁面中,如下圖所示:
kibana提供可用於過濾的控件,可提供根據某個字段進行過濾(這個版本功能還比較有限,不是很靈活)。
需要注意的是,該過濾條件應用於儀表盤中所有視圖,所以視圖如果來自不同索引,有的視圖會出現沒有數據的情況。如下圖所示。
因此,一個基本原則是:如果使用過濾條件,整個儀表盤應該基於一個索引。
4.2. 嵌入式視圖的一些使用異常
點擊視圖中的一些明細,kibana默認將這個明細數據作爲過濾條件,如下圖所示。
進入明細後,沒有鏈接返回原圖,如點擊上面的餅圖某個明細後,無法返回原儀表盤,只能通過刷新頁面來實現。如下圖所示。
4.3. 使用kibana輔助開發人員進行自研圖表的開發
kibana使用聚合的query dsl向ES發送請求返回圖表需要的聚合(統計)數據,因此可在可視化圖表中通過圖形嚮導構建需要的圖表,從下圖位置獲取發送到ES的請求消息體,並可查看返回記錄的消息體。
如果該圖表創建後符合要求,則可在自己的應用開發中複用kibana生成的DSL請求消息。
上一節:
簡介kibana在項目中的應用(一)