Konfigurasikan recording rule untuk melakukan agregasi metrik di sisi write, lalu lihat metrik hasilnya di Grafana atau Konsol Prometheus.
Informasi latar belakang
Recording rule melakukan pre-komputasi ekspresi PromQL yang mahal di sisi write sehingga mengurangi beban saat kueri. Dalam kluster berskala besar dan skenario bisnis kompleks, pendekatan ini menyederhanakan kueri dan meningkatkan performa.
Konfigurasi recording rule sama dengan Prometheus open source. Aturan dikelompokkan ke dalam rule group, dan setiap rule group dapat berisi beberapa aturan. Nama recording rule harus mematuhi konvensi penamaan metrik Prometheus. Aturan dalam satu grup dievaluasi secara berurutan pada interval tertentu. Sistem kemudian menyimpan metrik hasilnya di database remote dengan nama aturan baru tersebut.
Mengonfigurasi aturan perekaman
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi kiri, pilih untuk membuka daftar instans Managed Service for Prometheus.
-
Di pojok kiri atas halaman, pilih wilayah target, lalu klik nama instans Prometheus yang diinginkan.
-
Di panel navigasi kiri, klik Settings. Di tab Settings, klik Edit RecordingRule.yaml.
-
Di kotak dialog yang muncul, hapus templat default, masukkan konfigurasi recording rule Anda, lalu klik Save.
CatatanGunakan hanya satu file RecordingRule.yaml per kluster. Nama rule group harus unik.
Contoh:
groups: - name: apiserver_request_total interval: 60s rules: - record: job_instance_mode:apiserver_request_total:avg_rate5m expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m])) labels: team: operations - record: job:apiserver_request_total:sum_rate10m expr: sum by (job)(rate(apiserver_request_total[10m])) labels: team: operationsParameter
Deskripsi
groups
Daftar rule group. Anda dapat mengonfigurasi beberapa rule group dalam satu file RecordingRule.yaml.
name
Nama rule group. Nama harus unik dalam satu file.
interval
(Opsional) Interval evaluasi untuk aturan dalam grup. Default: 60s.
rules
Daftar aturan dalam grup.
record
Nama deret waktu baru yang akan direkam. Nama harus mematuhi konvensi penamaan metrik Prometheus.
CatatanFormat yang direkomendasikan untuk nama recording rule adalah
level:metric:operations.-
level: Tingkat agregasi dan label output dari aturan. -
metric: Nama metrik. -
operations: Daftar operasi yang diterapkan pada metrik, dengan operasi terbaru dicantumkan pertama.
expr
Ekspresi yang digunakan oleh Alibaba Cloud Managed Service for Prometheus untuk menghitung metrik recording rule. Ekspresi harus merupakan kueri PromQL yang valid.
labels
(Opsional) Label yang ditambahkan ke metrik baru.
-
Lihat metrik recording rule
Metode 1: Lihat metrik di Grafana
-
Masuk ke sistem Grafana Anda sebagai administrator.
-
Di panel navigasi kiri, klik Explore.
-
Di halaman Explore, pilih data source yang sesuai dengan kluster Kubernetes Anda. Di bidang kueri metrik, masukkan nama metrik recording rule, misalnya
job_instance_mode:apiserver_request_total:avg_rate5m. Atur Query type ke Range, lalu klik Run Query. Kueri akan mengembalikan grafik garis yang menunjukkan tren laju permintaan apiserver.
Metode 2: Lihat metrik dari konsol Prometheus
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi kiri, pilih untuk membuka daftar instans Managed Service for Prometheus.
-
Di pojok kiri atas halaman, pilih wilayah target, lalu klik nama instans Prometheus yang diinginkan.
-
Di panel navigasi kiri, pilih Service Discovery dan klik tab Metrics. Kemudian, masukkan nama metrik recording rule di kotak pencarian untuk melihat detailnya.
Recording rule dan remote write
Recording rule di Alibaba Cloud Managed Service for Prometheus mendukung remote write, sama seperti Prometheus open source.
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi kiri, pilih untuk membuka daftar instans Managed Service for Prometheus.
-
Di pojok kiri atas halaman, pilih wilayah target, lalu klik nama instans Prometheus yang diinginkan.
-
Di panel navigasi kiri, klik Settings. Di tab Settings, klik Edit Prometheus.yaml.
-
Di kotak dialog Edit Prometheus.yaml yang muncul, konfigurasikan remote write.
remote_write: - url: "https://cn-beijing.arms.aliyuncs.com/prometheusxxx/cn-beijing/api/v3/write" remote_timeout: 60s name: xxx basic_auth: username: xxx password: xxx write_relabel_configs: - action: keep source_labels: ["instance"] regex: "xxx" - url: "https://cn-hangzhou.arms.aliyuncs.com/prometheuxxxxx/cn-hangzhou/api/v3/write" remote_timeout: 60s name: xxx basic_auth: username: xxx password: xxx write_relabel_configs: - action: replace source_labels: ["job"] regex: "(.*)" target_label: __xxx_job__ replacement: ${1}:xxxCatatanMetode konfigurasi remote write sama dengan Prometheus open source. Mendukung beberapa konfigurasi remote write dan
write_relabel_configs.Untuk melakukan remote write hanya pada metrik yang dihasilkan oleh recording rule ke penyimpanan lain, konfigurasikan bagian
write_relabel_configsseperti pada contoh berikut:remote_write: - url: "https://xxxx/api/v1/prom/write?db=dbname&u=username&p=password" // Titik akhir publik penyimpanan remote write_relabel_configs: - source_labels: [__name__] regex: job_instance_mode:apiserver_request_total:avg_rate5m action: keepCatatanKonfigurasi ini hanya melakukan remote write pada metrik recording rule tertentu (
job_instance_mode:apiserver_request_total:avg_rate5m) ke penyimpanan lain.
Operasi terkait
Remote write memerlukan URL titik akhir publik. Jika Anda perlu menambahkan alamat IP komponen recording rule ke daftar putih jaringan, gunakan alamat IP yang sesuai untuk wilayah Anda.
Tiongkok (Beijing): 101.200.XX.XX
Tiongkok (Hangzhou): 118.31.XX.XX
Tiongkok (Shanghai): 106.14.XX.XX
Tiongkok (Shenzhen): 8.129.XX.XX
Tiongkok (Zhangjiakou): 39.103.XX.XX
Tiongkok (Qingdao): 139.129.XX.XX
Tiongkok (Chengdu): 47.108.XX.XX
Tiongkok (Hong Kong): 47.242.XX.XX
Singapura: 47.241.XX.XX
Untuk mendapatkan alamat IP lengkap, Anda dapat membuat tiket atau menghubungi pakar produk dengan mencari akun on-call Prometheus di DingTalk (ID: aliprometheus).