Topik ini menjelaskan cara memigrasikan data historis dari instans open-source Prometheus yang dikelola sendiri ke Managed Service for Prometheus.
Prasyarat
-
Sumber data: Instans open-source Prometheus yang Anda kelola sendiri harus menggunakan TSDB, yaitu mesin penyimpanan bawaan.
-
Instans Managed Service for Prometheus: Pastikan instans tujuan Managed Service for Prometheus sedang berjalan.
-
Konektivitas jaringan: Server Prometheus open-source yang Anda kelola sendiri harus dapat mengakses titik akhir Remote Write dari instans Managed Service for Prometheus Anda.
-
Ketergantungan tool: Anda harus menginstal promtool yang disediakan oleh Alibaba Cloud.
Langkah-langkah migrasi
Langkah 1: Dapatkan instans Managed Service for Prometheus
-
Masuk ke Konsol Manajemen Alibaba Cloud.
Masuk ke Konsol Cloud Monitor atau Konsol Managed Service for Prometheus, lalu pilih instans Prometheus yang sudah ada atau buat instans baru.
Saat membuat instans, pilih periode retensi yang lebih panjang daripada periode retensi data historis Prometheus open-source yang Anda kelola sendiri.
PentingEvaluasi volume data lokal Anda dan sesuaikan jumlah shard Log Service MetricStore untuk instans Prometheus Anda.
-
Volume data > 1 GB: Tingkatkan menjadi 4 shard.
-
Volume data > 10 GB: Tingkatkan menjadi 16 shard.
-
Volume data > 100 GB: Tingkatkan menjadi 64 shard.
-
Volume data < 1 TB: Tingkatkan menjadi 256 shard.
Jika Anda memiliki volume data yang besar, ajukan tiket untuk mendapatkan bantuan.
-
-
Dapatkan titik akhir write dari instans tersebut.
-
Klik nama instans tujuan untuk membuka halaman Settings, lalu salin URL Remote Write publik. Jika layanan yang Anda kelola sendiri berjalan di Alibaba Cloud, Anda juga dapat memperoleh URL internal.
-
Untuk otentikasi, tetapkan role AliyunPrometheusMetricWriteAccess ke RAM user dan hasilkan Pasangan Kunci Akses (AK/SK) sebagai kredensial. Atau, pada halaman pengaturan instans, aktifkan akses write tanpa password untuk
0.0.0.0. Di bagian Access Address di bagian bawah halaman, salin URL Remote Write untuk jaringan publik atau internal dari kolom Network.
-
Langkah 2: Lakukan migrasi dengan promtool migrate
promtool migrate adalah tool resmi yang disediakan oleh Managed Service for Prometheus untuk memigrasikan data TSDB lokal ke layanan tersebut.
-
Persiapkan migrasi.
-
Cadangkan data: Backup direktori
data/(jalur penyimpanan TSDB) Prometheus yang Anda kelola sendiri sebelum migrasi. -
Instal promtool.
curl -fsSL "https://o11y-addon-hangzhou-public.oss-cn-hangzhou.aliyuncs.com/share/promtool/install.sh" | bash -
Lihat informasi bantuan untuk perintah promtool.
# Lihat semua perintah tool yang didukung. promtool --help # Lihat parameter migrasi data. promtool migrate --help
-
-
Jalankan perintah migrasi.
promtool migrate \ --db_dir=/path/to/local/prometheus/data \ # Direktori data TSDB Prometheus open-source yang Anda kelola sendiri. --output=rw # Tulis data menggunakan Remote Write. --rw_url=<Remote_Write_URL> \ # Contoh: https://xxx.region.aliyuncs.com/api/v1/write --rw_username=<AccessKey_ID> \ # ID AccessKey untuk instans Managed Service for Prometheus Anda. --rw_password=<AccessKey_Secret> \ # Secret AccessKey untuk instans Managed Service for Prometheus Anda. --min_time=START_TIMESTAMP \ # Opsional: Waktu mulai migrasi (stempel waktu UNIX dalam milidetik). --max_time=END_TIMESTAMP \ # Opsional: Waktu akhir migrasi (stempel waktu UNIX dalam milidetik).Parameter
Deskripsi
Contoh
--db_dirJalur ke direktori data TSDB Prometheus open-source yang Anda kelola sendiri. Parameter ini wajib diisi.
/opt/prometheus/data--rw_urlTitik akhir Remote Write dari instans Managed Service for Prometheus Anda. Parameter ini wajib diisi.
https://xxx.region.aliyuncs.com/api/v1/write--outputMetode output data.
Nilai yang valid:
rwataustdout--rw_usernameID AccessKey dari instans Managed Service for Prometheus Anda. Parameter ini wajib diisi jika akses write tanpa password tidak diaktifkan.
LTAI5tXXXXXXX--rw_passwordSecret AccessKey dari instans Managed Service for Prometheus Anda. Parameter ini wajib diisi jika akses write tanpa password tidak diaktifkan.
Co4XXXXXXXXX--min_timeWaktu mulai migrasi data (stempel waktu UNIX dalam milidetik). Nilai default adalah 0, yang berarti migrasi dimulai dari data paling awal.
1609433200000--max_timeWaktu akhir migrasi data (stempel waktu UNIX dalam milidetik). Nilai default adalah waktu saat migrasi dimulai.
1640972400000--matchMenyaring metrik yang akan dimigrasikan. Ekspresi reguler didukung.
'__name__=~"http_*"'--rw_batch_sizeJumlah sampel yang dikirim dalam setiap batch. Anda dapat menyesuaikan parameter ini untuk mengoptimalkan kinerja.
1000 -
Verifikasi hasil migrasi.
-
Periksa instans Managed Service for Prometheus.
-
Masuk ke Konsol Cloud Monitor atau Konsol Managed Service for Prometheus. Pada halaman Instance List, klik nama instans tujuan.
-
Di panel navigasi sebelah kiri, klik Metric Management. Pada tab Metrics Explorer, jalankan kueri PromQL.
-
Pastikan rentang waktu data historis sesuai dengan data Prometheus open-source yang Anda kelola sendiri.
-
-
Verifikasi integritas data.
Pilih metrik penting, seperti
updannode_cpu_seconds_total, untuk memverifikasi bahwa volume data konsisten sebelum dan sesudah migrasi.
-
Catatan penggunaan
-
Penyaringan data
Jika Anda perlu memigrasikan data untuk rentang waktu tertentu atau metrik tertentu, gunakan parameter
--min_time,--max_time, dan--matchuntuk mengontrol migrasi secara tepat dan menghindari transfer data berlebihan. -
Optimasi kinerja
-
Sesuaikan
--rw_batch_size. Nilai yang lebih besar dapat meningkatkan kecepatan migrasi, tetapi Anda harus menyesuaikan nilainya berdasarkan lebar pita jaringan dan beban instans Alibaba Cloud. Rentang yang direkomendasikan adalah 500 hingga 2.000. -
Migrasi secara bertahap: Jika Anda memiliki volume data yang besar, lakukan migrasi secara bertahap berdasarkan periode waktu, misalnya mingguan atau bulanan.
-
-
Keamanan
Hindari mengekspos
--rw_passwordsecara langsung di command line. Sebagai gantinya, gunakan variabel lingkungan atau file konfigurasi untuk meneruskan informasi sensitif. -
Jaringan dan stabilitas
Pastikan jaringan stabil selama migrasi. Jika migrasi gagal, Anda dapat melanjutkannya dari titik terakhir gangguan dengan menggunakan parameter
--min_time.
FAQ
Q1: Apa yang harus saya lakukan jika terjadi kegagalan otentikasi selama migrasi?
-
Periksa apakah
--rw_usernamedan--rw_passwordsesuai dengan Access Key dari instans Alibaba Cloud Anda. -
Pastikan URL Remote Write benar dan titik akhir Remote Write telah diaktifkan untuk instans Managed Service for Prometheus Anda.
Q2: Apa yang harus saya lakukan jika migrasi terlalu lambat?
-
Tingkatkan nilai
--rw_batch_size, misalnya--rw_batch_size=1000. -
Pastikan tersedia lebar pita jaringan yang cukup antara server Prometheus open-source yang Anda kelola sendiri dan instans Managed Service for Prometheus.
Q3: Apa yang harus saya lakukan jika data tidak ditampilkan setelah migrasi?
-
Tunggu beberapa menit agar instans Managed Service for Prometheus memproses dan mengindeks data yang dimigrasikan.
-
Periksa apakah periode retensi instans Prometheus mencukupi.
Tool konversi stempel waktu
Anda dapat menggunakan perintah berikut untuk mengonversi tanggal ke stempel waktu UNIX dalam milidetik.
date -d "2020-01-01 00:00:00" +%s%3N
# Contoh output: 1577836800000 (sesuai dengan 2020-01-01 00:00:00 UTC)