第十五章·Kibana深刻-Dev Tools及Lucene語法

Dev Tools介紹

Dev Tools 頁面包含開發工具,您可使用這些Dev Tools與Kibana中的數據進行交互。node

原先的交互式控制檯Sense,使用戶方便的經過瀏覽器直接與Elasticsearch進行交互。從Kibana 5開始更名並直接內建在Kibana,就是Dev Tools選項。nginx

Kibana提供了Console UI來經過REST API與Elasticsearch交互,Console位於Kibana的Dev Tools欄下。Console有兩個主要區域,左邊是編輯區用來書寫REST請求,右邊用來顯示請求返回結果。chrome


自動提示

Console提供了自動提示功能,能夠爲你提供API、方法等提示。編寫完請求後點擊綠色執行按鈕,會在右側面板給出請求結果。執行按鈕旁邊的「小扳手」按鈕,能夠將請求copy轉化爲curl(copy),還有一個功能就是自動縮緊格式(Auto Indent)。若是對已經鎖進好的代碼進行Auto Indent,Console會將請求體(body)縮進在一行中。apache

瀏覽器


多請求查詢

Console支持多請求查詢,只須要你將左側選中執行便可。Console會一次請求Elasticsearch返回結果,多個請求也容許一下複製curl,很是方便。app

![-c](media/15550434441190/15550443382225.jpg)dom

![-c](media/15550434441190/15550444612390.jpg)curl

----elasticsearch

快捷鍵

Console提供了一些快捷鍵,來提升使用效率。工具

快捷鍵 說明
ctrl/cmd + enter 提交請求
ctrl/cmd + alt/option + L 疊起/打開當前代碼
ctrl/cmd + up/down 跳到上一個或下一個執行塊
ctrl/cmd + I 縮進格式
esc 關閉當前提示框

歷史

點擊Console的頂部有History,會顯示最近500條請求成功的歷史紀錄。左側顯示歷史紀錄,點擊其中一條後會在右側顯示。

點擊apply會自動copy到下面的Console編輯區,點擊Clear會清空全部歷史請求。


配置(Setting)

Console提供了一些基礎配置,好比字體大小等。


關閉Console(Setting)

若是不想使用Console能夠在$KIBANA/config/kibana.yml中設置:
console.enabled: false
這樣就關閉了Console了,不太重啓Kibana過程比較慢,須要幾分鐘。

Dev Tools經常使用查詢命令

上傳日誌

無論在學任何開發語言,咱們第一個學的都是"Hello World"

儀式感

PUT hello_world 


match_all查詢全部索引包括內容
GET _search { "query": { "match_all": {} } } 


查詢全部索引名稱

也就是查看一下咱們在ES中有多少個日誌

GET _cat/indices 


查詢集羣節點是否禁用swap
GET _nodes?filter_path=**.mlockall

#結果 { "nodes": { "by_wSvKYQ5ycGlHxW0UWoQ": { "process": { "mlockall": false } }, "iYV6jXoFQsaJJCTBXtaoWA": { "process": { "mlockall": false } } } } 


查詢集羣節點最大文件描述符
GET _nodes/stats/process?filter_path=**.max_file_descriptors #結果 { "nodes": { "by_wSvKYQ5ycGlHxW0UWoQ": { "process": { "max_file_descriptors": 131072 } }, "iYV6jXoFQsaJJCTBXtaoWA": { "process": { "max_file_descriptors": 131072 } } } } 


集羣分片狀況查詢
GET _cat/shards 

Lucene 語法介紹


全文搜索

在搜索欄輸入404,會返回全部字段值中包含404的日誌

使用雙引號包起來做爲一個短語搜索
"like Gecko"


字段搜索

也能夠按頁面左側顯示的字段搜索
限定字段全文搜索:field:value
精確搜索:關鍵字加上雙引號filed:"value"
status:404 搜索http狀態碼爲404的日誌

字段自己是否存在
_exists_:http:返回結果中須要有http字段
_missing_:http:不能含有http字段


通配符搜索

? 匹配單個字符
* 匹配0到多個字符

能夠看到兩次搜索內容左上角,第一次是109 hits,第二次是182 hits

第一次匹配到的內容只有109條,第二次有182條。

? * 不能用做第一個字符,例如:?status *status


正則搜索

es支持部分正則功能,性能較差
domain:/adm?n.vantage(fx[prime]).com.cn/


模糊搜索

quikc~ brwn~ foks~
~:在一個單詞後面加上~啓用模糊搜索,能夠搜到一些拼寫錯誤的單詞

first~ 這種也能匹配到 frist

還能夠設置編輯距離(整數),指定須要多少類似度
cromm~1 會匹配到 from 和 chrome
默認2,越大越接近搜索的原始值,設置爲1基本能搜到80%拼寫錯誤的單詞


近似搜索

在短語後面加上~,能夠搜到被隔開或順序不一樣的單詞
"where select"~5 表示 select 和 where 中間能夠隔着5個單詞,能夠搜到 select password from users where id=1


範圍搜索

數值/時間/IP/字符串
類型的字段能夠對某一範圍進行查詢
length:[100 TO 200]
sip:["172.24.20.110" TO "172.24.20.140"]
date:{"now-6h" TO "now"}
tag:{b TO e} 搜索b到e中間的字符
count:[10 TO *] * 表示一端不限制範圍
count:[1 TO 5} [ ] 表示端點數值包含在範圍內,{ } 表示端點數值不包含在範圍內,能夠混合使用,此語句爲1到5,包括1,不包括5
能夠簡化成如下寫法:
age:>10
age:<=10
age:(>=10 AND <20)


優先級

quick^2 fox
使用使一個詞語比另外一個搜索優先級更高,默認爲1,能夠爲0~1之間的浮點數,來下降優先級


邏輯操做

AND
OR

+:搜索結果中必須包含此項
-:不能含有此項
+apache -jakarta test aaa bbb:結果中必須存在apache,不能有jakarta,剩餘部分儘可能都匹配到


分組

(elasticsearch OR logstash) AND elasticsearch


字段分組

title:(+return +"pink panther")
host:(baidu OR qq OR google) AND host:(com OR cn)


轉譯特殊字符

+ - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /

以上字符看成值搜索的時候須要用\轉義
\(1\+1\)\=2用來查詢(1+1)=2

相關文章
相關標籤/搜索