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 buat kuerinya, 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 mengkueri Monarch, bukan mengkueri data dari server Prometheus lokal, Anda mendapatkan pemantauan global dalam skala besar.

Sebelum memulai

Jika Anda belum men-deploy layanan terkelola, siapkan pengumpulan terkelola atau pengumpulan 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:

  • Konfigurasikan alat command line sebagai berikut:

    • Konfigurasikan gcloud CLI untuk merujuk ke ID project Google Cloud Anda:

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

      kubectl config set-cluster CLUSTER_NAME
      

    Untuk informasi selengkapnya tentang alat ini, lihat referensi 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

Anda dapat melewati bagian ini jika cluster Kubernetes Anda telah mengaktifkan Workload Identity Federation for GKE.

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.

Jika Anda tidak menjalankannya di GKE, lihat Memberikan kredensial secara eksplisit.

Mengonfigurasi akun layanan untuk Workload Identity Federation for GKE

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

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

Membuat dan mengikat 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. Langsung ke Memberikan otorisasi ke 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 ke 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 telah memberikan peran tertentu kepada akun layanan Google Cloud 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 membuat Workload Identity Federation for GKE berfungsi, 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 error paling umum saat mengonfigurasi Workload Identity Federation untuk GKE, sebaiknya gunakan 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 memberi akun layanan Google Cloud semua izin yang diperlukan untuk 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 informasi selengkapnya tentang cara mengonfigurasi akun layanan untuk pengelolaan identitas beban kerja, lihat Menggunakan Workload Identity Federation untuk GKE.

Cakupan kueri dan metrik

Data yang dapat Anda buat kuerinya ditentukan oleh cakupan metrik konstruk Cloud Monitoring, 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 cakupan dapat memiliki lebih dari satu project yang dipantau dalam cakupan metriknya, dan metrik serta konfigurasi dari semua project yang dipantau dalam cakupan metrik dapat dilihat oleh project cakupan. Project yang dipantau juga dapat termasuk dalam lebih dari satu cakupan metrik.

Saat membuat kueri metrik dalam project cakupan, dan jika project cakupan 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 informasi selengkapnya tentang cakupan project dan cakupan metrik, lihat Cakupan metrik. Untuk informasi tentang cara mengonfigurasi cakupan metrik multi-project, lihat Melihat metrik untuk beberapa project.

Data Managed Service for Prometheus di Cloud Monitoring

Cara termudah untuk memverifikasi bahwa data Prometheus Anda diekspor adalah dengan menggunakan halaman Cloud Monitoring Metrics Explorer 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 ditransfer. UI ini menjalankan kueri PromQL terhadap semua data di project Google Cloud Anda, seperti yang ditentukan oleh cakupan metrik yang terkait dengan project Anda.

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

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 pada project cakupan cakupan metrik pilihan Anda:

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/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 berjalan, 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 menggunakan Cloud Shell untuk langkah ini, Anda dapat mendapatkan akses 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 menggunakan, misalnya, Identity Aware Proxy. Untuk informasi selengkapnya tentang cara 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, 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:

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

Untuk memberikan izin yang diperlukan guna mengakses project Google Cloud yang berbeda, lakukan hal berikut:

  1. Beri izin akun layanan untuk membaca dari project target yang ingin Anda jadikan 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 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 penampung 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 akun layanan node atau penyiapan Workload Identity Federation for GKE. 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 akan membuat akun layanan yang mungkin sudah 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 cetak 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, daripada menggunakan tanda yang ditetapkan dalam contoh ini, Anda dapat menetapkan jalur file kunci menggunakan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

    Menggunakan Grafana melalui Proxy Frontend

    Layanan Terkelola untuk 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

    Semua Google Cloud 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 mengeksekusi kueri terhadap data di server Prometheus lokal.

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

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.13.0/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 memberi layanan frontend izin yang diperlukan untuk membuat kueri metrik.

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

    Jika Anda memiliki deployment Grafana yang sudah ada, seperti yang diinstal oleh library kube-prometheus atau yang diinstal menggunakan diagram helm, Anda dapat terus menggunakannya dengan Managed Service for Prometheus. Jika ya, lihat Mengonfigurasi sumber data untuk langkah berikutnya. 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, 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 berjalan, perintah ini melaporkan akses ke URL.

      Anda dapat mengakses Grafana di browser pada URL http://localhost:3000 dengan nama pengguna:sandi 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 membuka URL http://localhost:3000 untuk membuka halaman sambutan Grafana.

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

      Menambahkan sumber data di Grafana.

    3. Pilih Add data source, lalu pilih Prometheus sebagai database deret waktu.

      Menambahkan sumber data Prometheus.

    4. Di kolom URL pada panel HTTP, masukkan URL layanan frontend Managed Service for Prometheus. Jika Anda mengonfigurasi UI frontend Prometheus untuk 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 memiliki beberapa sumber data Prometheus, Anda dapat memberinya nama seperti "Layanan Prometheus Terkelola". 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 status aktif Managed Service for Prometheus.

    Menghubungkan Managed Service for Prometheus ke Thanos

    Anda dapat melakukan federasi Managed Service for Prometheus ke stack Thanos yang di-deploy sendiri menggunakan thanos-promql-connector open source. Google Cloud tidak menyediakan 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 informasi tentang endpoint yang didukung, lihat Kompatibilitas API.

    API ini dapat diakses oleh alat apa pun yang dapat berinteraksi dengan server Prometheus standar. Ini adalah endpoint API saja; tidak menayangkan UI. Sebagai Google Cloud API, API ini menggunakan autentikasi OAuth2, dan sebagai bagian dari Cloud Monitoring API, nilai PROJECT_ID adalah project cakupan cakupan metrik, sehingga Anda dapat mengambil data dari project apa pun dalam cakupan metrik. Untuk 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 informasi tentang membuat kueri metrik sistem Google Cloud 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 selengkapnya, lihat dokumentasi referensi Cloud Monitoring API. Endpoint HTTP Prometheus tidak tersedia di library klien khusus bahasa Cloud Monitoring.

    Untuk informasi tentang kompatibilitas PromQL, lihat Dukungan PromQL.

    • Endpoint berikut didukung sepenuhnya:

      • /api/v1/query
      • /api/v1/query_range
      • /api/v1/metadata
      • /api/v1/labels
      • /api/v1/query_exemplars
    • Endpoint /api/v1/label/<label_name>/values hanya berfungsi jika label __name__ disediakan dengan menggunakannya sebagai nilai <label_name> atau dengan mencocokkannya secara tepat menggunakan pemilih seri. 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 menghindari pengambilan nilai untuk label pada metrik yang tidak relevan dengan dasbor tertentu.

    • Endpoint /api/v1/series didukung untuk permintaan GET, tetapi tidak untuk permintaan POST. Saat 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__.