Esegui query utilizzando l'API o la UI di Prometheus

Dopo aver disegnato Google Cloud Managed Service per Prometheus, puoi eseguire query sui dati inviati al servizio gestito e visualizzare i risultati in grafici e dashboard.

Questo documento descrive gli ambiti delle metriche, che determinano i dati su cui puoi eseguire query, e i seguenti modi basati su Prometheus per recuperare e utilizzare i dati raccolti:

  • L'API HTTP Prometheus
  • Interfaccia utente di Prometheus

Tutte le interfacce di query per Managed Service per Prometheus sono configurate per recuperare i dati da Monarch utilizzando l'API Cloud Monitoring. Se esegui query su Monarch anziché sui dati dei server Prometheus locali, ottieni un monitoraggio globale su larga scala.

Prima di iniziare

Se non hai ancora eseguito il deployment del servizio gestito, configura la raccolta gestita o la raccolta con deployment automatico. Puoi saltare questo passaggio se ti interessa solo eseguire query sulle metriche di Cloud Monitoring utilizzando PromQL.

Configura il tuo ambiente

Per evitare di inserire ripetutamente l'ID progetto o il nome del cluster, esegui la seguente configurazione:

  • Configura gli strumenti a riga di comando come segue:

    • Configura gcloud CLI in modo che faccia riferimento all'ID del tuo progetto Google Cloud:

      gcloud config set project PROJECT_ID
      
    • Configura l'interfaccia a riga di comando kubectl in modo da utilizzare il cluster:

      kubectl config set-cluster CLUSTER_NAME
      

    Per ulteriori informazioni su questi strumenti, consulta quanto segue:

Configura uno spazio dei nomi

Crea lo spazio dei nomi Kubernetes NAMESPACE_NAME per le risorse che crei nell'ambito dell'applicazione di esempio:

kubectl create ns NAMESPACE_NAME

Verifica le credenziali dell'account di servizio

Puoi saltare questa sezione se nel tuo cluster Kubernetes è attivata la federazione delle identità per i carichi di lavoro per GKE.

Quando viene eseguito su GKE, Managed Service per Prometheus recupera automaticamente le credenziali dall'ambiente in base all'account di servizio predefinito di Compute Engine. L'account di servizio predefinito ha le autorizzazioni necessarie, monitoring.metricWriter e monitoring.viewer, per impostazione predefinita. Se non utilizzi la federazione delle identità di lavoro per GKE e hai precedentemente rimosso uno di questi ruoli dall'account di servizio del nodo predefinito, dovrai aggiungere di nuovo le autorizzazioni mancanti prima di continuare.

Se non esegui l'operazione su GKE, consulta Fornire le credenziali in modo esplicito.

Configura un account di servizio per Workload Identity Federation for GKE

Puoi saltare questa sezione se nel tuo cluster Kubernetes non è attivata la federazione delle identità per i carichi di lavoro per GKE.

Managed Service per Prometheus acquisisce i dati delle metriche utilizzando l'API Cloud Monitoring. Se il tuo cluster utilizza la federazione delle identità per i carichi di lavoro per GKE, devi concedere all'account di servizio Kubernetes l'autorizzazione all'API Monitoring. Questa sezione descrive quanto segue:

Crea e associa l'account di servizio

Questo passaggio viene visualizzato in diversi punti della documentazione di Managed Service per Prometheus. Se hai già eseguito questo passaggio nell'ambito di un'attività precedente, non devi ripeterlo. Vai a Autorizzare l'account di servizio.

La seguente sequenza di comandi crea l'account di servizio gmp-test-sa e lo associa all'account di servizio Kubernetes predefinito nello spazio dei nomi 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

Se utilizzi uno spazio dei nomi o un account di servizio GKE diverso, aggiusta i comandi di conseguenza.

Autorizza l'account di servizio

I gruppi di autorizzazioni correlate vengono raccolti in ruoli e li concedi a un entità, in questo esempio l'account di servizio Google Cloud. Per ulteriori informazioni sui ruoli di monitoraggio, consulta Controllo dell'accesso.

Il seguente comando concede all'account di servizio Google Cloud gmp-test-sa i ruoli dell'API Monitoring di cui ha bisogno per leggere i dati delle metriche.

Se hai già concesso all'account di servizio Google Cloud un ruolo specifico nell'ambito di un'attività precedente, non devi ripetere l'operazione.

Per autorizzare il tuo account di servizio a leggere da un ambito metrico di più progetti, segui queste istruzioni e poi consulta Modificare il progetto sottoposto a query.

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

Eseguire il debug della configurazione di Workload Identity Federation for GKE

Se hai difficoltà a far funzionare Workload Identity Federation per GKE, consulta la documentazione per la verifica della configurazione di Workload Identity Federation per GKE e la guida alla risoluzione dei problemi di Workload Identity Federation per GKE.

Poiché gli errori ortografici e i copia e incolla parziali sono le fonti di errori più comuni durante la configurazione della federazione delle identità per i carichi di lavoro per GKE, ti consigliamo vivamente di utilizzare le variabili modificabili e le icone di copia e incolla cliccabili incorporate negli esempi di codice in queste istruzioni.

Workload Identity Federation for GKE negli ambienti di produzione

L'esempio descritto in questo documento lega l'account di servizio Google Cloud all'account di servizio Kubernetes predefinito e concede all'account di servizio Google Cloud tutte le autorizzazioni necessarie per utilizzare l'API Monitoring.

In un ambiente di produzione, ti consigliamo di utilizzare un approccio più granulare, con un account di servizio per ogni componente, ciascuno con autorizzazioni minime. Per ulteriori informazioni sulla configurazione degli account di servizio per la gestione delle identità dei carichi di lavoro, consulta Utilizzare la federazione delle identità per i carichi di lavoro per GKE.

Ambiti di query e metriche

I dati su cui puoi eseguire query sono determinati dall'ambito delle metriche del costrutto Cloud Monitoring, indipendentemente dal metodo utilizzato per eseguire query sui dati. Ad esempio, se utilizzi Grafana per eseguire query sui dati di Managed Service per Prometheus, ogni ambito delle metriche deve essere configurato come origine dati separata.

Un ambito delle metriche di monitoraggio è un costrutto di sola lettura che consente di eseguire query sui dati delle metriche appartenenti a più progetti Google Cloud. Ogni ambito delle metriche è ospitato da un progetto Google Cloud designato, chiamato progetto di definizione.

Per impostazione predefinita, un progetto è il progetto di definizione dell'ambito per il proprio ambito delle metriche, che contiene le metriche e la configurazione per quel progetto. Un progetto di definizione dell'ambito può avere più di un progetto monitorato nel suo ambito delle metriche e le metriche e le configurazioni di tutti i progetti monitorati nell'ambito delle metriche sono visibili al progetto di definizione dell'ambito. Un progetto monitorato può anche appartenere a più ambiti di metriche.

Quando esegui query sulle metriche in un progetto di definizione dell'ambito e questo progetto ospita un ambito delle metriche multi-project, puoi recuperare i dati da più progetti. Se l'ambito delle metriche contiene tutti i progetti, le query e le regole vengono valutate a livello globale.

Per ulteriori informazioni sull'ambito dei progetti e sull'ambito delle metriche, consulta Ambiti delle metriche. Per informazioni sulla configurazione dell'ambito delle metriche per più progetti, consulta Visualizzare le metriche per più progetti.

Dati di Managed Service per Prometheus in Cloud Monitoring

Il modo più semplice per verificare che i dati di Prometheus vengano esportati è utilizzare la pagina Metrics Explorer di Cloud Monitoring nella console Google Cloud, che supporta PromQL. Per le istruzioni, consulta Eseguire query utilizzando PromQL in Cloud Monitoring.

Interfaccia utente frontend Prometheus autonoma

Puoi utilizzare l'interfaccia utente frontend di Prometheus autonoma per accedere ai dati importati e visualizzarli. Questa UI esegue query PromQL su tutti i dati del progetto Google Cloud, come stabilito dall'ambito delle metriche associato al progetto.

L'interfaccia utente frontend funge anche da proxy di autenticazione per accedere ai dati importati. Questa funzionalità può essere utilizzata per gli strumenti client che non supportano OAuth2 per gli account di servizio, tra cui Grafana o l'autoscaling orizzontale dei pod utilizzando la libreria prometheus-adapter.

Ti consigliamo vivamente di configurare Grafana per visualizzare i dati di Managed Service per Prometheus utilizzando il sincronizzatore delle origini dati. Le istruzioni per la configurazione di Grafana utilizzando l'interfaccia utente frontend Prometheus autonoma sono incluse qui come riferimento per gli utenti che hanno già configurato Grafana utilizzando questo metodo.

Esegui il deployment dell'interfaccia utente del frontend

Per eseguire il deployment dell'interfaccia utente frontend di Prometheus autonoma per Managed Service per Prometheus, esegui i seguenti comandi:

  1. Esegui il deployment del servizio frontend e configuralo per eseguire query sul progetto di ambito dell'ambito delle metriche che preferisci:

    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. Inoltra la porta del servizio frontend alla tua macchina locale. L'esempio seguente inoltra il servizio alla porta 9090:

    kubectl -n NAMESPACE_NAME port-forward svc/frontend 9090
    

    Questo comando non restituisce alcun valore e, durante l'esecuzione, registra gli accessi all'URL.

Se vuoi continuare a utilizzare un deployment di Grafana installato da kube-prometheus, implementa l'interfaccia utente frontend di Prometheus autonoma nel monitoringnome spazio.

Puoi accedere all'interfaccia utente frontend di Prometheus autonoma nel browser all'URL http://localhost:9090. Se utilizzi Cloud Shell per questo passaggio, puoi accedere utilizzando il pulsante Anteprima web.

Lo screenshot seguente mostra una tabella nell'interfaccia utente del frontend Prometheus autonomo che mostra la metrica up:

Visualizzazione di una metrica nell'interfaccia di Prometheus.

Puoi anche configurare l'autenticazione e l'autorizzazione appropriate sul servizio frontend utilizzando, ad esempio, Identity-Aware Proxy. Per ulteriori informazioni sull'esposizione dei servizi, consulta Esporre le applicazioni che utilizzano i servizi.

Modificare il progetto sottoposto a query per ottenere il monitoraggio multiprogetto

Il deployment frontend utilizza il progetto Google Cloud configurato come progetto di ambito. Se questo progetto è il progetto di definizione dell'ambito di un ambito delle metriche multi-project, può leggere le metriche di tutti i progetti nell'ambito delle metriche.

Puoi specificare un progetto con un ambito delle metriche multi-progetto utilizzando il --query.project-id flag.

In genere, utilizzi un progetto dedicato come progetto di definizione dell'ambito e questo progetto non è lo stesso in cui viene eseguito il deployment di frontend. Per consentire al deployment di leggere un progetto di destinazione diverso, devi svolgere quanto segue:

  • Indica al deployment frontend quale progetto è quello di destinazione.
  • Concedi all'account di servizio l'autorizzazione a leggere il progetto di destinazione. Se utilizzi l'account di servizio default Compute Engine, puoi eseguire una delle seguenti operazioni:

Per concedere le autorizzazioni necessarie per accedere a un altro progetto Google Cloud, segui questi passaggi:

  1. Concedi all'account di servizio l'autorizzazione di lettura dal progetto di destinazione su cui vuoi eseguire una query:

    gcloud projects add-iam-policy-binding SCOPING_PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    
  2. Apri il deployment frontend creato in precedenza per la modifica:

    kubectl -n NAMESPACE_NAME edit deploy frontend
    
  3. Specifica il progetto di destinazione utilizzando il 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
    ...
    

    Salva il file e chiudi l'editor. Dopo l'applicazione della modifica, i pod frontend vengono riavviati ed eseguono una query sul nuovo progetto di ambito.

Autentica l'interfaccia utente frontend

Il deployment di frontend supporta l'autenticazione di accesso di base per l'accesso autenticato nelle versioni 0.5.0 e successive. Per attivare l'autenticazione, aggiungi le variabili di ambiente AUTH_USERNAME e AUTH_PASSWORD al 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
...

Fornisci le credenziali in modo esplicito

Puoi saltare questa sezione se esegui il container frontend in un cluster Google Kubernetes Engine. Se riscontri problemi di autenticazione su GKE, consulta Verificare le credenziali dell'account di servizio.

Quando viene eseguito su GKE, il frontend recupera automaticamente le credenziali dall'ambiente in base all'account di servizio del nodo o alla configurazione di Workload Identity Federation for GKE. Nei cluster Kubernetes non GKE, le credenziali devono essere fornite esplicitamente al frontend utilizzando i flag o la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS.

  1. Imposta il contesto sul progetto di destinazione:

    gcloud config set project PROJECT_ID
    
  2. Crea un account di servizio:

    gcloud iam service-accounts create gmp-test-sa
    

    Questo passaggio crea l'account di servizio che potresti aver già creato nelle istruzioni di Workload Identity Federation per GKE.

  3. Concedi le autorizzazioni richieste all'account di servizio:

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

  4. Crea e scarica una chiave per l'account di servizio:

    gcloud iam service-accounts keys create gmp-test-sa-key.json \
      --iam-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com
    
  5. Aggiungi il file della chiave come secret al cluster non GKE:

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

  6. Apri la risorsa di deployment della parte anteriore per la modifica:

    kubectl -n NAMESPACE_NAME edit deploy frontend
    
    1. Aggiungi il testo in grassetto alla risorsa:

      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. Salva il file e chiudi l'editor. Una volta applicata la modifica, i pod vengono ricreati e iniziano l'autenticazione al backend metrico con l'account di servizio specificato.

    In alternativa, anziché utilizzare i flag impostati in questo esempio, puoi impostare il percorso del file della chiave utilizzando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS.

    Utilizzo di Grafana tramite il proxy frontend

    Managed Service per Prometheus utilizza l'origine dati Prometheus integrata per Grafana, il che significa che puoi continuare a utilizzare qualsiasi dashboard Grafana personale o creata dalla community senza alcuna modifica. Puoi anche importare le dashboard Grafana in Cloud Monitoring.

    Autenticazione nelle API Google Cloud

    Tutte le API Google Cloud richiedono l'autenticazione tramite OAuth2. Tuttavia, Grafana non supporta l'autenticazione OAuth2 per gli account di servizio utilizzati con le origini dati Prometheus. Per utilizzare Grafana con Managed Service per Prometheus, puoi utilizzare l'interfaccia utente frontend di Prometheus autonoma come proxy di autenticazione.

    Per eseguire query sui dati su larga scala, devi indirizzare Grafana al proxy dell'interfaccia utente frontend autonoma. Se non segui questi passaggi, Grafana eseguirà query solo sui dati nel server Prometheus locale.

    Se non hai ancora eseguito il deployment del servizio UI di Prometheus frontend come proxy, eseguilo ora eseguendo il seguente comando:

    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 -
    

    Per i cluster Kubernetes non GKE, come i cluster Anthos, consulta anche Fornire le credenziali in modo esplicito per concedere al servizio frontend le autorizzazioni necessarie per eseguire query sulle metriche.

    Consulta modificare il progetto sottoposto a query per istruzioni su come configurare l'ambito delle metriche utilizzato dal servizio frontend per eseguire query su più progetti.

    Se hai un deployment di Grafana preesistente, ad esempio uno installato dalla libreriakube-prometheus o uno installato utilizzando un grafico Helm, puoi continuare a utilizzarlo con Managed Service per Prometheus. In questo caso, consulta Configurare un'origine dati per conoscere i passaggi successivi. In caso contrario, devi prima eseguire il deployment di Grafana.

    Esegui il deployment di Grafana

    Se non hai un deployment di Grafana in esecuzione nel tuo cluster, puoi creare un deployment di test temporaneo per eseguire esperimenti.

    Per creare un deployment temporaneo di Grafana, applica il manifest grafana.yaml di Managed Service per Prometheus al tuo cluster e inoltra la porta del servizio grafana alla tua macchina locale. L'esempio seguente inoltra il servizio alla porta 3000.

    1. Applica il manifest grafana.yaml:

      kubectl -n NAMESPACE_NAME apply -f  https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/beb779d32f4dd531a3faad9f2916617b8d9baefd/examples/grafana.yaml
      
    2. Inoltra la porta del servizio grafana alla tua macchina locale. Questo esempio inoltra il servizio alla porta 3000:

      kubectl -n NAMESPACE_NAME port-forward svc/grafana 3000
      

      Questo comando non restituisce alcun valore e, durante l'esecuzione, registra gli accessi all'URL.

      Puoi accedere a Grafana nel browser all'URL http://localhost:3000 con il nome utente:password admin:admin.

    Configurare un'origine dati

    Per eseguire query su Managed Service per Prometheus in Grafana utilizzando l'UI di Prometheus come proxy di autenticazione, devi aggiungere una nuova origine dati a Grafana. Per aggiungere un'origine dati per il servizio gestito:

    1. Vai al tuo deployment di Grafana, ad esempio visitando l'URL http://localhost:3000 per raggiungere la pagina di benvenuto di Grafana.

    2. Seleziona Configurazione dal menu principale di Grafana, quindi Origini dati.

      Aggiunta di un'origine dati in Grafana.

    3. Seleziona Aggiungi origine dati e Prometheus come database delle serie temporali.

      Aggiunta di un'origine dati Prometheus.

    4. Nel campo URL del riquadro HTTP, inserisci l'URL del servizio frontend Managed Service per Prometheus. Se hai configurato l'interfaccia utente frontend di Prometheus in modo che venga eseguita sulla porta 9090, l'URL del servizio per questo campo è http://frontend.NAMESPACE_NAME.svc:9090.

      Nel campo Timeout del riquadro HTTP, imposta il valore su 120.

      Se hai configurato il proxy dell'interfaccia utente frontend con l'autenticazione di base, attiva l'opzione Autenticazione di base nel riquadro Autenticazione e compila i campi nome utente e password.

      Nel campo Timeout query, imposta il valore su 2m.

      Nel campo Metodo HTTP, seleziona GET.

      Nel campo Tipo di Prometheus, seleziona Prometheus.

      Nel campo Versione Prometheus, seleziona 2.40.x o versioni successive.

      Se hai più origini dati Prometheus, potresti assegnare a questa un nome come "Servizio Prometheus gestito". Puoi lasciare invariati i valori predefiniti degli altri campi.

      Configurazione di un'origine dati Managed Service per Prometheus.

    5. Fai clic su Salva ed esegui il test e cerca il messaggio "L'origine dati è funzionante".

      Test dell'origine dati di Managed Service per Prometheus.

    Utilizzare la nuova origine dati

    Ora puoi creare dashboard Grafana utilizzando la nuova origine dati. Puoi anche riorientare le dashboard esistenti alla nuova origine dati. Lo screenshot seguente mostra un grafico Grafana che mostra la metrica up:

    Grafico di Grafana per la metrica Up di Managed Service per Prometheus.

    Collegamento di Managed Service per Prometheus a Thanos

    Puoi federare Managed Service per Prometheus a uno stack Thanos di cui è stato eseguito il deployment autonomo utilizzando thanos-promql-connector open source. Google Cloud non fornisce assistenza per questa integrazione.

    API HTTP Prometheus

    Managed Service per Prometheus supporta l'API HTTP Prometheus a monte nell'URL con prefisso https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/. Per informazioni sugli endpoint supportati, consulta Compatibilità dell'API.

    A questa API può accedere qualsiasi strumento in grado di interagire con un server Prometheus standard. Si tratta solo di un endpoint API; non viene visualizzata un'interfaccia utente. In qualità di API Google Cloud, l'API utilizza l'autenticazione OAuth2 e, nell'ambito dell'API Cloud Monitoring, il valore di PROJECT_ID è il progetto di ambito di un ambito delle metriche, in modo da poter recuperare i dati da qualsiasi progetto nell'ambito delle metriche. Per ulteriori informazioni sull'ambito, consulta Ambiti delle metriche.

    Per utilizzare questo endpoint, fornisci un'espressione PromQL. Ad esempio, la seguente query istantanea recupera tutte le serie temporali con il nome della metrica 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)"
    

    Se la richiesta va a buon fine, la query restituisce un risultato come il seguente, che è stato formattato per la leggibilità:

    {
      "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"]
        }]
      }
    }
    

    Per informazioni su come eseguire query sulle metriche di sistema di Google Cloud utilizzando PromQL, consulta PromQL per le metriche di Cloud Monitoring.

    Compatibilità con le API

    I seguenti endpoint dell'API HTTP Prometheus sono supportati da Managed Service per Prometheus nell'URL con prefisso https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/.

    Per la documentazione completa, consulta la documentazione di riferimento dell'API Cloud Monitoring. Gli endpoint HTTP di Prometheus non sono disponibili nelle librerie client specifiche per i vari linguaggi di Cloud Monitoring.

    Per informazioni sulla compatibilità di PromQL, consulta il supporto di PromQL.

    • I seguenti endpoint sono completamente supportati:

      • /api/v1/query
      • /api/v1/query_range
      • /api/v1/metadata
      • /api/v1/labels
      • /api/v1/query_exemplars
    • L'endpoint /api/v1/label/<label_name>/values funziona solo se l'etichetta __name__ viene fornita utilizzandola come valore <label_name> o tramite una corrispondenza esatta utilizzando un selettore di serie. Ad esempio, le seguenti chiamate sono completamente supportate:

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

      Questa limitazione fa sì che le query sulle variabili label_values($label) in Grafana non vadano a buon fine. In alternativa, puoi utilizzare label_values($metric, $label). Questo tipo di query è consigliato perché evita di recuperare i valori per le etichette delle metriche che non sono pertinenti alla dashboard specificata.

    • L'endpoint /api/v1/series è supportato per le richieste GET, ma non per le richieste POST. Quando utilizzi lo strumento di sincronizzazione delle origini dati o il proxy frontend, questa limitazione viene gestita per te. Puoi anche configurare le origini dati Prometheus in Grafana in modo da emettere solo richieste GET. Il parametro match[] non supporta la corrispondenza con espressioni regolari sull'etichetta __name__.