前言
前面我們講了ELK系列文章的安裝備份和恢復(fù),咱們今天來說說如何在Kibana中搜索你想要的日志,下面列舉一些比較常用的搜索方式,以便快速定位到你想要的日志,從而進(jìn)一步對(duì)日志進(jìn)行分析并解決問題。下面我們就直接開工列舉方式。
二、使用步驟
1.文本搜索
只需輸入一個(gè)文本字符串。例如,如果您正在搜索web服務(wù)器日志,您可以輸入safari來搜索術(shù)語safari的所有字段
2.特定字段中搜索
用字段的名稱作為值的前綴。例如,您可以輸入status:200來查找在status字段中包含值為200的所有條目。例子如下:
status字段包含active。表達(dá)式為:
status:activetitle字段包含quick或black。如果省略O(shè)R操作符,則使用默認(rèn)操作符。表達(dá)式為:
title:(quick OR black)或者title:(quick black)其中author字段包含確切的短語“Jack”。表達(dá)式為:
author:"Jack"實(shí)體類多個(gè)字段混合查詢?nèi)纾篵ook.content、book.name、book.date包含quick或black(注意我們需要用反斜杠來轉(zhuǎn)義*)。表達(dá)式為:
book.*:(quick black)
- title字段有任何非空值。表達(dá)式為:
_exists_:title
3.通配符搜索
通配符搜索可以在單獨(dú)的條件上運(yùn)行,使用?替換單個(gè)字符,*替換零個(gè)或多個(gè)字符。表達(dá)式為:qu?ck bla*。唯一要注意的是通配符查詢可能會(huì)使用大量內(nèi)存,并且性能非常差,你想想需要查詢多少項(xiàng)才能匹配查詢字符串“a* b* c*”。
4.正則表達(dá)式搜索
正則表達(dá)式可以通過將查詢字符串包裝在前后斜杠("/")中,例如: name:/joh?n(ath[oa]n)/。更多語法參考官網(wǎng)傳送門
5.模糊搜索
我們可以使用“~”操作符來搜索與我們搜索詞相似但又不完全相似的詞,例如:quikc~ brwn~ foks~
6.近似搜索
鄰近查詢?cè)试S指定的單詞間隔更遠(yuǎn)或以不同的順序。
7.范圍值搜索
可以為日期、數(shù)字或字符串字段指定范圍。包含范圍用方括號(hào)[最小到最大]指定,排除范圍用花括號(hào){最小到最大}指定。
- 2021年全天
date:[2021-01-01 TO 2021-12-31] - 數(shù)字1-5
count:[1 TO 5] - alpha和omega之間的tag,不包括alpha和omega
tag:{alpha TO omega} - 10以上的數(shù)字
count:[10 TO *] - 在2021年之前的日期
date:{* TO 2021-01-01} - 從1到但不包括5的數(shù)字
count:[1 TO 5} - 一側(cè)為無界的范圍可以使用以下語法:
age:>10
age:>=10
age:<10
age:<=10
- 將上下邊界與簡化的語法結(jié)合起來,需要用and操作符連接兩個(gè)子句:
age:(>=10 AND <20)
age:(+>=10 +<20)
8.關(guān)鍵字搜索
使用關(guān)鍵字操作符^使一個(gè)術(shù)語比另一個(gè)術(shù)語更相關(guān)。例如,如果我們想找到所有關(guān)于貓的信息,但我們對(duì)quick cat特別感興趣:
quick^2 cat
^默認(rèn)值是1,但可以是任何正浮點(diǎn)數(shù)。0到1會(huì)降低相關(guān)性。
也可以用于短語或群體:
"Jack"^2 (food)^4
9.布爾操作符搜索
默認(rèn)情況下,只要有一個(gè)術(shù)語匹配,所有術(shù)語都是可選的。搜索foo bar baz將找到包含一個(gè)或多個(gè)foo或bar或baz的任何文檔。
首選的操作符是+(這個(gè)項(xiàng)必須存在)和-(這個(gè)項(xiàng)必須不存在)。其他條款均為可選條款。例如,這個(gè)查詢:
quick black+cat-news
cat 必須有的
news 必須不存在
quick和black是可選的,它們的存在增加了相關(guān)性
也支持熟悉的運(yùn)算符AND、OR和NOT(也寫為&&、||和!)。然而,這些操作符的影響可能比乍一看更復(fù)雜。NOT優(yōu)先于AND, which優(yōu)先于OR。而+和-只影響操作符右邊的項(xiàng),和和或可以影響左邊和右邊的項(xiàng)
((quick AND cat) OR (brown AND cat) OR cat) AND NOT news
10.組合搜索
多個(gè)術(shù)語或子句可以用括號(hào)組合在一起,形成子查詢。
(quick OR brown) AND cat
組合搜索可以用于針對(duì)特定字段,或者增強(qiáng)子查詢的結(jié)果。
status:(active OR pending) title:(full text search)^2
11.保留字符查詢
\+ - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /
如果您需要在查詢中使用以上作為操作符的字符(而不是作為操作符),那么您應(yīng)該用反斜杠進(jìn)行轉(zhuǎn)義。
12.空查詢
如果查詢字符串為空或僅包含空格,則查詢將生成一個(gè)空結(jié)果集。
總結(jié)
通過以上的一些操作基本滿足了工作中的需要,更重要是來一套組合并靈和運(yùn)用。多加練習(xí)吧!