全部產品
Search
文件中心

Elasticsearch:查詢日誌

更新時間:Nov 28, 2024

通過Elasticsearch的日誌功能,您可以輸入關鍵字和設定時間範圍,鎖定需要查詢的日誌內容,快速定位叢集問題,輔助叢集營運。本文為您介紹如何查詢日誌以及常見日誌的使用說明。

使用限制

  • ES訪問日誌:僅6.7.0及7.10版本的執行個體支援在控制台查看ES訪問日誌。

  • 審計日誌:僅以下地區的7.x及以上版本執行個體支援在控制台查看審計日誌。

    國家或大區

    地區

    中國

    華北2(北京)、華東1(杭州)、華東2(上海)、華北3(張家口)

    亞太地區

    新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、日本(東京)

    歐美地區

    美國(維吉尼亞)、美國(矽谷)、德國(法蘭克福)、英國(倫敦)

操作步驟

  1. 登入Elasticsearch控制台
  2. 在左側導覽列,單擊Elasticsearch執行個體
  3. 進入目標執行個體。
    1. 在頂部功能表列處,選擇資源群組和地區。
    2. Elasticsearch執行個體中單擊目標執行個體ID。
  4. 在左側導覽列,單擊日誌查詢,查看叢集的作業記錄。

    Elasticsearch主要支援的日誌類型包括:主日誌、Searching慢日誌、Indexing慢日誌、GC日誌、ES訪問日誌和審計日誌,各類日誌的說明和使用情境如下,更多詳細資料請參見日誌說明

    日誌類型

    說明

    使用情境

    主日誌

    叢集的健康運行狀態及索引查詢寫入日誌。例如,寫入相關日誌包含建立索引、更新索引mapping和寫入隊列打滿等日誌;查詢相關日誌包含查詢隊列和查詢異常等日誌。

    當您需要查看叢集中各節點的健全狀態及查詢寫入情況,例如節點之間的連通性、Full GC情況、建立或刪除索引情況、叢集層級的查詢報錯等資訊時,可查看主日誌進行排查。

    重要

    如果您的業務側出現問題,建議優先查看主日誌和叢集監控,排除叢集自身的效能瓶頸或配置問題。

    Searching慢日誌

    慢查詢日誌。當查詢耗時超過指定閾值時,將在慢查詢日誌中列印相關資訊。慢查詢閾值已在情境化模板的索引模板中配置,預設情況下已是最優,只需一鍵應用即可,詳細資料請參見索引模板配置

    當您的業務出現查詢耗時久的情況時,可查看Searching慢日誌進行排查。

    查詢耗時越久,叢集資源消耗越大。當日誌存在大量的慢日誌,請排查叢集資源及負載情況,擷取瓶頸項,根據瓶頸項及時擴充對應資源或使用叢集限流外掛程式(aliyun-qos)進行限流,以保證叢集的穩定性。

    Indexing慢日誌

    慢寫入日誌。當寫入耗時超過指定閾值時,將在慢寫入日誌中列印相關資訊。慢寫入閾值已在情境化模板的索引模板中配置,預設情況下已是最優,只需一鍵應用即可,詳細資料請參見索引模板配置

    當您的業務出現寫入耗時久的情況時,可查看Indexing慢日誌進行排查。

    寫入耗時越久,對叢集的資源消耗越大。當日誌存在大量的慢日誌,請排查叢集資源及負載情況,擷取瓶頸項,根據瓶頸項及時擴充對應資源或使用叢集限流外掛程式(aliyun-qos)進行限流,以保證叢集的穩定性。

    GC日誌

    記憶體回收行程日誌。顯示所有JVM堆記憶體佔用觸發的記憶體回收情況,通過GC日誌可擷取詳細的記憶體回收資訊,包括Old GC、CMS GC、Full GC以及Minor GC等回收機制。

    當叢集出現效能瓶頸時,可通過GC日誌擷取詳細的GC回收資訊,查看是否存在耗時間長度或操作頻繁的GC。如果存在,需要及時擴充叢集資源或使用叢集限流外掛程式(aliyun-qos)進行限流,以保證叢集的穩定性。

    重要

    預設情況下,Elasticsearch叢集使用CMS回收器,而當資料節點記憶體大於等於32 GB時,建議使用G1回收器,以提高GC回收效率。詳細資料請參見配置記憶體回收行程

    ES訪問日誌

    叢集的訪問日誌。顯示Elasticsearch叢集接收到restSearchAction相關請求的詳細資料,包括uri、bodySize、請求時間等。

    重要
    • 僅6.7.0及7.10版本的執行個體支援在控制台查看ES訪問日誌

    • ES訪問日誌不支援以下查詢情境日誌:SQL查詢、multi查詢、 scroll查詢、Kibana部分視覺化檢視觸發的查詢。

    • 如果您想擷取更完善的查詢寫入請求資訊,建議開啟審計日誌,詳情請參見配置Auditlog(審計日誌)

    當您需要排查哪些用戶端在向Elasticsearch叢集發送查詢請求時,可通過ES訪問日誌擷取。

    審計日誌

    Elasticsearch執行個體對應的增、刪、改、查等操作產生的審計日誌。

    重要
    • 使用限制中所列地區的7.x及以上版本執行個體支援在控制台查看審計日誌。其他執行個體需要在YML配置中開啟審計日誌,開啟後審計日誌會以索引形式寫入當前的Elasticsearch叢集中,您可以在Kibana控制台上查看.security_audit_log-*開頭的索引來查看審計日誌。詳細資料請參見配置YML參數

    • 在控制台上查看審計日誌前,需要先單擊日誌設定開啟審計日誌採集。

    • 審計日誌預設採集的事件類型為access_denied, anonymous_access_denied, authentication_failed, connection_denied, tampered_request, run_as_denied, run_as_granted,如果您需要修改採集的審計事件類型,需要修改叢集的YML檔案中的xpack.security.audit.logfile.events.include參數,詳細資料請參見配置Auditlog(審計日誌)

    當您出現身分識別驗證失敗、拒絕串連、需要查看資料訪問事件以及發現叢集存在可疑活動(例如資料訪問授權和使用者安全配置更改)的情況時,可通過查看審計日誌進行排查分析。

  5. 在日誌頁面的搜尋方塊中,輸入查詢條件,選擇開始時間和結束時間,單擊搜尋

    搜尋成功後,Elasticsearch會根據您的查詢條件返回日誌查詢結果,並展示在日誌查詢頁面。

    • Elasticsearch最多支援查詢連續7天內的日誌,日誌預設按時間倒序展示。

    • 支援基於Lucene的日誌查詢文法,詳情請參見Query string syntax

    • 查詢條件中的AND必須為大寫。

    • 如果結束時間為空白,那麼結束時間預設為目前時間。如果開始時間為空白,那麼開始時間預設為結束時間減去1小時。

    以查詢content包含關鍵字healthlevelinfohost172.16.xx.xx的主日誌為例,樣本查詢條件為:host:172.16.xx.xx AND content:health AND level:info

    重要
    • Elasticsearch最多支援返回10000條日誌。

      如果在返回的10000條日誌中,未覆蓋到您所需要的日誌內容,可以通過縮短查詢時間範圍來擷取需要的日誌。

    • Elasticsearch單條日誌最多展示10000個字元。

日誌說明

主日誌

主日誌主要展示叢集的作業記錄,包括日誌產生的時間、日誌所在的節點IP和日誌內容。ES日誌查詢結果

參數

說明

時間

日誌產生時間。

節點IP

組建記錄檔的節點的IP地址。

內容

日誌的詳細資料,主要由levelhosttimecontent組成:

  • level:記錄層級。包括trace、debug、info、warn、error等。

    說明

    GC日誌沒有level

  • host:組建記錄檔的節點的IP地址。

  • time:日誌產生的時間。

  • content:日誌的主要內容。

慢日誌

慢日誌預設開啟,主要展示超過指定時間閾值的索引(Indexing慢日誌)和查詢(Searching慢日誌)日誌。在叢集負載不均、讀寫異常、處理資料很慢等情況下,您可以通過查詢慢日誌來分析具體原因。

預設情況下,Elasticsearch的慢日誌會記錄5~10秒的讀寫操作,這樣不利於排查問題。因此在執行個體建立完成後,您可以選擇以下任意一種方式,降低日誌記錄的時間間隔,以抓取更多的日誌:

  • 叢集建立成功後,情境化配置模板預設已開啟,且會自動應用到叢集中。其中索引模板配置中定義了慢日誌配置,您無需修改保持預設即可。其中通用情境預設的慢日誌配置如下:

      "settings": {    "index": {      "search": {        "slowlog": {          "level": "info",          "threshold": {            "fetch": {              "warn": "200ms",              "trace": "50ms",              "debug": "80ms",              "info": "100ms"            },            "query": {              "warn": "500ms",              "trace": "50ms",              "debug": "100ms",              "info": "200ms"            }          }        }      },      "refresh_interval": "10s",      "unassigned": {        "node_left": {          "delayed_timeout": "5m"        }      },      "indexing": {        "slowlog": {          "level": "info",          "threshold": {            "index": {              "warn": "200ms",              "trace": "20ms",              "debug": "50ms",              "info": "100ms"            }          },          "source": "1000"        }      }    }  }
    說明

    如果情境化配置模板不啟用狀態,您需要參見修改情境化配置模板,啟用並提交模板配置,才可以將預設的慢日誌配置應用到叢集。

  • 參見登入Kibana控制台,登入該執行個體的Kibana控制台,執行以下命令,修改慢日誌配置。

    PUT _settings{    "index.indexing.slowlog.threshold.index.warn" : "200ms",    "index.indexing.slowlog.threshold.index.trace" : "20ms",    "index.indexing.slowlog.threshold.index.debug" : "50ms",    "index.indexing.slowlog.threshold.index.info" : "100ms",    "index.search.slowlog.threshold.fetch.warn" : "200ms",    "index.search.slowlog.threshold.fetch.trace" : "50ms",    "index.search.slowlog.threshold.fetch.debug" : "80ms",    "index.search.slowlog.threshold.fetch.info" : "100ms",    "index.search.slowlog.threshold.query.warn" : "500ms",    "index.search.slowlog.threshold.query.trace" : "50ms",    "index.search.slowlog.threshold.query.debug" : "100ms",    "index.search.slowlog.threshold.query.info" : "200ms"}

修改完成後,在執行讀寫任務時,如果執行時間超過了以上配置的時間,您就可以在慢日誌頁簽中查詢到對應的日誌。慢日誌

GC日誌

GC日誌預設開啟,包含日誌產生的時間、所在節點的IP地址和日誌內容。詳細資料,請參見主日誌GC日誌

ES訪問日誌

訪問日誌展示了Elasticsearch叢集接收到restSearchAction相關請求的詳細資料,包括叢集node和IP地址、bodySize、請求內容、請求時間、發起請求的用戶端IP地址、uri等資訊。

重要
  • 僅6.7.0和7.10版本的執行個體支援在控制台查看ES訪問日誌

  • 如果您想擷取更完善的查詢寫入請求資訊,建議開啟審計日誌,詳情請參見配置Auditlog(審計日誌)

ES訪問日誌

審計日誌

重要

使用限制中所列地區的7.x及以上版本執行個體支援在控制台查看審計日誌。

審計日誌主要展示Elasticsearch執行個體對應的增、刪、改、查等操作產生的日誌。預設關閉,您可以通過以下步驟開啟並查看審計日誌:

  1. 日誌查詢頁面,單擊右側的日誌設定

  2. 日誌設定對話方塊中,開啟審計日誌採集開關。

    重要
    • 開啟審計日誌採集後,您可以在當前頁面查詢到該叢集的審計日誌。如果您需要修改採集的審計事件類型,請前往叢集配置修改xpack.security.audit.logfile.events.include參數配置,詳細資料請參見配置Auditlog(審計日誌)

    • 開啟或關閉審計日誌採集會觸發叢集重啟。目前Elasticsearch叢集重啟是採用滾動重啟的方式。在叢集狀態正常(綠色)、索引至少包含1個副本的情況下,如果資源使用率也不是特別高,那麼叢集在重啟期間能夠持續提供服務。但建議在業務低峰期操作。

  3. 選中操作提示,單擊確認

    確認後,叢集會進行重啟。重啟過程中,可在工作清單查看進度。重啟成功後,即可開啟審計日誌採集。

    重要

    審計日誌資訊會佔用您的磁碟空間,同時也會影響效能。如果您不需要查看審計日誌,可使用同樣的方式關閉審計日誌採集功能。

  4. 日誌查詢頁面,單擊審計日誌頁簽,查看審計日誌。

    審計日誌

相關文檔

ListSearchLog

常見問題