Kibana 用戶指南(分析查詢和聚合)

分析查詢和聚合

Elasticsearch具備強大的分析器API,可用於檢查和分析你的搜索查詢,然而,響應是一個很是大的JSON blob,很難手工分析。html

X-Pack包含Search Profiler工具,能夠將此JSON輸出轉換爲易於導航的可視化,使你可以更快地診斷和調試性能較差的查詢。ios

overview.png

入門

在Kibana中自動啓用搜索概要分析器,它位於Kibana的Dev Tools選項卡下。瀏覽器

要開始分析查詢:elasticsearch

  1. 在Web瀏覽器中打開Kibana並登陸,若是你在本地運行Kibana,請轉到http://localhost:5601/
  2. 單擊側面導航中的DevTools以打開Search ProfilerConsole是首次訪問DevTools時打開的默認工具。
    gs1.png
    在頂部導航欄上,單擊第二項:Search Profiler
    gs2.png
  3. 這將打開Search Profiler界面。
    gs3.png
  4. 將默認的match_all查詢替換爲你要分析的查詢,而後單擊Profile
    gs4.png
    Search Profiler顯示搜索的索引的名稱,每一個索引中的分片以及查詢所花費的時間,如下示例顯示了對match_all查詢進行概要分析的結果,搜索了三個索引:.monitoring-kibana-2-2016.11.30.monitoring-data-2test編輯器

    若是咱們仔細查看測試索引的信息,咱們能夠從累積時間看到查詢花了0.132ms來執行,在索引中的五個碎片中(DWZD0iosQNeJMTvb4q1JDw 0到5),碎片3是最慢的(0.053ms),其次是碎片2(0.038ms),碎片按時間降序排序。ide

    gs5.png

    Cumulative Time指標是各個分片時間的總和,它不必定是查詢返回的實際時間(掛鐘時間),因爲可能在多個節點上並行處理分片,所以掛鐘時間可能遠遠小於累積時間,可是,若是碎片在同一節點上並置並串行執行,則掛鐘時間更接近累積時間。

    雖然Cumulative Time指標對於比較索引和碎片的性能頗有用,但它並不必定表明實際的物理查詢時間。工具

  5. 要查看碎片的更詳細分析信息,請單擊「展開」按鈕,這將顯示有關在碎片上運行的查詢組件的詳細信息。

    在此示例中,在碎片上運行了一個「MatchAllDocsQuery」,因爲它是惟一的查詢運行,所以它佔用了100%的時間,當你將鼠標懸停在一行上時,「搜索概要分析器」會顯示有關查詢組件的其餘信息。性能

    gs6.png

    該面板顯示了低級Lucene方法的時序細分,有關更多信息,請參閱時序細分的參考文檔。測試

分析更復雜的查詢

要了解查詢樹在搜索概要分析器中的顯示方式,讓咱們看一個更復雜的查詢。ui

  1. 索引如下數據:

    POST test/test/_bulk
    {"index":{}}
    {"name":"aaron","age":23,"hair":"brown"}
    {"index":{}}
    {"name":"sue","age":19,"hair":"red"}
    {"index":{}}
    {"name":"sally","age":19,"hair":"blonde"}
    {"index":{}}
    {"name":"george","age":19,"hair":"blonde"}
    {"index":{}}
    {"name":"fred","age":69,"hair":"blonde"}
  2. 在查詢編輯器上方的索引過濾器中輸入"test"(帶有灰色_all的輸入框),這會將分析查詢限制爲test索引。
    gs7.png
相關文章
相關標籤/搜索