簡介kibana在項目中的應用(二)

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在項目中的應用(一)

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