本文介紹如何將Elasticsearch資料匯入到Log Service,實現資料的查詢分析、加工等操作。
前提條件
已有可用的Elasticsearch叢集。
已建立Project和Logstore。具體操作,請參見建立專案Project和建立Logstore。
版本說明
目前,只支援Elasticsearch 6.3及以上版本。
建立資料匯入配置
在接入資料地區的資料匯入頁簽中,選擇Elasticsearch-資料匯入。
選擇目標Project和Logstore,單擊下一步。
設定匯入配置。
在匯入配置步驟中,配置如下參數。
參數
說明
任務名稱
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訪問。
單擊預覽,預覽匯入結果。
確認無誤後,單擊下一步。
預覽資料和建立索引,然後單擊下一步。Log Service預設開啟全文索引。您也可以根據採集到的日誌,手動建立欄位索引,或者單擊自動產生索引,Log Service將自動產生欄位索引。更多資訊,請參見建立索引。
重要如果需要查詢日誌中的所有欄位,建議使用全文索引。如果只需查詢部分欄位、建議使用欄位索引,減少索引流量。如果需要對欄位進行分析(SELECT語句),必須建立欄位索引。
單擊查詢日誌,系統將跳轉至Logstore查詢分析頁面。
您需要等待1分鐘左右,待索引生效後,才能在原始日誌頁簽中,查看已採集到的日誌。查詢和分析日誌的詳細步驟,請參見查詢和分析日誌。
查看匯入配置
建立匯入配置成功後,您可以在控制台中查看已建立的匯入配置及產生的統計報表。
單擊目標Project。
選擇目標日誌庫下的 ,單擊配置名稱。
在匯入配置概覽頁面,查看匯入配置的基本資料和統計報表。
相關操作
刪除匯入配置
在匯入配置概覽頁面,您可以單擊刪除配置,刪除該匯入配置。
警告刪除後不可恢複,請謹慎操作。
停止和重啟匯入任務
建立匯入配置後,Log Service會對應產生一個匯入任務。您可以在匯入配置概覽頁面,單擊停止,停止匯入任務。停止後,支援重啟。
重要匯入任務被停止後,其狀態最長保留24小時。如果在停止的24小時內沒有重啟該任務,則該任務將不可用。即在停止的24小時後,再重啟該任務,後續任務運行過程中將出錯。
常見問題
問題 | 可能原因 | 解決方案 |
預覽時出現Elasticsearch串連錯誤(failed to connect)。 |
|
|
預覽時出現逾時錯誤(preview request timed out)。 | 待匯入的Elasticsearch索引中沒有資料或沒有符合過濾條件的資料。 |
|
Log Service中顯示的資料時間和資料本身的時間不一致。 | 設定匯入配置時,沒有指定日誌時間欄位或者設定時間格式、時區有誤。 | 設定指定的日誌時間欄位以及正確的時間格式和時區。更多資訊,請參見建立資料匯入配置。 |
匯入資料後,無法查詢和分析資料。 |
| |
匯入的資料條目數量少於預期。 | 存在大於3 MB的Elasticsearch資料,您可以通過資料處理流量觀測儀錶盤確認。 | 縮小單條Elasticsearch資料的大小。 |
開啟增量匯入時,新資料存在明顯的延遲。 |
|
|
錯誤處理機制
錯誤項 | 說明 |
與Elasticsearch叢集通訊異常 | 匯入任務採用Scroll模式拉取Elasticsearch資料,預設使用的keep-alive時間長度為24小時。遇到網路連接錯誤或其他無法與Elasticsearch服務正常通訊的錯誤(例如使用者認證錯誤)時,匯入任務會自動重試。 如果在24小時內無法恢複正常串連,Scroll Session資訊將被Elasticsearch服務端清除,導致重試匯入任務也無法恢複正常運行(提示No search context found錯誤),您只能重建匯入任務。 |