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 Google Cloud Managed Service for Prometheus dikonfigurasi untuk mengambil data dari Monarch menggunakan Cloud Monitoring API. Dengan membuat kueri Monarch, bukan membuat 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 berulang kali memasukkan project ID atau nama cluster Anda, 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 mengetahui 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.

Saat berjalan di GKE, Google Cloud 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 tidak menggunakan Workload Identity, dan sebelumnya telah menghapus salah satu peran tersebut dari akun layanan node default, Anda harus menambahkan kembali izin yang tidak ada tersebut sebelum melanjutkan.

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

Mengonfigurasi akun layanan untuk Workload Identity

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

Google Cloud Managed Service for Prometheus merekam data metrik menggunakan Cloud Monitoring API. Jika cluster menggunakan Workload Identity, Anda harus memberikan izin ke 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 sudah melakukan langkah ini sebagai bagian dari tugas sebelumnya, Anda tidak perlu mengulanginya. Lanjutkan ke bagian Mengizinkan 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.iam.gserviceaccount.com \
&&
kubectl annotate serviceaccount \
  --namespace NAMESPACE_NAME \
  default \
  iam.gke.io/gcp-service-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com

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

Mengizinkan akun layanan

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

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

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

Untuk mengizinkan akun layanan Anda membaca dari cakupan metrik multi-project, ikuti petunjuk berikut, lalu lihat Mengubah project yang dikueri.

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

Men-debug konfigurasi Workload Identity Anda

Jika Anda mengalami masalah dalam membuat Workload Identity berfungsi, lihat dokumentasi untuk memverifikasi penyiapan Workload Identity Anda dan panduan pemecahan masalah Workload Identity.

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

Workload Identity 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 mengetahui informasi selengkapnya tentang cara mengonfigurasi akun layanan untuk pengelolaan workload-identitas, lihat Menggunakan Workload Identity.

Kueri dan cakupan metrik

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

Cakupan metrik Monitoring adalah konstruksi hanya baca yang memungkinkan Anda membuat kueri data metrik yang termasuk dalam beberapa project Google Cloud. Setiap cakupan metrik dihosting oleh project Google Cloud khusus yang disebut project pencakupan.

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 termasuk dalam 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 berisi semua project Anda, kueri dan aturan Anda akan dievaluasi secara global.

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

Data Google Cloud Managed Service for Prometheus di Cloud Monitoring

Cara paling sederhana 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, baca 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, seperti yang ditentukan oleh cakupan metrik yang terkait dengan project Anda.

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

Sebaiknya konfigurasi Grafana untuk memvisualisasikan data dari Managed Service for Prometheus menggunakan sinkronisasi 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 bagi Managed Service for Prometheus, jalankan perintah berikut:

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

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.8.2/examples/frontend.yaml |
    sed 's/\$PROJECT_ID/PROJECT_ID/' |
    kubectl apply -n NAMESPACE_NAME -f -
    
  2. Teruskan port layanan frontend ke komputer 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 dalam namespace monitoring.

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

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

Melihat metrik di antarmuka Prometheus.

Anda juga dapat menyiapkan autentikasi dan otorisasi yang sesuai pada layanan frontend menggunakan, misalnya, Identity Aware Proxy. Untuk 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 pencakupan. Jika project ini adalah project pencakupan 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 pencakupan, dan project ini bukan project yang sama dengan tempat deployment frontend dijalankan. Agar deployment dapat membaca project target lain, Anda harus melakukan hal berikut:

  • Beri tahu deployment frontend project mana yang merupakan project target.
  • Beri akun layanan izin untuk membaca project target. Jika 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 akun layanan izin 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.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    
  2. Buka deployment frontend yang dibuat sebelumnya untuk diedit:

    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 pada 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 akun layanan node atau penyiapan Workload Identity. Dalam 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 telah Anda buat di petunjuk Workload Identity.

  3. Berikan izin yang diperlukan ke akun layanan tersebut:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --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.iam.gserviceaccount.com
    
  5. Tambahkan file kunci sebagai rahasia 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 referensi:

      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 dibuat ulang dan mulai mengautentikasi ke backend metrik dengan akun layanan yang diberikan.

    Atau, daripada menggunakan flag yang ditetapkan dalam contoh ini, Anda dapat menetapkan jalur file kunci menggunakan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS.

    Menggunakan Grafana melalui Frontend Proxy

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

    Mengautentikasi ke Google Cloud API

    Semua API Google Cloud memerlukan autentikasi menggunakan OAuth2. Namun, Grafana tidak mendukung autentikasi OAuth2 untuk sumber data Prometheus. Untuk menggunakan Grafana dengan Google Cloud 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 Prometheus UI frontend sebagai proxy, deploy sekarang dengan menjalankan perintah berikut:

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

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

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

    Kerahkan Grafana

    Jika belum memiliki deployment Grafana yang berjalan di cluster, Anda dapat membuat deployment uji efemeral untuk bereksperimen.

    Untuk membuat deployment Grafana efemeral, terapkan manifes grafana.yaml Managed Service for Prometheus ke cluster Anda, lalu teruskan layanan grafana ke komputer 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 komputer lokal Anda. Contoh berikut 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 pada URL http://localhost:3000 dengan nama pengguna:sandi admin:admin.

    Mengonfigurasi sumber data

    Untuk membuat kueri Google Cloud Managed Service for Prometheus di Grafana dengan 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 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 dijalankan di port 9090, 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 Basic auth, aktifkan tombol Basic auth di panel Auth, lalu isi nama pengguna dan sandi.

      Di kolom Waktu tunggu kueri, setel 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 memberikan nama seperti "Layanan Prometheus Terkelola". Anda dapat membiarkan kolom lain tetap pada nilai defaultnya.

      Mengonfigurasi sumber data Google Cloud Managed Service for Prometheus.

    5. Klik Save & Test, dan cari pesan "The data source is working".

      Menguji sumber data Google Cloud Managed Service for Prometheus.

    Menggunakan sumber data baru

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

    Diagram Grafana untuk metrik naik Google Cloud Managed Service for Prometheus.

    Menghubungkan Layanan Terkelola untuk Prometheus ke Thanos

    Anda dapat menggabungkan Google Cloud 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.

    API HTTP Prometheus

    Google Cloud 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 merupakan endpoint API dan tidak menayangkan UI. Sebagai Google Cloud API, API tersebut menggunakan autentikasi OAuth2, dan sebagai bagian dari Cloud Monitoring API, nilai PROJECT_ID adalah project pencakupan dari cakupan metrik, sehingga Anda dapat mengambil data dari project mana pun dalam cakupan metrik. Untuk informasi selengkapnya tentang pencakupan, 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 cara membuat kueri metrik sistem Google Cloud menggunakan PromQL, lihat metrik PromQL untuk Cloud Monitoring.

    Kompatibilitas API

    Endpoint Prometheus HTTP API berikut didukung oleh Google Cloud Managed Service for Prometheus dengan 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.

    Untuk mengetahui 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__ diberikan dengan menggunakannya sebagai nilai <label_name> atau dengan mencocokkan secara persis dengannya 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 sinkronisasi sumber data atau proxy frontend, batasan ini akan dikelola untuk Anda. Anda juga dapat mengonfigurasi sumber data Prometheus di Grafana untuk mengeluarkan permintaan GET saja.