Lucene查詢語法
Kibana查詢語言基於Lucene查詢語法。下面是一些提示:
為了執行一個文本搜索,可以簡單的輸入一個文本字符串。例如,如果你想搜索web服務器的日志,你可以輸入關鍵字"safari",這樣你就可以搜索到所有有關"safari"的字段。
為了搜索一個特定字段的特定值,可以用字段的名稱作為前綴。例如,你輸入"status:200",將會找到所有status字段的值是200的文檔。
為了搜索一個范圍值,你可以用括號范圍語法,[START_VALUE TO END_VALUE]。例如,為了找到狀態碼是4xx的文檔,你可以輸入status:[400 TO 499]。
為了指定更加復雜的查詢條件,你可以用布爾操作符 AND , OR 和 NOT。例如,為了找到狀態碼是4xx並且extension字段是php或者html的文檔,你可以輸入status:[400 TO 499] AND (extension:php OR extension:html)。
Kibana查詢語法增強(新的更簡單的語法)
如果你熟悉Kibana的舊Lucene查詢語法,那么你應該對這種新的語法也不會陌生。基本原理保持不變,我們只是簡單地改進了一些東西,使查詢語言更易於使用。
-
response:200 將匹配response字段的值是200的文檔
-
用引號引起來的一段字符串叫短語搜索。例如,message:"Quick brown fox" 將在message字段中搜索"Quick brown fox"這個短語。如果沒有引號,將會匹配到包含這些詞的所有文檔,而不管它們的順序如何。這就意味着,會匹配到"Quick brown fox",而不會匹配"quick fox brown"。(畫外音:引號引起來作為一個整體)
-
查詢解析器將不再基於空格進行分割。多個搜索項必須由明確的布爾運算符分隔。注意,布爾運算符不區分大小寫。
在Lucene中,response:200 extension:php 等價於 response:200 and extension:php。這將匹配response字段值匹配200並且extenion字段值匹配php的文檔。
如果我們把中間換成or,那么response:200 or extension:php將匹配response字段匹配200 或者 extension字段匹配php的文檔。
默認情況下,and 比 or 具有更高優先級:
response:200 and extension:php or extension:css 將匹配response是200並且extension是php,或者匹配extension是css而response任意的文檔。等價於:(response:200 and extension:php) or extension:css
括號可以改變這種優先級:
response:200 and (extension:php or extension:css) 將匹配response是200並且extension是php或者css的文檔。
還有一種簡寫的方式:
response:(200 or 404) 將匹配response字段是200或404的文檔。字符值也可以是多個,比如:tags:(success and info and security)。
還可以用not:
not response:200 將匹配response不是200的文檔。
response:200 and not (extension:php or extension:css) 將匹配response是200並且extension不是php也不是css的文檔。
- 范圍檢索和Lucene有一點點不同
代替 byte:>1000,可使用byte > 1000。
>, >=, <, <= 都是有效的操作符。
response:* 將匹配所有存在response字段的文檔。
通配符查詢也是可以的。machine.os:win* 將匹配machine.os字段以win開頭的文檔,像"windows 7"和"windows 10"這樣的【值】都會被匹配到。
通配符也允許我們一次搜索多個【字段】,例如,假設我們有machine.os和machine.os.keyword兩個字段,我們想要搜索這兩個字段都有"windows 10",那么我們可以這樣寫"machine.os*:windows 10"。
Visualize
Visualize使得你可以創建在你的Elasticsearch索引中的數據的可視化效果。然后,你可以構建dashboard來展示相關可視化。
Kibana可視化是基於Elasticsearch查詢的。通過用一系列的Elasticsearch聚集來提取並處理你的數據,你可以創建圖片來顯示你需要了解的趨勢、峰值和低點。
創建一個可視化
創建一個可視化的視圖步驟:
第1步:點擊左側導航條中的“Visualize”按鈕
第2步:點擊“Create new visualization”按鈕或者加號(+)按鈕
第3步:選擇一個可視化類型
第4步:指定一個搜索查詢來檢索可視化數據
第5步:在可視化的構建器中選擇Y軸的聚合操作。例如,sum,average,count等等
第6步:設置X軸
Dashboard
Kibana儀表板顯示可視化和搜索的集合。你可以安排、調整和編輯儀表板內容,然后保存儀表板以便共享它。
構建一個Dashboard
第1步:在導航條上點擊“Dashboard”
第2步:點擊“Create new dashboard”或者“加號(+)”按鈕
第3步:點擊“Add”按鈕
第4步:為了添加一個可視化,從可視化列表中選擇一個,或者點擊“Add new visualization”按鈕新創建一個
第5步:為了添加一個已保存的查詢,點擊“Saved Search”選項卡,然后從列表中選擇一個
第6步:當你完成添加並且調整了dashboard的內容后,去頂部菜單欄,點擊“Save”,然后輸入一個名字
默認情況下,Kibana儀表板使用淺色主題。要使用深色主題,單擊“選項”並選擇“使用深色主題”。要將dark主題設置為默認,請轉到管理>Management > Advanced ,並將dashboard:defaultDarkTheme設置為On。