全部產品
Search
文件中心

Simple Log Service:匯入Elasticsearch資料

更新時間:Oct 13, 2024

本文介紹如何將Elasticsearch資料匯入到Log Service,實現資料的查詢分析、加工等操作。

前提條件

版本說明

目前,只支援Elasticsearch 6.3及以上版本。

建立資料匯入配置

  1. 登入Log Service控制台

  2. 接入資料地區的資料匯入頁簽中,選擇Elasticsearch-資料匯入

    image

  3. 選擇目標Project和Logstore,單擊下一步

  4. 設定匯入配置。

    1. 匯入配置步驟中,配置如下參數。

      參數

      說明

      任務名稱

      SLS任務的唯一名稱。

      顯示名稱

      任務顯示名稱。

      任務描述

      匯入任務的描述。

      服務執行個體URL

      Elasticsearch伺服器的URL地址,格式為http://host:port/

      支援設定多個地址,各個地址之間使用英文逗號(,)隔開,例如http://host1:port1/,http://host2:port2/

      通常情況下,Elasticsearch伺服器的服務連接埠為9200。

      重要

      如果您設定了VPC執行個體ID,則此處必須設定host為對應ECS執行個體的IP地址(IPv4)。

      ES索引列表

      待匯入的索引,多個索引之間使用英文逗號(,)隔開,例如index1,index2,index3

      ES使用者名稱稱

      Elasticsearch使用者名稱。僅當Elasticsearch叢集需要使用者認證時,此處才需配置。

      ES使用者密碼

      Elasticsearch使用者密碼。

      時間欄位

      Elasticsearch索引中代表時間的列名,用於指定日誌時間。

      如果不指定時間欄位,則Log Service預設採用資料匯入時的系統時間。

      重要

      如果要進行增量匯入,則必須設定時間欄位

      時間欄位格式

      設定時間格式,用於解析時間欄位的值。

      • 支援Java SimpleDateFormat文法的時間格式,例如yyyy-MM-dd HH:mm:ss。時間格式的文法詳情請參見Class SimpleDateFormat。常見的時間格式請參見時間格式

      • 支援epoch格式,可選值為epoch、epochMillis、epochMacro、epochNano。

      重要

      Java SimpleDateFormat不支援Unix時間戳記,如果您要使用Unix時間戳記,需設定時間欄位格式為epoch格式。

      時間欄位時區

      選擇時間欄位對應的時區。

      時間欄位格式為epoch格式時,不需要設定時區。

      ES查詢

      過濾資料的查詢語句,需符合Elasticsearch的query_string格式,例如gender:male and city:Shanghai。更多資訊,請參見Query string query

      匯入模式

      選擇資料匯入的模式。

      • 只匯入歷史資料:資料匯入完成後,匯入任務自動結束。

      • 自動匯入新增資料:匯入任務將一直運行。

        重要

        如果選擇自動匯入新增資料,必須設定時間欄位

      起始時間

      指定起始時間後,當時間欄位的值大於等於起始時間時,資料才會被匯入Log Service。

      重要

      只有設定了時間欄位後,此配置才有效。

      結束時間

      指定結束時間後,當時間欄位的值小於等於結束時間時,資料才會被匯入Log Service。

      重要

      只有設定了時間欄位且設定匯入模式只匯入歷史資料後,此配置才有效。

      資料最大延遲秒數

      指定資料產生到寫入Elasticsearch的最大延遲時間。

      重要
      • 如果設定的值比真實延遲小,將導致有些資料無法從Elasticsearch匯入到Log Service。

      • 設定了時間欄位且設定匯入模式自動匯入新增資料後,此配置才有效。

      檢查新數據周期(秒)

      檢查Elasticsearch中新增資料的周期。預設值:300秒,最小值:60秒。

      VPC執行個體ID

      如果Elasticsearch叢集是VPC環境下的Elasticsearch叢集或ECS上自建的Elasticsearch叢集,您可以通過設定VPC執行個體ID,實現Log Service通過阿里雲內網讀取Elasticsearch叢集的資料。通過阿里雲內網讀取資料,具備更好的安全性和網路穩定性。

      重要

      Elasticsearch叢集需允許被IP網段100.104.0.0/16訪問。

    2. 單擊預覽,預覽匯入結果。

    3. 確認無誤後,單擊下一步

  5. 預覽資料建立索引,然後單擊下一步。Log Service預設開啟全文索引。您也可以根據採集到的日誌,手動建立欄位索引,或者單擊自動產生索引,Log Service將自動產生欄位索引。更多資訊,請參見建立索引

    重要

    如果需要查詢日誌中的所有欄位,建議使用全文索引。如果只需查詢部分欄位、建議使用欄位索引,減少索引流量。如果需要對欄位進行分析(SELECT語句),必須建立欄位索引。

  6. 單擊查詢日誌,系統將跳轉至Logstore查詢分析頁面。

    您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。查詢和分析日誌的詳細步驟,請參見查詢和分析日誌

查看匯入配置

建立匯入配置成功後,您可以在控制台中查看已建立的匯入配置及產生的統計報表。

  1. 單擊目標Project。

  2. 選擇目標日誌庫下的資料接入 > 資料匯入,單擊配置名稱。

  3. 匯入配置概覽頁面,查看匯入配置的基本資料和統計報表。

相關操作

  • 刪除匯入配置

    匯入配置概覽頁面,您可以單擊刪除配置,刪除該匯入配置。

    警告

    刪除後不可恢複,請謹慎操作。

  • 停止和重啟匯入任務

    建立匯入配置後,Log Service會對應產生一個匯入任務。您可以在匯入配置概覽頁面,單擊停止,停止匯入任務。停止後,支援重啟。

    重要

    匯入任務被停止後,其狀態最長保留24小時。如果在停止的24小時內沒有重啟該任務,則該任務將不可用。即在停止的24小時後,再重啟該任務,後續任務運行過程中將出錯。

常見問題

問題

可能原因

解決方案

預覽時出現Elasticsearch串連錯誤(failed to connect)。

  • 設定Elasticsearch伺服器的URL地址錯誤。

  • 沒有在白名單中添加匯入服務對應的IP地址,導致匯入服務無法訪問Elasticsearch叢集。

  • 匯入部署在阿里雲上的Elasticsearch叢集資料時,沒有設定VPC執行個體ID。

  • 確保設定了正確的Elasticsearch伺服器的URL地址。

  • 在白名單中添加IP地址,允許匯入服務串連Elasticsearch叢集。更多資訊,請參見IP地址白名單

  • 採用阿里雲內網匯入部署在阿里雲上的Elasticsearch叢集資料時,確保設定了VPC執行個體ID。

預覽時出現逾時錯誤(preview request timed out)。

待匯入的Elasticsearch索引中沒有資料或沒有符合過濾條件的資料。

  • 如果Elasticsearch索引中無資料,請在寫入資料後,再重試預覽。

  • 設定時間欄位和時間格式時,確保該設定與真實資料中的時間欄位、格式相匹配。

  • 設定Elasticsearch查詢條件或時間範圍時,確保Elasticsearch索引中存在合格資料。

Log Service中顯示的資料時間和資料本身的時間不一致。

設定匯入配置時,沒有指定日誌時間欄位或者設定時間格式、時區有誤。

設定指定的日誌時間欄位以及正確的時間格式和時區。更多資訊,請參見建立資料匯入配置

匯入資料後,無法查詢和分析資料。

  • 資料不在查詢範圍內。

  • 未配置索引。

  • 索引未生效。

  • 檢查待查詢資料的時間是否在查詢時間範圍內。

    如果不在查詢範圍內,請調整查詢範圍並重新查詢。

  • 檢查是否已為Logstore設定索引。

    如果未設定,請先設定索引。具操操作,請參見建立索引重建索引

  • 如果已設定索引,且資料處理流量觀測儀錶盤中顯示的成功匯入資料量符合預期,則可能原因是索引未生效,請嘗試重建索引。具體操作,請參見重建索引

匯入的資料條目數量少於預期。

存在大於3 MB的Elasticsearch資料,您可以通過資料處理流量觀測儀錶盤確認。

縮小單條Elasticsearch資料的大小。

開啟增量匯入時,新資料存在明顯的延遲。

  • 設定資料最大延遲秒數過大。

  • Elasticsearch叢集頻寬達到限制。

  • 通過公網匯入資料時,網路不穩定。

  • Logstore Shard數量過少。

  • 更多原因,請參見效能限制

  • 確保設定了合理的資料最大延遲秒數,並根據真實情況進行調整。

  • 檢查Elasticsearch叢集流量是否達到頻寬節流設定(特別是部署在阿里雲上的Elasticsearch叢集),如果達到或接近頻寬節流設定,則需要進行頻寬擴容。

  • 如果通過公網匯入Elasticsearch資料,則需保證公網頻寬足夠大。

  • Logstore Shard數量較少時,請嘗試增加Shard的個數,並觀察延遲情況。具體操作,請參見管理Shard

錯誤處理機制

錯誤項

說明

與Elasticsearch叢集通訊異常

匯入任務採用Scroll模式拉取Elasticsearch資料,預設使用的keep-alive時間長度為24小時。遇到網路連接錯誤或其他無法與Elasticsearch服務正常通訊的錯誤(例如使用者認證錯誤)時,匯入任務會自動重試。

如果在24小時內無法恢複正常串連,Scroll Session資訊將被Elasticsearch服務端清除,導致重試匯入任務也無法恢複正常運行(提示No search context found錯誤),您只能重建匯入任務。