一行命令 從 ELK 遷移日誌服務

2021-09-13 13:13:15 字數 2058 閱讀 3314

摘要:日誌服務相比自建 elk 在功能、效能、規模和成本等方面有諸多優勢。對於已經儲存在 elasticsearch 中的資料,使用者只需要一行命令就能方便地將資料遷移至日誌服務。
日誌服務相比自建 elk 在功能、效能、規模和成本等方面有諸多優勢,參閱自建elk vs 日誌服務(sls)全方位對比。對於已經儲存在 elasticsearch 中的資料,使用者只需要一行命令就能方便地將資料遷移至日誌服務。

資料遷移顧名思義是指將資料從某個資料來源遷移到另外乙個資料來源。根據不同資料來源儲存引擎是否相同,可分為同源遷移和異構遷移。根據遷移型別的不同,可分為全量遷移和增量遷移。

目前,各大雲計算廠商都提供了各自的資料遷移方案,如 aws dms,azure dma,阿里雲 dts。這些方案主要專注於解決關係型資料庫間的資料遷移問題,還未覆蓋到 elasticsearch 場景。

針對 elasticsearch 場景,日誌服務團隊提供了基於 aliyun-log-python-sdk 和 aliyun-log-cli 的解決方案。該方案主要針對歷史資料做全量遷移。

原理

• 使用 scroll api 從 elasticsearch 抓取資料。scroll api 可以從 elasticsearch 裡高效取出大量資料而無須付出深度分頁的代價。

• 針對 elasticsearch 每個 index 的每個 shard 建立乙個資料遷移任務,提交到內部程序池中執行,用來提高並行度和吞吐量。

功能

• 支援使用者將 elasticsearch 中的所有文件或某些索引中的文件遷移至日誌服務指定的 project 中,工具會自動初始化好與索引同名的 logstore。

• 支援使用者自定義過濾條件,只遷移符合條件的文件至日誌服務。

• 支援使用者自定義 elasticsearch 的索引和日誌服務的 logstore 之間的對映關係。

• 支援使用者通過引數 pool_size 來控制資料遷移任務的並行度。

• 支援使用者自定義日誌字段 time、__source__、__topic__ 的取值。

• 支援使用 http 基本認證從 elasticserch 中遷移資料。

對映關係

使用樣例

1.以天為單位統計各狀態碼的數量。

2.統計請求分布在哪些國家。

效能調優

工具的效能主要取決於從 elasticsearch 中讀取資料的速度以及向日誌服務寫入資料的速度。

elasticsearch 中每個 index 由多個 shard 組成。工具會為每個 index 的每個 shard 建立乙個資料遷移任務,並提交到內部程序池中執行(程序池大小可通過引數 pool_size 指定)。理論上目標 index 的 shard 越多,整體吞吐量越高。

日誌服務也有 shard 的概念,單個 shard 提供 5mb/s,500次/s 的寫入能力。您可以通過為 logstore 開啟更多的 shard 來提高向日誌服務寫入資料的速度。

在 elasticsearch 目標 index 只有1個 shard,日誌服務 logstore 也只有1個 shard,單個文件大小 100b 的情況下,平均資料遷移速率為 3mb/s。

閱讀原文

一行命令 從 ELK 遷移日誌服務

日誌服務相比自建 elk 在功能 效能 規模和成本等方面有諸多優勢,參閱自建elk vs 日誌服務 sls 全方位對比。對於已經儲存在 elasticsearch 中的資料,使用者只需要一行命令就能方便地將資料遷移至日誌服務。資料遷移顧名思義是指將資料從某個資料來源遷移到另外乙個資料來源。根據不同資...

一行命令登入伺服器

相信程式設計師們都避免不了通過堡壘機登入伺服器來檢視問題,如何快速登入伺服器而不用繁瑣地輸入密碼等等步驟呢?下面的shell指令碼幫你完成。auto login.sh usr bin expect f 定義堡壘機賬號 密碼 ip set user set passwd set bastion hos...

一行命令安裝apk

話說,最近入手了mac,嘿嘿,做好了吃土的準備 我們都知道怎樣用adb命令安裝乙個apk,但是在次次開發更新除錯的過程中,還是覺得不太爽,有木有更高效的方法呢,思路如下 配置adb環境變數 使用adb命令安裝apk 便捷安裝 將adb安裝apk的命令儲存成指令碼檔案,執行指令碼檔案安裝 便捷公升級 ...