kibana查詢語法 使用教程


Kibana拆分字段的時候,可能是根據空格拆分的。

例如:nested exception is java.net.SocketTimeoutException: Read timed out ,

單獨搜索 nested ,exception  都可以,但單獨搜索 SocketTimeoutException 是搜不到的。

但是java.net.SocketTimeoutException可以搜索到。

 

1. 使用雙引號包起來作為一個短語搜索: "like Gecko"

2. ? 匹配單個字符; * 匹配0到多個字符 (貌似精確搜索的時候,不能使用?和*,使用雙引號括起來的時候無效)

    例如:kiba?a, el*search

    ? * 不能用作第一個字符,例如:?text *text

3. 限定字段全文搜索:field:value; 匹配的是整個單詞,否則可能匹配不了。key只能是json的最外層的。

4. 精確搜索:關鍵字加上雙引號 filed:"value" , key只能是json的最外層的。

5. 模糊搜索:

    quikc~ brwn~ foks~

    ~:在一個單詞后面加上~啟用模糊搜索,可以搜到一些拼寫錯誤的單詞。first~ 這種也能匹配到 frist、

    還可以設置編輯距離(整數),指定需要多少相似度

    cromm~1 會匹配到 from 和 chrome

    默認2,越大越接近搜索的原始值,設置為1基本能搜到80%拼寫錯誤的單詞

6. 可以通過左側添加filter選項,限制服務器、時間、字段等

7. 鼠標放在搜索結果上,會有 放大符號和縮小符號,點擊可以作為 篩選條件,包含或者不包含某些值

8. 如果查詢的時候沒有明確查詢的字段,會默認為 _all 字段,也就是全文查詢。也可以指定一個字段,又稱為 field 來查詢。

    簡易查詢:

    # 全文查詢 Exception: Exception

    # 指定查詢字段 message 里的 Exception: message: Exception

    # 查詢短語: message: "java.lang.NullPointerException"

    # 任何 message 字段都包含 Exception: message\*: Exception

    # 通配符的使用,? 代替單個字符,* 代替零個或者多個字符: message: Exceptio*

    # 正則表達式通過使用 / 包圍,可以植入到查詢的字符串中: message: /Ex?(cep[tion])/

    # 另一個正則的使用,匹配的含義是「兩位非abc的任意字符」: info.recallId: /[^abc]{2}/

9. 多字段查詢

    可以通過一些布爾操作符來使用,如果查詢中沒有任意的操作符號,那么默認使用 OR 操作符。

    # 支持 AND, OR, NOT,也可以寫成&&, ||, !操作符: message: ((Exception AND Error) OR (Error AND Exception) OR Error) AND NOT Exception、

    # 包含 lucene 但不包含 elasticsearch : lucene NOT elasticsearch (NOT 必須大寫)

    # + 必須包含,其他可有可無,lucene 必須包含,apache 可有可無...:+lucene apache   (如果限定字段,需要加單引號)

    # 不能出現的操作符號"-",包含了 lucence,但不包含 apache...:+lucene-apache        (如果限定字段,需要加單引號)

    一個字段內查詢多個內容,用&&或者and連接:msg:"更新每日"&&"19041112210104855593"  ,msg:"更新每日" AND  "19041112210104855593"

10. 范圍操作,可以指定日期、數字或者字符串字段的范圍:

       # [min TO max] 是閉區間

       # {min TO max} 是開區間

       @timestamp: [1510536210000 TO 1510550000000]

        # * 表示一端不限制范圍

       count:[10 TO *]

11. 轉義,保留字符包括以下,需要使用轉義符來進行轉義:

      # 例子:message: "domain\=jobmd_ent4ent"

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

12. 模糊查詢

       使用"~”字符以及一個緊隨其后的整數值,當使用該修飾符修飾一個詞項的時候,意味着我們想搜索那些包含該此項近詞項的文檔。"~"字符后的整數值確定了近似詞項與原始詞項的最大編輯距離。

       # mastering book Elasticsearch 也會被認為匹配

       title: "mastering Elasticsearch"~2

13. Kibana 中一些好用的功能

      1) Save Search:可以保存之前的 query,通過歷史記錄可以查找最近的使用。

      2) 時間過濾器:可以設置相對 relative 或者絕對 absolute 時間過濾器,前者是相對於當前時間的時間,后者是絕對時間。

      3)自動刷新:固定的查詢條件的情況下,可以設置自動刷新的時間來刷新可視區域。

      4)直方圖選擇區域:選擇區域可以出發時間過濾器。

      5)字段列表搜索字段:可以通過 add 添加不同組合。

      6)share 功能:導航欄處有一個 share 按鈕,將查詢的語句通過鏈接的方式進行分享,分別團隊成員一起查詢。

      7)應用例子-某用戶的推薦 bad case: 確定這個 bad case 的請求參數,拿到 id 和 domain, 確定請求發生的時間或者時間段

           # 已知 domain 為 bbs_app_recomm,並且用戶名為「oscar」的請求,在2017年11月7日 下午4點前后,有一次推薦的 bad case,需要這次推薦的過程,了解為何會產生這次推薦的結果。

           # 通過查詢到的結果上下瀏覽,得到該用戶的 recall 和 rerank 結果,大致可以找到 bad case 的原因。

           message: "oscar" AND @timestamp: 1510042056000

14. kibana 日志可能延遲,如果看到,直接登錄服務器去看

15. 在一些情況下kibana日志可能顯示不

      LOGGER.warn("invoke error,ex=", e); 這種格式的日志,如果運維沒有特殊設置,可能導致日志顯示不全。

 

參見:https://zhuanlan.zhihu.com/p/33791813

           https://segmentfault.com/a/1190000002972420

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM