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

2021-09-20 05:31:28 字數 1671 閱讀 4329

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

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

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

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

日誌服務

說明index

logstore

允許使用者將多個 index 上的資料遷移至乙個 logstore。

type

logitem 中的字段 __tag__:_type

document

logitem

elasticsearch 的文件和日誌服務中的日誌一一對應。

logstore 的索引

工具預設情況下會為您自動建立好索引。

field datatypes

logitem 資料型別

具體對映關係參考資料型別對映。

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

* | select  date_trunc('day' ,  __time__)  as t, "nginx.access.response_code" as status, count(1) as count group by status, t order by t asc
2.統計請求分布在哪些國家。

* | select ip_to_country("nginx.access.remote_ip") as country, count(1) as count group by country
工具的效能主要取決於從 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 在功能 效能 規模和成本等方面有諸多優勢。對於已經儲存在 elasticsearch 中的資料,使用者只需要一行命令就能方便地將資料遷移至日誌服務。日誌服務相比自建 elk 在功能 效能 規模和成本等方面有諸多優勢,參閱自建elk vs 日誌服務 sls 全方位對比。...

一行命令登入伺服器

相信程式設計師們都避免不了通過堡壘機登入伺服器來檢視問題,如何快速登入伺服器而不用繁瑣地輸入密碼等等步驟呢?下面的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的命令儲存成指令碼檔案,執行指令碼檔案安裝 便捷公升級 ...