Managed Service for Prometheus menyediakan antarmuka pembacaan jarak jauh standar yang memungkinkan Prometheus open-source membaca data pemantauan secara remote. Topik ini menjelaskan cara mengonfigurasi Prometheus open-source untuk membaca data dari Managed Service for Prometheus menggunakan URL pembacaan jarak jauh.
Mode Remote Read Prometheus memerlukan penarikan data time-series mentah ke mesin komputasi lokal, sehingga menimbulkan beberapa keterbatasan:
Biaya operasional tinggi: Pemeliharaan mesin Prometheus lokal meningkatkan biaya perangkat.
Latensi jaringan: Transfer data besar melintasi beberapa perangkat meningkatkan latensi.
Batasan layanan: Ambang batas Remote Read mudah terlampaui pada skala besar.
Sebagai alternatif, gunakan protokol kueri HTTP API dari Managed Service for Prometheus, yang:
Meningkatkan performa hingga puluhan kali lipat dibandingkan komputasi lokal.
Mendukung kueri langsung melalui permintaan HTTP.
Memungkinkan konektivitas Grafana asli.
Keterbatasan
Antarmuka pembacaan jarak jauh tidak mendukung HTTP/2.
Prasyarat
Instans Managed Service for Prometheus telah dibuat.
Langkah 1: (Opsional) Berikan izin baca dan tulis pada Cloud Monitor kepada pengguna RAM
Jika instans Prometheus Anda dibuat menggunakan Akun Alibaba Cloud dan Anda ingin menggunakan ID AccessKey dan Rahasia AccessKey dari Manajemen Akses Sumber Daya (RAM) untuk melakukan operasi pembacaan dan penulisan jarak jauh, Anda harus memberikan izin baca dan tulis pada Cloud Monitor kepada pengguna RAM.
Masuk ke Konsol RAM sebagai administrator RAM atau dengan Akun Alibaba Cloud. Di panel navigasi kiri, pilih .
Di halaman Permission, klik Grant Permission. Di panel yang muncul, atur parameter yang tercantum dalam tabel berikut.
Parameter
Deskripsi
Resource Scope
Atur parameter ini sesuai dengan kebutuhan bisnis Anda.
Principal
Pengguna RAM.
Policy
Anda dapat melampirkan salah satu kebijakan berikut kepada pengguna RAM berdasarkan kebutuhan bisnis Anda:
AliyunCloudMonitorFullAccess: memberikan izin penuh pada Cloud Monitor. Setelah Anda melampirkan kebijakan ini kepada pengguna RAM, pengguna RAM memiliki izin penuh pada instans yang dikelola di Cloud Monitor. Misalnya, pengguna RAM dapat melihat, mengubah, dan menghapus instans.AliyunCloudMonitorReadOnlyAccess: memberikan izin baca pada Cloud Monitor. Setelah Anda melampirkan kebijakan ini kepada pengguna RAM, pengguna RAM memiliki izin untuk melihat instans yang dikelola di Cloud Monitor. Pengguna RAM tidak memiliki izin untuk mengubah instans, menghapus instans, atau melakukan operasi lainnya.
Klik Grant permissions dan klik Close.
Langkah 2: Dapatkan URL pembacaan jarak jauh
Masuk ke Konsol Cloud Monitor. Di panel navigasi kiri, pilih . Halaman Instances akan muncul.
Di bilah navigasi atas, pilih wilayah tempat instans Prometheus Anda berada. Di halaman Instances, temukan instans yang ingin Anda kelola dan klik Settings di kolom Actions.
Di tab Settings, salin URL pembacaan jarak jauh untuk membaca data melalui Internet atau jaringan internal.

Langkah 3: Konfigurasi open-source Prometheus
Instal Prometheus open-source. Untuk informasi lebih lanjut, lihat UNDUH.
Buka file konfigurasi bernama Prometheus.yml, tambahkan konten berikut ke akhir file, ganti URL di bawah
remote_readdengan URL pembacaan jarak jauh yang Anda peroleh di Langkah 2, lalu simpan file tersebut.global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] remote_read: # Ganti dengan URL pembacaan jarak jauh yang Anda peroleh. - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_read" read_recent: trueMulai ulang Prometheus open-source.
Langkah 4: Lihat data pemantauan yang diambil di Prometheus open-source
Gunakan browser web untuk masuk ke Prometheus open-source.
http://localhost:9090Di halaman Prometheus, klik Graph di bilah navigasi atas.
Di tab Graph, masukkan pernyataan SQL ke dalam kotak pencarian dan klik Execute di sebelah kanan kotak pencarian.
Sebagai contoh, Anda dapat memasukkan pernyataan SQL berikut untuk menanyakan penggunaan CPU dari instans dengan alamat IP tertentu:
100 - (avg by (instance) (rate(node_cpu_seconds_total{instance="IP address:9100", mode="idle"}[5m])) * 100)