Membuat kueri menggunakan API atau UI Prometheus

Setelah men-deploy Google Cloud Managed Service for Prometheus, Anda dapat membuat kueri data yang dikirim ke layanan terkelola dan menampilkan hasilnya dalam diagram dan dasbor.

Dokumen ini menjelaskan cakupan metrik, yang menentukan data yang dapat Anda kueri, dan cara berbasis Prometheus berikut untuk mengambil dan menggunakan data yang telah Anda kumpulkan:

  • Prometheus HTTP API
  • UI Prometheus

Semua antarmuka kueri untuk Managed Service for Prometheus dikonfigurasi untuk mengambil data dari Monarch menggunakan Cloud Monitoring API. Dengan mengirim kueri ke Monarch, bukan mengirim kueri data dari server Prometheus lokal, Anda akan mendapatkan pemantauan global dalam skala besar.

Sebelum memulai

Jika Anda belum men-deploy layanan terkelola, siapkan koleksi terkelola atau koleksi yang di-deploy sendiri. Anda dapat melewati langkah ini jika hanya tertarik untuk membuat kueri metrik Cloud Monitoring menggunakan PromQL.

Mengonfigurasi lingkungan Anda

Agar tidak perlu memasukkan project ID atau nama cluster berulang kali, lakukan konfigurasi berikut:

  • Konfigurasi alat command line sebagai berikut:

    • Konfigurasi gcloud CLI untuk merujuk ke ID projectGoogle Cloud Anda:

      gcloud config set project PROJECT_ID
      
    • Konfigurasi CLI kubectl untuk menggunakan cluster Anda:

      kubectl config set-cluster CLUSTER_NAME
      

    Untuk mengetahui informasi selengkapnya tentang alat ini, lihat artikel berikut:

Menyiapkan namespace

Buat namespace Kubernetes NAMESPACE_NAME untuk resource yang Anda buat sebagai bagian dari aplikasi contoh:

kubectl create ns NAMESPACE_NAME

Memverifikasi kredensial akun layanan

Jika cluster Kubernetes Anda telah mengaktifkan Workload Identity Federation untuk GKE, Anda dapat melewati bagian ini.

Saat berjalan di GKE, Managed Service for Prometheus akan otomatis mengambil kredensial dari lingkungan berdasarkan akun layanan default Compute Engine. Akun layanan default memiliki izin yang diperlukan, monitoring.metricWriter dan monitoring.viewer, secara default. Jika Anda tidak menggunakan Workload Identity Federation untuk GKE, dan sebelumnya telah menghapus salah satu peran tersebut dari akun layanan node default, Anda harus menambahkan kembali izin yang hilang tersebut sebelum melanjutkan.

Mengonfigurasi akun layanan untuk Workload Identity Federation for GKE

Jika cluster Kubernetes Anda tidak mengaktifkan Workload Identity Federation untuk GKE, Anda dapat melewati bagian ini.

Managed Service for Prometheus merekam data metrik menggunakan Cloud Monitoring API. Jika cluster Anda menggunakan Workload Identity Federation for GKE, Anda harus memberikan izin akun layanan Kubernetes Anda ke Monitoring API. Bagian ini menjelaskan hal berikut:

Buat dan ikat akun layanan

Langkah ini muncul di beberapa tempat dalam dokumentasi Managed Service for Prometheus. Jika Anda telah melakukan langkah ini sebagai bagian dari tugas sebelumnya, Anda tidak perlu mengulanginya. Lanjutkan ke Melakukan otorisasi akun layanan.

Urutan perintah berikut membuat akun layanan gmp-test-sa dan mengikatnya ke akun layanan Kubernetes default di namespace NAMESPACE_NAME:

gcloud config set project PROJECT_ID \
&&
gcloud iam service-accounts create gmp-test-sa \
&&
gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE_NAME/default]" \
  gmp-test-sa@PROJECT_ID. \
&&
kubectl annotate serviceaccount \
  --namespace NAMESPACE_NAME \
  default \
  iam.gke.io/gcp-service-account=gmp-test-sa@PROJECT_ID.

Jika Anda menggunakan namespace atau akun layanan GKE yang berbeda, sesuaikan perintah dengan tepat.

Memberikan otorisasi akun layanan

Grup izin terkait dikumpulkan ke dalam peran, dan Anda memberikan peran tersebut kepada akun utama, dalam contoh ini, akun layanan Google Cloud. Untuk mengetahui informasi selengkapnya tentang peran Monitoring, lihat Kontrol akses.

Perintah berikut memberikan peran Monitoring API yang diperlukan akun layanan Google Cloud ,gmp-test-sa, untuk membaca data metrik.

Jika Anda telah memberikan peran tertentu kepada Google Cloud akun layanan sebagai bagian dari tugas sebelumnya, Anda tidak perlu melakukannya lagi.

Untuk memberi otorisasi akun layanan Anda agar dapat membaca dari cakupan metrik multi-project, ikuti petunjuk ini, lalu lihat Mengubah project yang dikueri.

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:gmp-test-sa@PROJECT_ID. \
  --role=roles/monitoring.viewer

Men-debug konfigurasi Workload Identity Federation for GKE

Jika Anda mengalami masalah saat mengaktifkan Workload Identity Federation for GKE, lihat dokumentasi untuk memverifikasi penyiapan Workload Identity Federation for GKE dan panduan pemecahan masalah Workload Identity Federation for GKE.

Karena kesalahan ketik dan penyalinan sebagian adalah sumber kesalahan paling umum saat mengonfigurasi Workload Identity Federation untuk GKE, kami sangat merekomendasikan penggunaan variabel yang dapat diedit dan ikon salin tempel yang dapat diklik yang disematkan dalam contoh kode dalam petunjuk ini.

Workload Identity Federation for GKE di lingkungan produksi

Contoh yang dijelaskan dalam dokumen ini mengikat akun layanan Google Cloud ke akun layanan Kubernetes default dan memberikan semua izin yang diperlukan kepada akun layanan Google Clouduntuk menggunakan Monitoring API.

Dalam lingkungan produksi, Anda mungkin ingin menggunakan pendekatan yang lebih terperinci, dengan akun layanan untuk setiap komponen, masing-masing dengan izin minimal. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi akun layanan untuk pengelolaan workload identity, lihat Menggunakan Workload Identity Federation untuk GKE.

Cakupan kueri dan metrik

Data yang dapat Anda kueri ditentukan oleh konstruksi Cloud Monitoring, yaitu cakupan metrik, terlepas dari metode yang Anda gunakan untuk membuat kueri data. Misalnya, jika Anda menggunakan Grafana untuk mengkueri data Managed Service for Prometheus, setiap cakupan metrik harus dikonfigurasi sebagai sumber data terpisah.

Cakupan metrik Monitoring adalah konstruksi hanya-waktu baca yang memungkinkan Anda membuat kueri data metrik milik beberapa project. Google Cloud Setiap cakupan metrik dihosting oleh project Google Cloud yang ditetapkan, yang disebut project cakupan.

Secara default, project adalah project pencakupan untuk cakupan metriknya sendiri, dan cakupan metrik berisi metrik dan konfigurasi untuk project tersebut. Project pencakupan dapat memiliki lebih dari satu project yang dipantau dalam cakupan metriknya, dan metrik serta konfigurasi dari semua project yang dipantau dalam cakupan metrik terlihat oleh project pencakupan. Project yang dipantau juga dapat menjadi bagian dari lebih dari satu cakupan metrik.

Saat Anda membuat kueri metrik dalam project pencakupan, dan jika project pencakupan tersebut menghosting cakupan metrik multi-project, Anda dapat mengambil data dari beberapa project. Jika cakupan metrik Anda berisi semua project, kueri dan aturan Anda akan dievaluasi secara global.

Untuk mengetahui informasi selengkapnya tentang project cakupan dan cakupan metrik, lihat Cakupan metrik. Untuk mengetahui informasi tentang cara mengonfigurasi cakupan metrik multi-project, lihat Melihat metrik untuk beberapa project.

Data Managed Service for Prometheus di Cloud Monitoring

Cara paling sederhana untuk memverifikasi bahwa data Prometheus Anda diekspor adalah dengan menggunakan halaman Metrics Explorer Cloud Monitoring di konsol Google Cloud , yang mendukung PromQL. Untuk mengetahui petunjuknya, lihat Membuat kueri menggunakan PromQL di Cloud Monitoring.

UI frontend Prometheus mandiri

Anda dapat menggunakan UI frontend Prometheus mandiri untuk mengakses dan memvisualisasikan data yang di-ingest. UI ini menjalankan kueri PromQL terhadap semua data di projectGoogle Cloud Anda, sebagaimana ditentukan oleh cakupan metrik yang terkait dengan project Anda.

UI frontend juga berfungsi sebagai proxy autentikasi untuk mengakses data yang di-ingest. Fitur ini dapat digunakan untuk alat klien yang tidak mendukung OAuth2 untuk akun layanan, termasuk Grafana atau penskalaan otomatis pod horizontal menggunakan prometheus-adapter library.

Sebaiknya konfigurasikan Grafana untuk memvisualisasikan data dari Managed Service for Prometheus menggunakan penyinkron sumber data. Petunjuk untuk mengonfigurasi Grafana menggunakan UI frontend Prometheus mandiri disertakan di sini sebagai referensi bagi pengguna yang sebelumnya telah mengonfigurasi Grafana menggunakan metode ini.

Men-deploy UI frontend

Untuk men-deploy UI frontend Prometheus mandiri untuk Managed Service for Prometheus, jalankan perintah berikut:

  1. Deploy layanan frontend dan konfigurasikan untuk membuat kueri project pencakupan cakupan metrik pilihan Anda:

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/e2cd07628f5bf3be5dc794ce8f4d4b9a206447ec/examples/frontend.yaml |
    sed 's/\$PROJECT_ID/PROJECT_ID/' |
    kubectl apply -n NAMESPACE_NAME -f -
    
  2. Teruskan port layanan frontend ke mesin lokal Anda. Contoh berikut meneruskan layanan ke port 9090:

    kubectl -n NAMESPACE_NAME port-forward svc/frontend 9090
    

    Perintah ini tidak ditampilkan, dan saat dijalankan, perintah ini melaporkan akses ke URL.

Jika Anda ingin terus menggunakan deployment Grafana yang diinstal oleh kube-prometheus, deploy UI frontend Prometheus mandiri di namespace monitoring.

Anda dapat mengakses UI frontend Prometheus mandiri di browser Anda di URL http://localhost:9090. Jika Anda menggunakan Cloud Shell untuk langkah ini, Anda dapat mendapatkan akses dengan menggunakan tombol Web Preview.

Screenshot berikut menunjukkan tabel di UI frontend Prometheus mandiri yang menampilkan metrik up:

Melihat metrik di antarmuka Prometheus.

Anda juga dapat menyiapkan autentikasi dan otorisasi yang sesuai di layanan frontend dengan menggunakan, misalnya, Identity Aware Proxy. Untuk mengetahui informasi selengkapnya tentang mengekspos layanan, lihat Mengekspos aplikasi menggunakan layanan.

Mengubah project yang dikueri untuk mendapatkan pemantauan multi-project

Deployment frontend menggunakan project Google Cloud yang dikonfigurasi sebagai project cakupan. Jika project ini adalah project cakupan dari cakupan metrik multi-project, maka project ini dapat membaca metrik dari semua project dalam cakupan metrik.

Anda dapat menentukan project dengan cakupan metrik multi-project menggunakan flag --query.project-id.

Biasanya, Anda menggunakan project khusus sebagai project cakupan, dan project ini bukan project yang sama dengan tempat deployment frontend berjalan. Agar deployment dapat membaca project target yang berbeda, Anda harus melakukan hal berikut:

  • Memberi tahu deployment frontend project mana yang menjadi project target.
  • Beri izin akun layanan untuk membaca project target. Jika Anda telah menggunakan akun layanan default Compute Engine, Anda dapat melakukan salah satu hal berikut:

Untuk memberikan izin yang diperlukan untuk mengakses project Google Cloud lain, lakukan hal berikut:

  1. Beri izin akun layanan untuk membaca dari project target yang ingin Anda kueri:

    gcloud projects add-iam-policy-binding SCOPING_PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID. \
      --role=roles/monitoring.viewer
    
  2. Buka deployment frontend yang dibuat sebelumnya untuk mengedit:

    kubectl -n NAMESPACE_NAME edit deploy frontend
    
  3. Tentukan project target menggunakan flag --query.project-id:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: NAMESPACE_NAME
      name: frontend
    spec:
      template
        containers:
        - name: frontend
          args:
          - --query.project-id=SCOPING_PROJECT_ID
    ...
    

    Simpan file dan tutup editor. Setelah perubahan diterapkan, pod frontend akan dimulai ulang dan membuat kueri project cakupan baru.

Mengautentikasi UI frontend

Deployment frontend mendukung autentikasi akses dasar untuk akses yang diautentikasi dalam versi 0.5.0 dan yang lebih baru. Untuk mengaktifkan autentikasi, tambahkan variabel lingkungan AUTH_USERNAME dan AUTH_PASSWORD ke deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: NAMESPACE_NAME
  name: frontend
spec:
  template
    containers:
    - name: frontend
      env:
      - name: AUTH_USERNAME
        value: USERNAME
      - name: AUTH_PASSWORD
        value: PASSWORD
...

Memberikan kredensial secara eksplisit

Anda dapat melewati bagian ini jika menjalankan container frontend di cluster Google Kubernetes Engine. Jika Anda mengalami masalah autentikasi di GKE, lihat Memverifikasi kredensial akun layanan.

Saat berjalan di GKE, frontend akan otomatis mengambil kredensial dari lingkungan berdasarkan penyiapan Workload Identity Federation for GKE atau akun layanan node. Di cluster Kubernetes non-GKE, kredensial harus diberikan secara eksplisit ke frontend menggunakan flag atau variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

  1. Tetapkan konteks ke project target Anda:

    gcloud config set project PROJECT_ID
    
  2. Buat akun layanan:

    gcloud iam service-accounts create gmp-test-sa
    

    Langkah ini membuat akun layanan yang mungkin telah Anda buat di petunjuk Workload Identity Federation untuk GKE.

  3. Berikan izin yang diperlukan ke akun layanan:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID. \
      --role=roles/monitoring.viewer
    

  4. Buat dan download kunci untuk akun layanan:

    gcloud iam service-accounts keys create gmp-test-sa-key.json \
      --iam-account=gmp-test-sa@PROJECT_ID.
    
  5. Tambahkan file kunci sebagai secret ke cluster non-GKE Anda:

    kubectl -n NAMESPACE_NAME create secret generic gmp-test-sa \
      --from-file=key.json=gmp-test-sa-key.json
    

  6. Buka resource Deployment frontend untuk mengedit:

    kubectl -n NAMESPACE_NAME edit deploy frontend
    
    1. Tambahkan teks yang ditampilkan dalam huruf tebal ke resource:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        namespace: NAMESPACE_NAME
        name: frontend
      spec:
        template
          containers:
          - name: frontend
            args:
            - --query.credentials-file=/gmp/key.json
      ...
            volumeMounts:
            - name: gmp-sa
              mountPath: /gmp
              readOnly: true
      ...
          volumes:
          - name: gmp-sa
            secret:
              secretName: gmp-test-sa
      ...
      

    2. Simpan file dan tutup editor. Setelah perubahan diterapkan, pod akan dibuat ulang dan mulai mengautentikasi ke backend metrik dengan akun layanan yang diberikan.

    Atau, alih-alih menggunakan tanda yang ditetapkan dalam contoh ini, Anda dapat menetapkan jalur file kunci menggunakan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

    Menggunakan Grafana melalui Proxy Frontend

    Managed Service for Prometheus menggunakan sumber data Prometheus bawaan untuk Grafana, yang berarti Anda dapat terus menggunakan dasbor Grafana pribadi atau yang dibuat komunitas tanpa perubahan apa pun. Anda juga dapat mengimpor dasbor Grafana ke Cloud Monitoring.

    Mengautentikasi ke Google Cloud API

    Google Cloud Semua API memerlukan autentikasi menggunakan OAuth2; namun, Grafana tidak mendukung autentikasi OAuth2 untuk akun layanan yang digunakan dengan sumber data Prometheus. Untuk menggunakan Grafana dengan Managed Service for Prometheus, Anda dapat menggunakan UI frontend Prometheus mandiri sebagai proxy autentikasi.

    Anda harus mengarahkan Grafana ke proxy UI frontend mandiri untuk membuat kueri data secara global. Jika Anda tidak mengikuti langkah-langkah ini, Grafana hanya akan menjalankan kueri terhadap data di server Prometheus lokal.

    Jika Anda belum men-deploy layanan Prometheus UI frontend sebagai proxy, deploy sekarang dengan menjalankan perintah berikut:

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.15.3/examples/frontend.yaml |
    sed 's/\$PROJECT_ID/PROJECT_ID/' |
    kubectl apply -n NAMESPACE_NAME -f -
    

    Untuk cluster Kubernetes non-GKE seperti cluster Anthos, lihat juga Memberikan kredensial secara eksplisit untuk memberikan izin yang diperlukan layanan frontend guna membuat kueri metrik.

    Lihat mengubah project yang dikueri untuk mengetahui petunjuk tentang mengonfigurasi cakupan metrik yang digunakan oleh layanan frontend untuk melakukan kueri di beberapa project.

    Jika Anda memiliki deployment Grafana yang sudah ada, seperti yang diinstal oleh library kube-prometheus atau yang diinstal menggunakan helm chart, Anda dapat terus menggunakannya dengan Managed Service for Prometheus. Jika ya, lihat Mengonfigurasi sumber data untuk mengetahui langkah selanjutnya. Jika tidak, Anda harus men-deploy Grafana terlebih dahulu.

    Men-deploy Grafana

    Jika tidak memiliki deployment Grafana yang berjalan di cluster, Anda dapat membuat deployment pengujian sementara untuk bereksperimen.

    Untuk membuat deployment Grafana sementara, terapkan manifes grafana.yaml Managed Service for Prometheus ke cluster Anda, dan teruskan port layanan grafana ke mesin lokal Anda. Contoh berikut meneruskan layanan ke port 3000.

    1. Terapkan manifes grafana.yaml:

      kubectl -n NAMESPACE_NAME apply -f  https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/beb779d32f4dd531a3faad9f2916617b8d9baefd/examples/grafana.yaml
      
    2. Teruskan port layanan grafana ke mesin lokal Anda. Contoh ini meneruskan layanan ke port 3000:

      kubectl -n NAMESPACE_NAME port-forward svc/grafana 3000
      

      Perintah ini tidak ditampilkan, dan saat dijalankan, perintah ini melaporkan akses ke URL.

      Anda dapat mengakses Grafana di browser Anda di URL http://localhost:3000 dengan username:password admin:admin.

    Mengonfigurasi sumber data

    Untuk membuat kueri Managed Service for Prometheus di Grafana menggunakan UI Prometheus sebagai proxy autentikasi, Anda harus menambahkan sumber data baru ke Grafana. Untuk menambahkan sumber data bagi layanan terkelola, lakukan hal berikut:

    1. Buka deployment Grafana Anda, misalnya, dengan menjelajahi URL http://localhost:3000 untuk membuka halaman selamat datang Grafana.

    2. Pilih Configuration dari menu utama Grafana, lalu pilih Data Sources.

      Menambahkan sumber data di Grafana.

    3. Pilih Tambahkan sumber data, lalu pilih Prometheus sebagai database deret waktu.

      Menambahkan sumber data Prometheus.

    4. Di kolom URL pada panel HTTP, masukkan URL layanan Managed Service for Prometheus frontend. Jika Anda mengonfigurasi UI frontend Prometheus agar berjalan di port 9090, maka URL layanan untuk kolom ini adalah http://frontend.NAMESPACE_NAME.svc:9090.

      Di kolom Timeout pada panel HTTP, tetapkan nilai ke 120.

      Jika Anda mengonfigurasi proxy UI frontend dengan Autentikasi dasar, aktifkan tombol Autentikasi dasar di panel Autentikasi dan isi nama pengguna dan sandi.

      Di kolom Waktu tunggu kueri, tetapkan nilai ke 2m.

      Di kolom HTTP Method, pilih GET.

      Di kolom Prometheus type, pilih Prometheus.

      Di kolom Prometheus version, pilih 2.40.x atau yang lebih baru.

      Jika Anda memiliki beberapa sumber data Prometheus, Anda dapat memberi nama sumber data ini, misalnya "Managed Prometheus Service". Anda dapat membiarkan kolom lain tetap pada nilai defaultnya.

      Mengonfigurasi sumber data Managed Service for Prometheus.

    5. Klik Simpan & Uji, lalu cari pesan "Sumber data berfungsi".

      Menguji sumber data Managed Service for Prometheus.

    Menggunakan sumber data baru

    Sekarang Anda dapat membuat dasbor Grafana menggunakan sumber data baru. Anda juga dapat mengalihkan dasbor yang ada ke sumber data baru. Screenshot berikut menunjukkan diagram Grafana yang menampilkan metrik up:

    Diagram Grafana untuk metrik aktif Managed Service for Prometheus.

    Menghubungkan Managed Service for Prometheus ke Thanos

    Anda dapat memfederasikan Managed Service for Prometheus ke stack Thanos yang di-deploy sendiri dengan menggunakan thanos-promql-connector open source. Google Cloudtidak memberikan dukungan untuk integrasi ini.

    Prometheus HTTP API

    Managed Service for Prometheus mendukung Prometheus HTTP API upstream di URL yang diawali dengan https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/. Untuk mengetahui informasi tentang endpoint yang didukung, lihat Kompatibilitas API.

    API ini dapat diakses oleh alat apa pun yang dapat berinteraksi dengan server Prometheus standar. Ini hanya endpoint API; tidak menyajikan UI. Sebagai Google Cloud API, API ini menggunakan autentikasi OAuth2, dan sebagai bagian dari Cloud Monitoring API, nilai PROJECT_ID adalah project cakupan dari cakupan metrik, sehingga Anda dapat mengambil data dari project mana pun dalam cakupan metrik. Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Cakupan metrik.

    Untuk menggunakan endpoint ini, berikan ekspresi PromQL. Misalnya, kueri instan berikut mengambil semua deret waktu yang memiliki nama metrik up:

    curl https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/query \
      -d "query=up" \
      -H "Authorization: Bearer $(gcloud auth print-access-token)"
    

    Jika permintaan berhasil, kueri akan menampilkan hasil seperti berikut, yang telah diformat agar mudah dibaca:

    {
      "status":"success",
      "data":{
        "resultType":"vector",
        "result":[{
          "metric": {
            "__name__":"up",
            "cluster":"gmp-test",
            "instance":"prom-example-84c6f547f5-g4ljn:web",
            "job":"prometheus",
            "location":"us-central1-a",
            "project_id":"a-gcp-project"
          },
          "value": [1634873239.971,"1"]
        }]
      }
    }
    

    Untuk mengetahui informasi tentang membuat kueri Google Cloud metrik sistem menggunakan PromQL, lihat PromQL untuk metrik Cloud Monitoring.

    Kompatibilitas API

    Endpoint Prometheus HTTP API berikut didukung oleh Managed Service for Prometheus di URL yang diawali dengan https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/.

    Untuk dokumentasi lengkap, lihat dokumentasi referensi Cloud Monitoring API. Endpoint HTTP Prometheus tidak tersedia di library klien khusus bahasa Cloud Monitoring.

    Untuk mengetahui informasi tentang kompatibilitas PromQL, lihat Dukungan PromQL.

    • Endpoint berikut didukung sepenuhnya:

    • Endpoint /api/v1/label/<label_name>/values hanya berfungsi jika label __name__ diberikan dengan menggunakannya sebagai nilai <label_name> atau dengan mencocokkannya secara persis menggunakan pemilih deret. Misalnya, panggilan berikut didukung sepenuhnya:

      • /api/v1/label/__name__/values
      • /api/v1/label/__name__/values?match[]={__name__=~".*metricname.*"}
      • /api/v1/label/labelname/values?match[]={__name__="metricname"}

      Batasan ini menyebabkan kueri variabel label_values($label) di Grafana gagal. Sebagai gantinya, Anda dapat menggunakan label_values($metric, $label). Jenis kueri ini direkomendasikan karena tidak mengambil nilai untuk label pada metrik yang tidak relevan dengan dasbor tertentu.

    • Endpoint /api/v1/series didukung untuk permintaan GET, tetapi tidak untuk permintaan POST. Jika Anda menggunakan penyinkron sumber data atau proxy frontend, batasan ini akan dikelola untuk Anda. Anda juga dapat mengonfigurasi sumber data Prometheus di Grafana untuk hanya mengeluarkan permintaan GET. Parameter match[] tidak mendukung pencocokan ekspresi reguler pada label __name__.