ELK實踐-Kibana定製化擴展

    縱觀任何一家大數據平臺的技術架構,總少不了ElasticSearch;ES做爲溶合了後端存儲、快速檢索、OLAP分析等功能的一套開源組件,更絕的是提供了一套集數據採集與前端展示爲一體的框架(即ELK), 在咱們的應用過程當中,與ES集成的前端框架包含有Kibana、Grafana等系統,實際應用過程當中,以Kibana框架爲例,從系統易用性方面進行了一些定製擴展,具體擴展功能總結以下:前端

一、Kibana框架漢化後端


  • kibana 沒有支持多語言的語言包,在正式系統使用時,須要漢化,以下圖:

二、身份及數據權限集成前端框架


  • 咱們的大數據平臺裏面,使用了多種開源的前端框架來知足不一樣的應用,經過擴展開發一套通用的組件來實現各類開源框架與大數據平臺的集成,包含與大數據平臺系統的身份集成、數據權限集成、路由均衡等功能,示意圖以下:
  • 框架集成後示意效果圖以下:

二、高級過濾擴展架構


  • Kibana原生提供的搜索方式在須要多條件組合精確查詢的狀況下,比較難用,而且須要使用者對Query語法很是熟悉,提升了使用門檻,爲了解決此問題,咱們擴展了公共的高級過濾組件與Kibana集成(5.6之後的Kibana也帶着了過濾,但使用起來仍是不方便),以下圖:

  主要特性以下:框架

  • 支持索引上的任何字段進行匹配檢索條件定義
  • 根據索引字段類型不一樣,可選擇的比較符不同,例如:數字類型支持 >、>=、=、<、<= 等, 對於Text 或 KeyWord 類型支持:等於、包含操做。
  • 支持 與、或、非的條件定義組合(有點太專業、有更好的名字建議沒?)
  • 當索引上的字段過多,選擇字段名比較麻煩,所以支持智能定位選擇,如上圖。
  • 定義條件的過程當中,比較值支持手工輸入、智能幫助(如:若是字段是日期類型,比較值支持彈出日期選擇。若是字段是關聯類型,好比:城市,比較值支持配置彈出幫助選擇等)
  • 支持新增、複製條件組合、刪除、禁用某行定義的條件。

 定義好過濾條件,在使用的過程當中,當前組合的查詢條件會以標籤的形式展示在列表頂端,以下圖紅框:大數據

  • 爲了方便在使用的過程當中快速禁用或刪除組合條件的某一項,支持在標籤上直接刪除或禁用該條件,以下圖:當mouse懸浮在標籤上時,用戶可選擇禁用或刪除操做。

三、查詢方案編碼


擴展後的方案按索引進行拆分(即只顯示該索引下的方案),分爲公共方案(開發人員預製)與私有方案(運行時、用戶調整查詢格式及查詢條件後保存的方案),以下圖:spa

  • 公用方案不容許修改或編輯,在與咱們的框架集成後,用戶運行時在公用方案基礎上調整後的保存的方案自動會保存至私有方案分類,容許當前用戶刪除本身保存的方案,以下圖:

每套方案裏面包含的內容3d

  • 查詢條件、時間範圍
  • 顯示的數據列、每頁數據條數、列順序、表頭是否固定等配置。

四、頁面顯示數據條數blog


  • 將每頁顯示數據條數暴露在前端頁面,容許用戶在查詢時修改當前頁面展示數據量大小
  • 後端配置界面進行擴展,容許開發人員配置條數枚舉項,以下圖:
  •  
  • 運行效果:
  • 注意:ES 索引 在查詢時默認返回最大的數據條數是10000,如上圖,當設置每頁的條數超過10000時,須要修改ES索引的最大返回數據條數參數。

五、數據導出


  • 主要是將查詢結果導出爲Excel文件,擴展的導出功能包含前端導出和後臺導出兩類。
  • 前端導出:指快速導出當前頁面顯示的內容(通常指10000之內的小數據量)、後端導出指根據當前頁面設置的條件、列顯示順序從後端將知足條件的數據導出爲Excel(適用於超出 10000條大數據量導出),以下圖:

六、時序圖隱藏與顯示


  • Kibana在運行時顯示的時候,默認在頂部帶着按時序的柱狀統計圖, 在有些場景的列表查詢中,並不須要這塊圖形的顯示,經過擴展,能夠在後臺配置,以下圖:
  • 運行效果:見上面的一些圖,都是沒帶着柱狀統計圖的。

七、菜單自定義配置


  • 右上角的菜單容許用戶自定義進行配置,以下圖:
  • 運行效果:
  • 統計分析菜單說明:將該索引定義的Visualize方案經過配置的方式掛在統計分析菜單下,實現列表與圖表結合更直觀探索數據價值。

八、列選擇智能檢索


  • 當索引的列達到幾十甚至上百個列時,以下圖,在設置顯示列時查找很是不方便,擴展一種快速檢索選擇的方法

九、顯示列中文別名設置


  • 擴展容許配置列顯示別名,以下圖:

十、數據權限控制


  • 數據權限:指不一樣的用戶能看到的數據範圍不同,這裏主要指與各自業務系統的權限集成。

十一、表頭固定


  • 擴展經過設置如圖紅框內的鎖圖標,設置滾動翻頁查看數據時,表頭標題行是否固定。

十二、變量解析


  • 設置列聯查,在聯查的地址中須要獲取當前行數據的其它字段做爲聯查地址的參數,擴展以下圖參數定義及解析
  • 運行效果:

 在擴展完善的過程當中,後續會持續更新該文檔,有了這些擴展的功能點,再開發一套報表是否是零編碼的秒開呢?

相關文章
相關標籤/搜索