Managed Service for Prometheus menyediakan titik akhir Remote Read standar. Anda dapat menambahkan titik akhir ini ke konfigurasi Prometheus yang dikelola sendiri untuk melakukan kueri metrik dari instans Anda di cloud. Topik ini menjelaskan cara mengonfigurasi server Prometheus yang dikelola sendiri agar dapat membaca metrik dari instans Managed Service for Prometheus.
Mode Remote Read Prometheus membaca volume besar data deret waktu mentah ke mesin komputasi Prometheus lokal untuk diproses dan memiliki banyak batasan penggunaan. Oleh karena itu, kami menyarankan Anda langsung menggunakan protokol kueri HTTP API yang disediakan oleh Managed Service for Prometheus.
Managed Service for Prometheus menyediakan API kueri Prometheus lengkap. API ini memproses kueri di sisi server dan hanya mengembalikan hasil akhir, sehingga memberikan performa berkali-kali lebih cepat dibandingkan menggunakan Remote Read. API ini memungkinkan Anda mengirim kueri langsung melalui HTTP dan menghubungkan alat seperti Grafana tanpa memerlukan mesin Prometheus lokal. Untuk detail konfigurasi, lihat Hubungkan Grafana atau aplikasi yang dikelola sendiri ke data Prometheus menggunakan titik akhir HTTP API.
Batasan pendekatan Remote Read meliputi:
-
Biaya infrastruktur tinggi untuk mempertahankan mesin komputasi Prometheus lokal.
-
Latensi end-to-end tinggi karena setiap kueri memerlukan transfer volume besar data mentah melalui jaringan.
-
Batas layanan yang ketat dan mudah terlampaui saat melakukan kueri pada dataset besar.
Batasan
Titik akhir Remote Read tidak mendukung HTTP/2.
Prasyarat
Anda telah membuat instans Managed Service for Prometheus. Untuk informasi selengkapnya, lihat Buat instans.
(Opsional) Langkah 1: Berikan izin baca dan tulis CMS kepada pengguna RAM
Jika instans Prometheus Alibaba Cloud Anda dibuat oleh Akun Alibaba Cloud dan Anda perlu menggunakan ID AccessKey dan AccessKey Secret pengguna RAM untuk operasi remote read dan write, Anda harus terlebih dahulu memberikan izin baca dan tulis CMS kepada pengguna RAM tersebut.
-
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud atau sebagai administrator RAM. Di panel navigasi sebelah kiri, pilih .
-
Di halaman Authorize, klik Create Authorization. Di halaman Create Authorization, konfigurasikan parameter sebagai berikut.
Parameter
Deskripsi
Resource Range
Pilih cakupan resource sesuai kebutuhan.
Principal
Tentukan principal. Principal adalah pengguna RAM yang akan diberikan izin.
Policy
Tambahkan izin berikut kepada pengguna RAM sesuai kebutuhan:
-
AliyunCloudMonitorFullAccess: Izin penuh untuk CMS. Pengguna RAM dengan izin ini memiliki hak penuh untuk melihat, mengedit, dan menghapus instans semua sub-produk. -
AliyunCloudMonitorReadOnlyAccess: Izin hanya-baca untuk CMS. Pengguna RAM dengan izin ini hanya dapat melihat informasi instans semua sub-produk. Pengguna tidak dapat memodifikasi atau menghapus instans.
-
-
Klik Confirm, lalu klik Delete.
Langkah 2: Dapatkan titik akhir Remote Read
-
Masuk ke Konsol CloudMonitor. Di panel navigasi sebelah kiri, pilih Prometheus Monitoring untuk membuka halaman Instance List.
-
Di bilah menu atas, pilih wilayah instans. Di kolom Actions untuk kluster target, klik Modify.
-
Di tab Modify, salin titik akhir Remote Read publik atau internal sesuai kebutuhan.
Format titik akhir publik adalah
http://{region}.arms.aliyuncs.com:9090/api/v1/prometheus/xxx. Format titik akhir internal adalahhttp://{region}-intranet.arms.aliyuncs.com:9090/api/v1/prometheus/xxx. Bagian xxx merupakan kredensial otentikasi yang dihasilkan sistem.
Langkah 3: Konfigurasi Prometheus yang dikelola sendiri
-
Instal Prometheus. Untuk informasi selengkapnya, lihat halaman unduh Prometheus.
-
Edit file konfigurasi Prometheus.yml. Tambahkan konten berikut ke akhir file. Ganti URL
remote_readdengan titik akhir dari 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 ini dengan titik akhir Remote Read Anda. - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_read" read_recent: true -
Mulai ulang layanan Prometheus yang dikelola sendiri.
Langkah 4: Lihat data Prometheus Alibaba Cloud di Prometheus yang dikelola sendiri
-
Masuk ke Prometheus yang dikelola sendiri melalui browser.
http://localhost:9090 -
Di halaman Prometheus, klik Graph di bilah menu bagian atas halaman.
-
Di tab Graph, masukkan ekspresi kueri di kotak pencarian, lalu klik Execute di sebelah kanan kotak pencarian.
Sebagai contoh, kueri utilisasi CPU untuk alamat IP tertentu.
100 - (avg by (instance) (rate(node_cpu_seconds_total{instance="your_IP_address:9100", mode="idle"}[5m])) * 100)
FAQ
Kueri tidak mengembalikan data dan tidak melaporkan error setelah Remote Read dikonfigurasi
Jika kueri tidak mengembalikan data setelah konfigurasi, periksa apakah konfigurasi Prometheus lokal Anda berisi external_labels. Pengaturan ini dapat mencegah Remote Read mengambil data yang diharapkan. Jalankan perintah berikut untuk melihat konfigurasi external_labels dalam file konfigurasi Prometheus dan pastikan label cloud dan cluster telah diatur dengan benar.
[xxx prometheus]# head prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 15s
external_labels:
cloud: xxx
cluster: xxx