Esegui query e visualizza le metriche

Dopo aver raccolto le metriche dai carichi di lavoro di cui è stato eseguito il deployment in Google Distributed Cloud (GDC) con air gap, puoi iniziare ad analizzarle. Per analizzare le metriche, puoi visualizzarle e filtrarle in dashboard Grafana informative oppure accedervi direttamente da Cortex utilizzando lo strumento curl per scripting e automazione flessibili.

Questa pagina fornisce istruzioni dettagliate su come eseguire query e visualizzare le metriche utilizzando sia l'interfaccia utente di Grafana sia lo strumento curl per l'endpoint Cortex, in modo da ottenere informazioni sul rendimento del tuo workload.

Puoi accedere alle metriche in uno dei due modi seguenti:

  • Dashboard Grafana: esplora le tendenze e identifica le anomalie con visualizzazioni intuitive di metriche chiave come l'utilizzo della CPU, il consumo di spazio di archiviazione e l'attività di rete. Grafana fornisce un'interfaccia intuitiva per filtrare e analizzare i dati dei carichi di lavoro nelle dashboard.
  • Endpoint Cortex: per casi d'uso più avanzati, esegui query direttamente sull'istanza Cortex del tuo progetto utilizzando lo strumento curl su una riga di comando. Cortex archivia le metriche Prometheus del tuo progetto e fornisce un endpoint HTTP per l'accesso programmatico. Questo accesso ti consente di esportare dati, automatizzare attività e creare integrazioni personalizzate.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per eseguire query e visualizzare le metriche nelle dashboard Grafana, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei ruoli predefiniti Visualizzatore Grafana dell'organizzazione o Visualizzatore Grafana del progetto. A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere ruoli Grafana in un'organizzazione o un progetto.

In alternativa, per ottenere le autorizzazioni necessarie per eseguire query sulle metriche dall'endpoint Cortex, chiedi all'amministratore IAM del progetto di concederti il ruolo Visualizzatore Prometheus di Project Cortex nello spazio dei nomi del progetto.

Per saperne di più su questi ruoli, consulta Preparare le autorizzazioni IAM.

Ottenere e filtrare le metriche

Seleziona uno dei seguenti metodi per creare query, visualizzare le tendenze e filtrare le metriche dai workload del progetto:

Dashboard Grafana

Questa sezione descrive come accedere alle metriche utilizzando i dashboard Grafana.

Identificare l'endpoint Grafana

Il seguente URL è l'endpoint dell'istanza Grafana del tuo progetto:

  https://GDC_URL/PROJECT_NAMESPACE/grafana

Sostituisci quanto segue:

  • GDC_URL: l'URL della tua organizzazione in GDC.
  • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.

    Ad esempio, l'endpoint Grafana per il progetto platform-obs nell'organizzazione org-1 è https://org-1/platform-obs/grafana.

Visualizzare le metriche nell'interfaccia utente di Grafana

Recupera le metriche nell'interfaccia utente di Grafana:

  1. Nella console GDC, seleziona il progetto.
  2. Nel menu di navigazione, seleziona Operazioni > Monitoring.
  3. Fai clic su Visualizza tutto in Grafana.

    Si apre una nuova pagina con l'endpoint Grafana e viene visualizzata l'interfaccia utente.

  4. Nell'interfaccia utente, fai clic su Esplora Esplora dal menu di navigazione per aprire la pagina Esplora.

  5. Dal menu della barra Esplora, seleziona un'origine dati per recuperare le metriche in base al tipo di universo:

    • Universi a zona singola: seleziona prometheus per visualizzare le metriche della zona singola del tuo universo.

    • Universi multizona: Grafana può connettersi a zone diverse e mostrare i dati tra le zone. Seleziona Metriche ZONE_NAME per visualizzare le metriche di qualsiasi zona del tuo universo, indipendentemente dalla zona in cui hai eseguito l'accesso.

      Inoltre, per visualizzare i dati tra zone diverse in un'unica dashboard e aggiungere più zone alla query, seleziona Mista come origine dati.

  6. Inserisci una query per cercare le metriche utilizzando le espressioni PromQL (Prometheus Query Language). Puoi eseguire questo passaggio in uno dei seguenti modi:

    • Seleziona una metrica e un'etichetta per la query dai menu Metrica e Filtri etichetta. Fai clic su Aggiungi Aggiungi per aggiungere altre etichette alla query. Quindi, fai clic su Esegui query.
    • Inserisci la query direttamente nel campo di testo Metriche e premi Maiusc+Invio per eseguirla.

    La pagina mostra le metriche corrispondenti alla tua query.

    L'opzione Prometheus è selezionata nella pagina Esplora per ottenere le metriche.

    Figura 1. Opzione di menu per eseguire query sulle metriche dall'interfaccia utente di Grafana.

    Nella figura 1, l'opzione prometheus mostra l'interfaccia che consente di creare query da Grafana per recuperare le metriche.

    Per esempi di valori delle etichette che puoi utilizzare per eseguire query sulle metriche, vedi Query ed etichette di esempio.

Endpoint Cortex

Questa sezione descrive come accedere alle metriche utilizzando Cortex.

Identificare l'endpoint Cortex

Il seguente URL è l'endpoint dell'istanza Cortex del tuo progetto:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/

Sostituisci quanto segue:

  • GDC_URL: l'URL della tua organizzazione in GDC.
  • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.

    Ad esempio, l'endpoint Cortex per il progetto platform-obs nell'organizzazione org-1 è https://org-1/platform-obs/cortex/prometheus/.

Autenticare la richiesta curl

  1. Scarica e installa gcloud CLI.
  2. Imposta la proprietà gdcloud core/organization_console_url:

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Accedi con il provider di identità configurato:

    gdcloud auth login
    
  4. Utilizza il tuo nome utente e la tua password per autenticarti e accedere.

    Se l'accesso va a buon fine, puoi utilizzare l'intestazione di autorizzazione nella richiesta cURL tramite il comando gdcloud auth print-identity-token. Per ulteriori informazioni, vedi gdcloud auth.

Chiama l'endpoint Cortex

Completa i seguenti passaggi per raggiungere l'endpoint Cortex utilizzando lo strumento curl:

  1. Autenticare la richiesta curl.
  2. Utilizza curl per chiamare l'endpoint Cortex ed estendi l'URL utilizzando l'API HTTP standard di Prometheus (https://prometheus.io/docs/prometheus/latest/querying/api/) per eseguire query sulle metriche.

    Di seguito è riportato un esempio di richiesta curl:

    curl https://GDC_URL/PROJECT_NAME/cortex/prometheus/api/v1/query?query=my_metric{cluster="my-cluster"}&time=2015-07-01T20:10:51.781Z \
    -H "Authorization: Bearer $(gdcloud auth print-identity-token \
    --audiences=https://GDC_URL)"
    

    Ottieni l'output seguente al comando. La risposta API è in formato JSON.

Query ed etichette di esempio

Puoi eseguire query sulle metriche utilizzando il nome della metrica e le coppie chiave-valore per le etichette. Una query PromQL ha la seguente sintassi:

metric_name{label_one="value", label_two="value"}

Le etichette ti consentono di distinguere le caratteristiche di una metrica. In questo modo, gli autori dei contenitori fanno in modo che i loro workload generino metriche e aggiungano tag per filtrare queste metriche.

Ad esempio, puoi avere una metrica api_http_requests_total per conteggiare il numero di richieste HTTP ricevute. Poi, puoi aggiungere un'etichetta request_method a questa metrica, che accetta un valore POST, GET o PUT. Di conseguenza, devi creare tre stream di metriche per ogni tipo di richiesta che potresti ricevere. In questo caso, per trovare il numero di richieste HTTP GET, esegui la seguente query:

api_http_requests_total{request_method="GET"}

Per saperne di più su metriche ed etichette, consulta la pagina https://prometheus.io/docs/practices/naming/.

Di seguito sono riportate alcune delle etichette predefinite aggiunte dalla risorsa personalizzata MonitoringTarget. Puoi utilizzare queste etichette predefinite per eseguire query sulle metriche:

  • _gdch_service: il nome breve del servizio.
  • cluster: il nome del cluster.
  • container_name: il nome del container all'interno di un pod.
  • namespace_name: lo spazio dei nomi del progetto.
  • pod_name: il prefisso del nome del pod.

La seguente tabella descrive le etichette che Prometheus aggiunge automaticamente:

Etichette predefinite
Etichetta metrica Descrizione
job Il nome interno del job di scraping utilizzato per raccogliere la metrica. I job creati dalla risorsa personalizzata MonitoringTarget hanno un nome con il seguente pattern:

obs-system/OBS_SHADOW_PROJECT_NAME/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J

I e J sono numeri univoci determinati internamente per evitare conflitti di nomi.
instance Il $IP:$PORT del servizio ritirato. Se una risorsa del carico di lavoro ha più repliche, utilizza questo campo per distinguerle.

I seguenti esempi di codice mostrano l'utilizzo di coppie chiave-valore per le etichette per eseguire query su metriche diverse:

  • Visualizza tutti i flussi di metriche delle operazioni elaborate nel progetto:

    processed_ops_total
    
  • Visualizza le operazioni elaborate raccolte in un cluster Kubernetes:

    processed_ops_total{cluster="CLUSTER_NAME"}
    
  • Visualizza l'utilizzo della CPU raccolto in un cluster Kubernetes:

    cpu_usage{cluster="CLUSTER_NAME"}
    

Utilizza lo strumento di rietichettatura delle metriche per aggiungere etichette non esposte inizialmente dai container sottoposti a scraping e rinominare le metriche prodotte. Devi configurare la risorsa personalizzata MonitoringTarget per aggiungere etichette alle metriche che raccoglie. Specifica queste etichette nel campo metricsRelabelings della risorsa personalizzata. Per maggiori informazioni, consulta la pagina Metriche delle etichette.