Query utilizzando l'API o la UI Prometheus

Dopo aver eseguito il deployment di Google Cloud Managed Service per Prometheus, puoi eseguire query sui dati inviati al servizio gestito per 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. Di l'esecuzione di query su Monarch anziché sui dati provenienti da server Prometheus locali, ottieni un monitoraggio globale su larga scala.

Prima di iniziare

Se non hai già eseguito il deployment del servizio gestito, quindi configura una raccolta gestita o di cui è stato eseguito il deployment autonomo personalizzata. 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 per fare riferimento all'ID del tuo Progetto Google Cloud:

      gcloud config set project PROJECT_ID
      
    • Configura l'interfaccia a riga di comando kubectl per utilizzare il tuo cluster:

      kubectl config set-cluster CLUSTER_NAME
      

    Per ulteriori informazioni su questi strumenti, consulta le seguenti risorse:

Configura uno spazio dei nomi

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

kubectl create ns NAMESPACE_NAME

Verifica le credenziali dell'account di servizio

Puoi saltare questa sezione se il tuo cluster Kubernetes Federazione delle identità dei carichi di lavoro per GKE abilitata.

In esecuzione su GKE, Managed Service per Prometheus recupera automaticamente le credenziali dall'ambiente in base Account di servizio predefinito Compute Engine. L'account di servizio predefinito ha le autorizzazioni necessarie, monitoring.metricWriter e monitoring.viewer, predefinito. Se non utilizzi la federazione delle identità per i carichi di lavoro per GKE e in precedenza avevi rimosso uno di questi ruoli dall'account di servizio del nodo predefinito, Devi aggiungere di nuovo le autorizzazioni mancanti prima di continuare.

Se non esegui su GKE, consulta Fornisci le credenziali in modo esplicito.

Configura un account di servizio per la federazione delle identità per i carichi di lavoro per GKE

Puoi saltare questa sezione se il tuo cluster Kubernetes non dispone Federazione delle identità dei carichi di lavoro per GKE abilitata.

Managed Service per Prometheus acquisisce i dati delle metriche utilizzando l'API Cloud Monitoring. Se il cluster utilizza la federazione delle identità per i carichi di lavoro per GKE, devi concedere al tuo account di servizio Kubernetes l'autorizzazione l'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 avanti e vai alla sezione Autorizzare dell'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 si assegnano i ruoli a un'entità. In questo esempio, il cluster Google Cloud l'account di servizio. 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 dell'ambito delle metriche multiprogetto, segui queste istruzioni e controlla Cambia il progetto su cui è stata eseguita la query.

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

Esegui il debug della configurazione della federazione delle identità per i carichi di lavoro per GKE

Se hai difficoltà a far funzionare la federazione delle identità per i carichi di lavoro per GKE, consulta documentazione per la verifica della configurazione della federazione delle identità per i carichi di lavoro per GKE e la guida alla risoluzione dei problemi relativi alla federazione delle identità per i carichi di lavoro per GKE.

Poiché gli errori di battitura e i testi incollati parziali sono le fonti più comuni di errori quando configurazione della federazione delle identità per i carichi di lavoro per GKE, consigliamo vivamente l'uso del variabili e icone di copia e incolla cliccabili incorporate negli esempi di codice in questi istruzioni.

Workload Identity Federation for GKE negli ambienti di produzione

L'esempio descritto in questo documento associa il servizio Google Cloud di servizio all'account di servizio Kubernetes predefinito e fornisce a Google Cloud all'account di servizio di 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 gestione dei carichi di lavoro e delle identità, consulta Utilizzo della 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 evento l'ambito delle metriche è ospitato da un progetto Google Cloud designato, chiamato progetto di ambito.

Per impostazione predefinita, un progetto è il progetto di definizione dell'ambito per il proprio ambito delle metriche, e l'ambito delle metriche contiene le metriche e la configurazione necessarie 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. R progetto monitorato può anche appartenere a più di un ambito delle metriche.

Quando esegui una query sulle metriche in un progetto di definizione dell'ambito e se il progetto di ambito ospita un ambito delle metriche multiprogetto, puoi recuperare da più progetti. Se l'ambito delle metriche contiene tutti i tuoi progetti, le query e le regole verranno valutate a livello globale.

Per saperne di più sulla definizione dell'ambito dei progetti e dell'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 istruzioni, vedi Esecuzione di query utilizzando PromQL in Cloud Monitoring.

UI 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 nel tuo progetto Google Cloud, come determinato dall'ambito delle metriche associato al tuo progetto.

L'interfaccia utente del frontend funge anche da proxy di autenticazione per l'accesso ai dati importati e i dati di Google Cloud. 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 della UI 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 Grafana installato da kube-prometheus, quindi esegui il deployment dell'interfaccia utente frontend Prometheus autonoma nello spazio dei nomi monitoring .

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

Lo screenshot seguente mostra una tabella nel frontend autonomo di Prometheus UI 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 l'articolo sull'esposizione delle applicazioni utilizzando Google Cloud.

Modifica il progetto su cui è stata eseguita la query per ottenere il monitoraggio multiprogetto

Il deployment frontend utilizza il progetto Google Cloud configurato come progetto di definizione dell'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 eseguire seguenti:

  • Indica al deployment frontend il progetto di destinazione.
  • Concedi all'account di servizio l'autorizzazione a leggere il progetto di destinazione. Se hai utilizzato l'account di servizio default di Compute Engine, puoi effettuare 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 a leggere 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 query sul nuovo progetto di ambito.

Autentica l'interfaccia utente frontend

Il deployment frontend supporta autenticazione dell'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 hai problemi di autenticazione 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 avere già creati nel Istruzioni per la federazione delle identità per i carichi di lavoro 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 frontend per la modifica:

    kubectl -n NAMESPACE_NAME edit deploy frontend
    
    1. Aggiungi il testo visualizzato 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, vengono ricreati e avviano l'autenticazione nella metrica con l'account di servizio specificato.

    In alternativa, invece di usare i flag impostati in questo esempio, puoi impostare il percorso del file chiave utilizzando il metodo GOOGLE_APPLICATION_CREDENTIALS variabile di ambiente.

    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 di 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 la UI autonoma di frontend Prometheus come proxy di autenticazione.

    Devi indirizzare Grafana al proxy dell'interfaccia utente frontend autonomo per eseguire query sui dati a livello globale. Se non segui questi passaggi, Grafana eseguirà query solo sui dati nel server Prometheus locale.

    Se non hai già eseguito il deployment della UI di Prometheus frontend come proxy, eseguine il deployment eseguendo questo 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 Grafana preesistente, ad esempio uno installato kube-prometheus libreria o una libreria installata utilizzando un grafico Helm, tu può continuare a utilizzarlo con Managed Service per Prometheus. Se sì, Per i passaggi successivi, consulta Configurare un'origine dati. In caso contrario, devi prima eseguire il deployment di Grafana.

    Esegui il deployment di Grafana

    Se nel tuo cluster non è in esecuzione un deployment Grafana, puoi e creare un deployment di test temporaneo su cui 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. Nell'esempio seguente il servizio viene inoltrato 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. Esegui il port forwarding 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 Prometheus UI come proxy di autenticazione, devi aggiungere una nuova origine dati a Grafana. Per aggiungere un'origine dati per il servizio gestito, segui questi passaggi:

    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 Configuration (Configurazione) dal menu principale di Grafana, quindi seleziona 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 Managed Service per il servizio frontend 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 Autorizzazione di base nel riquadro Autorizzazione e compila nome utente e password.

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

      Nel campo HTTP Method (Metodo HTTP), seleziona GET.

      Nel campo Tipo di Prometheus, seleziona Prometheus.

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

      Se disponi di più origini dati Prometheus, puoi fornire questo un nome come "Managed Prometheus Service". 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 Managed Service per Prometheus.

    Utilizzare la nuova origine dati

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

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

    Connessione di Managed Service per Prometheus a Thanos

    Puoi federare Managed Service per Prometheus a un deployment autonomo Thanos si sovrappone per utilizzando il connettore open source thanos-promql-connector. 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.

    È possibile accedere a questa API da qualsiasi strumento in grado di interagire con un Server Prometheus. 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 sulla definizione dell'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 sulle query Metriche di sistema Google Cloud che utilizzano PromQL, consulta PromQL per Metriche di Cloud Monitoring.

    Compatibilità con le API

    I seguenti endpoint dell'API HTTP Prometheus sono supportato da Managed Service per Prometheus con l'URL preceduto da 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 Promethus non sono disponibili nelle librerie client specifiche per i 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, 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 sulle metriche che non sono pertinenti per la dashboard specificata.

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