ELK日誌分析Kibana——篩選語法基礎
阿新 • • 發佈:2018-12-23
摘要: ES全文搜尋的簡易語法是Kibana上使用的搜尋語法,一定需要學會,前一篇文章給出的只是基礎的、最根本的CRUD操作,是對單挑資料的操作,但是在Kibana中存在大量的搜尋和聚合,動輒上千萬的資料量,所以掌握好ES全文搜尋的語法就是使用Kibana的重要保證。
ES全文搜尋的簡易語法是Kibana上使用的搜尋語法,一定需要學會,前一篇文章給出的只是基礎的、最根本的CRUD操作,是對單挑資料的操作,但是在Kibana中存在大量的搜尋和聚合,動輒上千萬的資料量,所以掌握好ES全文搜尋的語法就是使用Kibana的重要保證。
簡易語法詳細解析:
1、全文檢索:直接寫搜尋的單詞 如:搜尋‘id’,搜尋字元A;
2 、單欄位的全文檢索:在搜尋單詞之前加上欄位名和冒號,比如如果知道單詞 Riven(使用者名稱) 肯定出現在 user欄位,可以寫作 user:Riven;
3、單欄位的精確檢索:在搜尋單詞前後加雙引號,比如 user:"Riven";
4 、多個檢索條件的組合:可以使用 NOT, AND 和 OR 來組合檢索,注意必須是大寫。比如 user:("Riven" OR "riven") AND NOT mesg:BUG;
這個搜尋的全意是: 精確搜尋欄位值為"Riven" 、"riven"並且mesg欄位值不能為BUG的資訊
5、欄位是否存在:_exists_:user 表示要求 user 欄位存在,_missing_:user 表示要求 user 欄位不存在;
6 、萬用字元:用 ? 表示單字母,* 表示任意個字母。比如 fir?t mess*;
7、正則:需要比萬用字元更復雜一點的表示式,可以使用正則。比如 mesg:/mes{2}ages?/。注意 ES 中正則效能很差,而且支援的功能也不是特別強大,儘量不要使用;
8、近似搜尋:用 ~ 表示搜尋單詞可能有一兩個字母寫的不對;
9、範圍搜尋:對數值和時間,ES 都可以使用範圍搜尋,比如:size:>300,date:["now-6h" TO "now"} 等。其中,**[] 表示端點數值包含在範圍內**,**{} 表示端點數值不包含在範圍內**;
以上九條就是ES全文搜尋的簡易語法使用,這些語法全部都可以在Kibana中的任何一個搜尋框內使用:
如果我想要搜尋帶有字元A的資訊:
如果我們要精確檢索一個單詞"params":
如果我把搜尋語句改為"params" NOT '回款' 則,帶回款字樣的資訊將不會在出現在展示列表裡面.
# 注意: 搜尋關係詞 必須大寫
其他的檢索語法和前面的例項並無不同,在這裡就不一一展示了,感興趣的同學可以自己試試.
還有一個不能被忽略的重要功能,那就是儲存基礎的搜尋簡易,以備下面的圖形化展示做鋪墊。
怎麼儲存呢?
搜尋建議怎麼用?在圖形制作細節我會進行介紹。
版權宣告:本文內容為轉載,版權歸作者所有。
ELK日誌監控分析系統Logstash詳解之——input模組
ELK日誌監控分析系統Logstash詳解之——filter模組
ELK日誌監控分析系統Logstash詳解之——output模組
ELK日誌分析Elasticsearch模組——語法基礎CRUD