阿里雲Kibana在開源社區外掛程式的基礎上,提供了BSearch-QueryBuilder(進階查詢)和bsearch_label(資料打標)兩個預置外掛程式。本文介紹安裝和卸載Kibana預置外掛程式的方法。
安裝外掛程式
使用須知
-
Kibana外掛程式僅支援Elasticsearch 6.3和6.7版本。
-
安裝外掛程式前,請確保Kibana節點的規格為2核4 GB及以上。如果不滿足,請升級Kibana節點,具體操作請參見升配叢集。
-
不支援安裝自訂的Kibana外掛程式。
操作步驟
-
在左側導覽列,單擊Elasticsearch執行個體。
-
在頂部功能表列處,選擇資源群組和地區。
-
在Elasticsearch執行個體中單擊目標執行個體ID。
-
單擊左側導覽列的可視化控制。
-
在Kibana地區中,單擊修改配置。
-
在 外掛程式配置地區,單擊對應外掛程式右側操作列下的安裝。
重要安裝外掛程式會觸發Kibana節點重啟,重啟過程中Kibana不能正常提供服務,請在業務低峰期操作。
-
在安裝提示對話方塊中,單擊確認。
重啟成功後即完成外掛程式安裝,外掛程式狀態顯示為已安裝。
使用BSearch-QueryBuilder外掛程式查詢資料
BSearch-QueryBuilder又稱進階查詢,是一個純前端的工具外掛程式。通過BSearch-QueryBuilder外掛程式,您無需編寫複雜的DSL語句,即可以可視化的方式完成複雜的查詢請求。本文介紹如何使用BSearch-QueryBuilder外掛程式查詢資料。
背景資訊
Query DSL是一個Java開源架構,用於構建安全類型的SQL查詢語句,能夠使用API代替傳統的拼接字串來構造查詢語句。目前Query DSL支援的平台包括JPA、JDO、SQL、Java Collections、RDF、Lucene以及Hibernate Search。
Elasticsearch提供了一整套基於JSON的DSL查詢語言來定義查詢。Query DSL是由一系列抽象的查詢運算式組成,特定查詢能夠包含其它的查詢(如bool),部分查詢能夠包含過濾器(如constant_score),還有的可以同時包含查詢和過濾器(如 filtered)。您可以從Elasticsearch支援的查詢集合裡面選擇任意一個查詢運算式,或者從過濾器集合裡面選擇任意一個過濾器進行組合,構造出複雜的查詢。但編寫DSL容易出錯,僅有少數專業程式人員精通,QueryBuilder能夠協助對Elasticsearch DSL不甚瞭解或者想提升編寫效率的使用者快速產生DSL。
BSearch-QueryBuilder外掛程式具有如下特性:
-
簡單易用:BSearch-QueryBuilder外掛程式提供了可視化的介面點選操作來構造Elasticsearch的DSL查詢請求,無編碼即可完成自訂條件的資料查詢,減少了複雜的DSL的學習成本。也可輔助開發人員編寫或驗證DSL語句的正確性。
-
方便快捷:已經定義的複雜查詢條件會儲存在Kibana中,避免重複構造查詢條件。
-
小巧輕盈:約佔用14MB的磁碟空間,不會常駐記憶體運行,不影響Kibana和Elasticsearch的正常運行。
-
安全可靠:BSearch-QueryBuilder外掛程式不會對使用者的資料進行改寫、儲存和轉寄,原始碼已經通過了阿里雲安全審計。
僅6.3和6.7版本的Elasticsearch執行個體支援BSearch-QueryBuilder外掛程式。
操作步驟
-
登入對應Elasticsearch執行個體的Kibana控制台。
具體操作,請參見登入Kibana控制台。
-
可選:在左側導覽列,單擊Management,按照以下步驟建立一個索引模式。
重要如果已經建立了索引模式,可忽略此步驟。
-
在Management頁面,單擊Kibana地區中的Index Patterns。
-
在Create index pattern頁面,輸入索引模式名稱(待查詢的索引名稱)。
-
單擊Next step。
在 Create index pattern 頁面的 Index pattern 輸入框中輸入
product_info,頁面提示成功匹配 1 個索引。 -
單擊Create index pattern。
-
-
在左側導覽列,單擊Discover。
-
在Discover頁面,單擊右上方功能表列的Query。
-
在查詢地區添加查詢和過濾條件,單擊Submit(提交)。
-
單擊
表徵圖,添加一個查詢條件。 -
單擊
表徵圖,為查詢添加一個子過濾條件。 -
單擊
表徵圖,刪除一個查詢或過濾條件。
BSearch-QueryBuilder支援模糊查詢、多條件組合查詢和自訂時間範圍查詢等多種查詢方式,查詢樣本如下:
-
模糊查詢
以下樣本中表示對郵箱這個條件進行模糊查詢,並要求郵箱模糊比對iga。在篩選條件中,將欄位設定為 email,匹配方式選擇萬用字元(Wildcard),輸入匹配值
*iga*,然後單擊 submit 提交查詢。最終得到的匹配結果如下。查詢結果顯示所有郵箱中包含
iga的記錄,例如abigail@salazar-family.zzz、abigail@banks-family.zzz等,同時展示 customer_first_name、customer_gender、taxful_total_price 等欄位。 -
多條件組合查詢
以下樣本的查詢條件表示index必須為tryme_book,同時要對type進行過濾。要求type等於大學教輔、数学、對外漢語教學或大學教材。在查詢構建器中,選擇索引
tryme_book,匹配方式選擇 Match。添加 OR 邏輯條件組,包含四個 type 欄位的匹配條件,值分別為大學教輔、數學、對外漢語教學和大學教材,單擊 submit 提交查詢。最終得到的匹配結果如下。執行該查詢後,Kibana Discover 返回多條匹配的書籍文檔,每條記錄以 JSON 格式展示
author、price、publish、name、info等欄位資訊。 -
自訂時間範圍查詢
當您需要對時間欄位進行篩選時,可使用時間類型的篩選功能。以下樣本對utc_time進行時間範圍篩選,查詢
[目前時間-240天,目前時間]範圍內的資料。將過濾條件欄位設定為 utc_time,條件類型選擇 最近幾天(In the last),輸入值為240days,然後單擊 submit 按鈕提交查詢。最終得到的匹配結果如下。查詢結果顯示所有在指定時間範圍(最近 240 天)內匹配的資料記錄。
-
使用bsearch_label外掛程式為資料打標
bsearch_label是一個純前端的資料打標外掛程式,無需編寫DSL語句即可以可視化方式完成資料打標。通過打標,可以對某個欄位(或新增一個欄位)賦予一個特殊的標籤值,後續可根據標籤進行彙總分類統計或快速過濾。
操作步驟
-
登入目標Elasticsearch執行個體的Kibana控制台。具體操作,請參見通過Kibana串連叢集。
-
可選: 在左側導覽列,單擊Management,按照以下步驟建立一個索引模式。如果已經建立了索引模式,可忽略此步驟。
-
在 Management 頁面,單擊 Kibana 地區中的 Index Patterns。
-
在 Create index pattern 頁面,輸入索引模式名稱(待查詢的索引名稱)。
-
單擊 Next step。
-
單擊 Create index pattern。
-
-
在左側導覽列,單擊 Discover。
-
在 Discover 頁面,單擊右上方功能表列的 打标。
安裝bsearch_label外掛程式後才可以看到 打标 按鈕。
-
根據需求,選擇以下任意一種方式完成資料打標。
對已有欄位打標
-
如查詢名字是張三的資料。
-
選擇
age欄位,將其標記為18。 -
單擊 確認打標。
-
開啟 歷史打標 開關,查看歷史打標任務詳情。
對新增欄位打標
-
如查詢名字是張三的資料。
-
勾選 自訂打標欄位。
-
新增一個欄位
tag,並將其標記為teenager。 -
單擊 確認打標,查看打標結果。
卸載外掛程式
在外掛程式配置地區中,單擊對應外掛程式右側操作列下的卸載,根據提示完成卸載。
卸載外掛程式也需要重啟Kibana節點,重啟過程中Kibana不能正常提供服務,請在業務低峰期操作。