Topik ini menjelaskan cara memigrasikan data historis dari Prometheus open-source yang dikelola sendiri ke Managed Service for Prometheus.
Prasyarat
Sumber Data: Instans Prometheus open-source yang dikelola sendiri harus menggunakan Time Series Database (TSDB), yaitu mesin penyimpanan default.
Instans Managed Service for Prometheus: Pastikan instans Managed Service for Prometheus tujuan sedang Berjalan.
Konektivitas Jaringan: Server Prometheus yang dikelola sendiri harus dapat mengakses Titik Akhir Remote Write dari Managed Service for Prometheus.
Ketergantungan Alat: Anda harus menginstal alat promtool yang disediakan oleh Alibaba Cloud.
Langkah-langkah migrasi
Langkah 1: Buat atau peroleh instans Managed Service for Prometheus
Masuk ke Konsol Manajemen Alibaba Cloud.
Akses Konsol Cloud Monitor atau Konsol Managed Service for Prometheus. Pilih instans Prometheus yang ada atau buat yang baru.
Saat membuat instans, pilih durasi penyimpanan lebih lama daripada periode retensi data historis Prometheus yang dikelola sendiri.
PentingEvaluasi volume data lokal Anda dan skalakan keluar shard MetricStore Layanan Log Sederhana untuk instans Prometheus Anda.
Volume data > 1 GB: Skalakan hingga 4 shard.
Volume data > 10 GB: Skalakan hingga 16 shard.
Volume data > 100 GB: Skalakan hingga 64 shard.
Volume data < 1 TB: Skalakan hingga 256 shard.
Untuk volume data besar, ajukan Tiket untuk mendapatkan bantuan.
Peroleh titik akhir penulisan instans tersebut.
Klik nama instans tujuan. Ini membuka halaman Settings, di mana Anda bisa mendapatkan URL Remote Write publik. Jika layanan yang dikelola sendiri berjalan di Alibaba Cloud, Anda juga bisa mendapatkan URL internal.
Untuk otentikasi, tetapkan peran AliyunPrometheusMetricWriteAccess kepada Pengguna RAM untuk memberikan izin menulis. Kemudian, hasilkan Pasangan Kunci Akses sebagai nama pengguna dan kata sandi. Sebagai alternatif, aktifkan akses penulisan tanpa kata sandi dari
0.0.0.0di halaman pengaturan instans.
Langkah 2: Gunakan promtool migrate untuk melakukan migrasi
promtool migrate adalah alat resmi yang disediakan oleh Managed Service for Prometheus untuk memigrasikan data TSDB lokal ke Managed Service for Prometheus.
Persiapkan untuk migrasi.
Cadangkan data: Sebelum migrasi, cadangkan direktori
data/Prometheus yang dikelola sendiri. Direktori ini merupakan jalur penyimpanan TSDB.Instal promtool.
curl -fsSL "https://o11y-addon-hangzhou-public.oss-cn-hangzhou.aliyuncs.com/share/promtool/install.sh" | bashLihat informasi bantuan untuk perintah promtool.
# Lihat semua perintah alat 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 yang dikelola sendiri --output=rw # Tulis data menggunakan metode Remote Write --rw_url=<Alibaba Cloud Remote Write URL> \ # Contoh: https://xxx.region.aliyuncs.com/api/v1/write --rw_username=<Access Key ID> \ # ID AccessKey untuk instans Alibaba Cloud Anda --rw_password=<Access Key Secret> \ # Rahasia AccessKey untuk instans Alibaba Cloud Anda --min_time=START_TIMESTAMP \ # Opsional: Waktu mulai untuk migrasi (Stempel waktu UNIX dalam milidetik) --max_time=END_TIMESTAMP \ # Opsional: Waktu akhir untuk migrasi (Stempel waktu UNIX dalam milidetik)Parameter
Deskripsi
Contoh
--db_dirJalur direktori data TSDB untuk Prometheus yang dikelola sendiri. Parameter ini wajib.
/opt/prometheus/data--rw_urlAlamat Remote Write instans Managed Service for Prometheus Anda. Parameter ini wajib.
https://xxx.region.aliyuncs.com/api/v1/write--outputMetode output data.
Nilai valid:
rwdanstdout--rw_usernameID AccessKey untuk instans Alibaba Cloud Anda. Parameter ini wajib jika akses tanpa kata sandi tidak diaktifkan.
LTAI5tXXXXXXX--rw_passwordRahasia AccessKey untuk instans Alibaba Cloud Anda. Parameter ini wajib jika akses tanpa kata sandi tidak diaktifkan.
Co4XXXXXXXXX--min_timeWaktu mulai untuk migrasi data (Stempel waktu UNIX dalam milidetik). Nilai defaultnya adalah 0, yang berarti migrasi dimulai dari data paling awal.
1609433200000--max_timeWaktu akhir untuk migrasi data (Stempel waktu UNIX dalam milidetik). Nilai defaultnya 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.
1000Verifikasi hasil migrasi.
Periksa instans Managed Service for Prometheus.
Akses Konsol Cloud Monitor atau Konsol Managed Service for Prometheus. Di halaman Instances, klik nama instans tujuan.
Di panel navigasi kiri, klik Metric Management. Di tab Metric Explorer, jalankan kueri Prometheus Query Language (PromQL).
Konfirmasikan bahwa rentang waktu data historis sesuai dengan Prometheus yang dikelola sendiri.
Bandingkan integritas data.
Pilih metrik utama seperti
updannode_cpu_seconds_total, lalu bandingkan data sebelum dan sesudah migrasi untuk memverifikasi konsistensi.
Catatan
Penyaringan Data
Untuk memigrasikan data untuk periode waktu tertentu atau metrik tertentu, gunakan parameter
--min_time,--max_time, dan--matchuntuk mengontrol migrasi secara tepat dan menghindari transfer data yang berlebihan.Optimasi Kinerja
Atur ulang
--rw_batch_size: Nilai yang lebih besar dapat meningkatkan kecepatan migrasi. Sesuaikan nilai berdasarkan lebar pita jaringan dan beban pada instans Managed Service for Prometheus. Nilai yang direkomendasikan antara 500 dan 2000.Migrasikan dalam batch: Untuk volume data besar, lakukan migrasi dalam batch berdasarkan periode waktu, seperti mingguan atau bulanan.
Keamanan
Hindari mengekspos
--rw_passwordlangsung di baris perintah. Gunakan Variabel Lingkungan atau file konfigurasi untuk menyampaikan informasi sensitif.Jaringan dan Stabilitas
Pastikan koneksi jaringan stabil selama migrasi. Jika migrasi gagal, Anda dapat melanjutkan dari titik terputus dengan menentukan parameter
--min_time.
Tanya Jawab Umum
Apa yang harus saya lakukan jika otentikasi gagal selama migrasi?
Verifikasi bahwa parameter
--rw_usernamedan--rw_passwordsesuai dengan Pasangan Kunci Akses instans Managed Service for Prometheus Anda.Konfirmasikan bahwa URL Remote Write benar dan bahwa Titik Akhir Remote Write diaktifkan untuk instans Managed Service for Prometheus Anda.
Apa yang harus saya lakukan jika migrasi terlalu lambat?
Tingkatkan nilai
--rw_batch_size, misalnya--rw_batch_size=1000.Pastikan ada lebar pita jaringan yang cukup antara server Prometheus yang dikelola sendiri dan instans Managed Service for Prometheus.
Apa yang harus saya lakukan jika data tidak ditampilkan setelah migrasi?
Tunggu beberapa menit agar instans Managed Service for Prometheus menyinkronkan data.
Verifikasi bahwa periode retensi instans Prometheus cukup lama.
Alat konversi stempel waktu
Gunakan perintah berikut untuk mengonversi tanggal menjadi Stempel Waktu UNIX dalam milidetik.
date -d "2020-01-01 00:00:00" +%s%3N
# Contoh keluaran: 1577836800000 (sesuai dengan 2020-01-01 00:00:00 UTC)