TSDB for InfluxDB® akan dihentikan pada 23 Oktober 2026. Migrasikan data Anda sebelum tanggal tersebut untuk mencegah gangguan layanan. Topik ini menjelaskan solusi migrasi yang tersedia dan memandu Anda melalui setiap jalur migrasi.
Untuk informasi lebih lanjut mengenai penghentian TSDB for InfluxDB®, lihat pemberitahuan terkait.
Pilih solusi migrasi
Pilih solusi berdasarkan skala data dan database tujuan Anda:
| Scenario | Recommended solution |
|---|---|
| Migrasi like-for-like — tumpukan teknologi yang sama | Instans InfluxDB self-hosted |
| Data berskala besar, beban kerja pemantauan deret waktu | LindormTSDB |
| Skenario deret waktu lainnya | Solusi database deret waktu terdistribusi lainnya |
LindormTSDB tidak kompatibel dengan bahasa kueri InfluxQL. Migrasi ke LindormTSDB memerlukan modifikasi kode kueri dalam aplikasi Anda.
Migrasi ke instans InfluxDB self-hosted
Jalur ini menggunakan influxd backup dan influxd restore untuk mentransfer data dari instans TSDB for InfluxDB® Anda ke instans InfluxDB self-hosted yang berjalan di Elastic Compute Service (ECS).
Langkah-langkah migrasi:
Prasyarat
Sebelum memulai, pastikan bahwa:
Instans TSDB for InfluxDB® Anda telah ditingkatkan ke versi 1.8.14 (versi terbaru).
Port backup 8088 telah diaktifkan. Ajukan tiket melalui sistem tiket Alibaba Cloud untuk membuka port tersebut.
Instans InfluxDB self-hosted memenuhi semua kondisi berikut:
Berada di wilayah, zona, dan virtual private cloud (VPC) yang sama dengan instans TSDB for InfluxDB® Anda
Tipe instans yang sama
Terhubung ke vSwitch yang sama
Untuk panduan ini, beli instans ECS yang memenuhi kondisi tersebut dan instal InfluxDB V1.8.10 self-hosted. Lihat Cara cepat membeli instans subscription untuk instruksi pembelian ECS.
Untuk ikhtisar konseptual proses backup dan restore, lihat Backup and restore dalam dokumentasi InfluxDB.
Catatan penggunaan
Hanya data historis. Proses backup dan restore tidak mendukung migrasi data inkremental. Siapkan dual-write sebelum memigrasikan data historis.
Kebutuhan penyimpanan. Ruang penyimpanan yang tersedia pada instans tujuan harus lebih dari dua kali ukuran data Anda.
Ambang batas memori. Jika penggunaan memori instans TSDB for InfluxDB® Anda saat ini melebihi 80%, lakukan peningkatan instans sebelum memulai backup.
Backup tingkat shard. Backup data satu shard dalam satu waktu. Setiap perintah backup memerlukan nama database, nama kebijakan retensi, dan ID shard.
Aktifkan dual-write
Karena backup dan restore hanya mencakup data historis, mulailah menulis data baru ke kedua instans sebelum migrasi. Hal ini memastikan tidak ada data yang hilang selama jendela migrasi.
Konfigurasikan aplikasi Anda untuk menulis secara simultan ke instans TSDB for InfluxDB® dan instans InfluxDB self-hosted.
Pertahankan dual-write hingga Anda selesai memigrasikan seluruh data historis.
Backup data
Jalankan perintah berikut pada instans ECS tempat InfluxDB self-hosted diinstal.
# Syntax
influxd backup -portable \
-host <vpc-endpoint>:8088 \
-db <database-name> \
-rp <retention-policy-name> \
-shard <shard-id> \
<backup-destination-path>
# Example
influxd backup -portable \
-host ts-xxx.influxdata.tsdb.aliyuncs.com:8088 \
-db example_db \
-rp example_rp \
-shard 123 \
/root/tmp/influx_backupParameter:
| Parameter | Description | Required |
|---|---|---|
-portable | Mengaktifkan format backup portable. | Yes |
-host | Titik akhir VPC dari instans TSDB for InfluxDB®, dengan port 8088. Temukan informasi ini di halaman Instance Details dalam Konsol TSDB. | Yes |
-db | Nama database yang akan di-backup. Temukan nama database di Konsol TSDB pada bagian Instance Database Management > Database Management. | Yes |
-rp | Nama kebijakan retensi yang akan di-backup. Di Konsol TSDB, buka Instance Management > Database Management, lalu klik Storage Policy Management di kolom Actions untuk database target. | Yes |
-shard | ID shard yang akan di-backup. Jalankan show shards untuk menampilkan daftar ID shard. | Yes |
<backup-destination-path> | Jalur lokal tempat file backup disimpan (misalnya, /root/tmp/influx_backup). | Yes |
Pulihkan data
Untuk referensi lengkap, lihat Restore data to an existing database dalam dokumentasi InfluxDB.
Pada instans ECS, pulihkan backup ke database temporary.
# Syntax influxd restore -portable \ -db <backed-up-database-name> \ -rp <backed-up-retention-policy-name> \ -shard <backed-up-shard-id> \ -newdb <temporary-database-name> \ <backup-source-path> # Example influxd restore -portable \ -db example_db \ -rp example_rp \ -shard 123 \ -newdb example_tmp_db \ /root/tmp/influx_backupParameter Description -dbNama database dalam backup. -rpNama kebijakan retensi dalam backup. -shardID shard dalam backup. -newdbNama database temporary tempat data dipulihkan. <backup-source-path>Jalur ke folder yang berisi file backup. Gunakan InfluxQL untuk menyalin data dari database temporary ke database tujuan.
SELECT * INTO "example_db"."example_rp".:MEASUREMENT FROM "example_tmp_db".autogen./.*/ GROUP BY *Hapus database temporary.
DROP DATABASE "example_tmp_db"
Ulangi langkah 1–3 untuk setiap shard hingga seluruh data berhasil dimigrasikan.
Migrasi ke database lain (termasuk LindormTSDB)
Jalur ini mengekspor data dari TSDB for InfluxDB® ke file CSV, lalu mengimpornya ke database tujuan.
Tambahkan kondisi filter tag dan waktu pada semua kueri. Kueri tanpa filter dapat menghasilkan set hasil yang besar dan menyebabkan instans menjadi tidak stabil.
Ekspor data ke CSV
Gunakan Influx CLI (V1.x) untuk melakukan kueri dan ekspor data.
# Ekspor dengan kolom measurement (diperlukan untuk target InfluxDB)
influx -ssl \
-host ts-xxx.influxdata.tsdb.aliyuncs.com \
-port 8086 \
-username "xxx" \
-password "xxx" \
-format "csv" \
-precision ms \
-database example_db \
-execute "select * from sensor" \
> /root/tmp/ouput.csvUntuk menghapus kolom measurement (diperlukan untuk LindormTSDB), salurkan output melalui sed:
influx -ssl \
-host ts-xxx.influxdata.tsdb.aliyuncs.com \
-port 8086 \
-username "xxx" \
-password "xxx" \
-format "csv" \
-precision ms \
-database example_db \
-execute "select * from sensor" | \
sed -r 's/^[^,]+,//' \
> /root/tmp/ouput.csvKolom pertama dalam file CSV yang diekspor adalah kolom name, yang merepresentasikan measurement. Perintah sed menghapus kolom ini sebelum menulis ke file.
Impor data ke LindormTSDB
Ekspor data dari TSDB for InfluxDB® menggunakan perintah di atas (dengan
seduntuk menghapus kolom measurement). Atur presisi kemsataurfc3339.Di LindormTSDB, buat database dan tabel tujuan dengan semua bidang yang telah didefinisikan sebelumnya.
Impor file CSV menggunakan Lindorm CLI.
# Syntax lindorm-cli -url jdbc:lindorm:tsdb:url=http://<lindorm-endpoint>:8242 \ -format=csv \ -input <csv-file-path> \ -database <database-name> \ -table <table-name> # Example lindorm-cli -url jdbc:lindorm:tsdb:url=http://ld-xxx-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242 \ -format=csv \ -input /root/tmp/ouput.csv \ -database example_db \ -table example_table
Impor data ke InfluxDB
Semua langkah dalam jalur ini menggunakan alur kerja konversi CSV ke line protocol yang didukung oleh Influx CLI V2.x.
Unduh alat yang diperlukan:
Influx CLI V1.x (termasuk dalam paket penyebaran InfluxDB): influxdata/influxdb v1.8.10
Influx CLI V2.x (paket terpisah): Download and install the influx CLI
Ekspor data menggunakan Influx CLI V1.x. Jangan tentukan flag presisi, dan pertahankan kolom measurement.
influx -ssl \ -host ts-xxx.influxdata.tsdb.aliyuncs.com \ -port 8086 \ -username "xxx" \ -password "xxx" \ -format "csv" \ -database example_db \ -execute "select * from sensor" \ > /root/tmp/ouput.csvGunakan Influx CLI V2.x untuk mengonversi file CSV menjadi file line protocol. Lihat Write CSV data to InfluxDB untuk detail format anotasi.
# Syntax influx write dryrun \ --format csv \ --header "<column-name>|<data-type>|<default-value>,..." \ --skipHeader=1 \ -f <csv-file-path> \ > <line-protocol-output-path> # Example influx write dryrun \ --format csv \ --header "name|measurement,time|dateTime,device_id|tag,humidity|long|0,region|tag,temperature|double|0.0" \ --skipHeader=1 \ -f /root/tmp/ouput.csv \ > /root/tmp/ouput.lineFormat
--headeradalahcolumn_name|data_type|default_value. Untuk tipe kolom waktu, lihat Specify the time type.Tulis file line protocol ke instans InfluxDB V1.x self-hosted Anda.