Dopo aver raccolto le metriche dai carichi di lavoro di cui è stato eseguito il deployment nel tuo progetto GDC, puoi interrogare e visualizzare le metriche nelle dashboard dall'istanza di monitoraggio del sistema del progetto o interrogare le metriche dall'API HTTP dell'appliance air-gap GDC.
Eseguire query e visualizzare le metriche nelle dashboard
L'istanza Grafana del tuo progetto, chiamata anche istanza di monitoraggio del sistema, include dati per monitorare i componenti a livello di progetto per l'osservabilità dei dati, come l'utilizzo della CPU, il consumo di spazio di archiviazione, il monitoraggio della rete, il monitoraggio del server, i log, gli avvisi e le metriche.
Per visualizzare le metriche, utilizza le dashboard nella pagina Esplora dell'istanza di monitoraggio del sistema. Per visualizzare metriche specifiche, esegui query dalla pagina Esplora.
Prima di iniziare
Prima di eseguire query e visualizzare le metriche nelle dashboard, devi ottenere l'accesso all'istanza di monitoraggio. Per saperne di più, vedi Accedere alle dashboard.
Creare query per le metriche
Monitora e visualizza le metriche per l'osservabilità dei dati nelle tue applicazioni tramite l'istanza di monitoraggio del sistema del tuo progetto. L'interfaccia utente (UI) integrata dell'istanza contiene dashboard predefinite da componenti standard e dashboard personalizzate che crei per le tue esigenze specifiche di casi d'uso. Supponendo che il tuo ambiente sia attivo e funzionante, vedrai immediatamente alcune dashboard delle metriche nella pagina Dashboard disponibili.
Esegui query sulle metriche dall'interfaccia utente per recuperarle visivamente dal tuo progetto e ottenere una visualizzazione integrata per monitorare le tue applicazioni. Per filtrare i risultati, cerca le metriche per etichette utilizzando le espressioni del linguaggio di query.
Endpoint dell'istanza di monitoraggio del sistema
Il seguente URL è l'endpoint dell'istanza di monitoraggio del progetto platform-obs:
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
Metriche delle query
Per eseguire query sulle metriche del tuo progetto:
Per recuperare le metriche:
- Nella console GDC, seleziona un progetto.
- Nel menu di navigazione, fai clic su Operazioni > Monitoring.
- Fai clic su Visualizza tutto in Grafana.
Si apre una nuova pagina con l'URL dell'istanza di monitoraggio del tuo progetto.
- Nell'interfaccia utente dell'istanza di monitoraggio, fai clic su Esplora Esplora dal menu di navigazione per aprire la pagina Esplora.
- Dal menu a discesa nella barra Esplora, seleziona prometheus per recuperare le metriche.
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 a discesa Filtri per metrica ed 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.
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.
Query ed etichette di esempio
Puoi eseguire query sulle metriche raccolte utilizzando il nome della metrica e le etichette chiave-valore. Per questo motivo, 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 in base alle loro esigenze. 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, crei tre flussi 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"}
Di seguito sono riportate alcune delle etichette predefinite che la risorsa personalizzata MonitoringTarget
aggiunge e che puoi utilizzare per eseguire query sulle metriche:
_gdch_service
: Il nome breve del serviziocluster
: il nome del clustercontainer_name
: Il nome del container all'interno di un podnamespace_name
: lo spazio dei nomi del progettopod_name
: il prefisso del nome del pod
La tabella seguente descrive le etichette che il servizio di scraping aggiunge automaticamente:
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:PROJECT_NAME-obs-system/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J PROJECT_NAME-obs-system/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 etichette e valori per eseguire query su metriche diverse per l'osservabilità dei dati:
Visualizza tutti i flussi di metriche delle operazioni elaborate nel progetto:
processed_ops_total
Visualizza le operazioni elaborate raccolte in un cluster:
processed_ops_total{cluster="CLUSTER_NAME"}
Visualizza l'utilizzo della CPU raccolto in un cluster:
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 il MonitoringTarget
CR per aggiungere etichette alle metriche che raccoglie. Specifica queste etichette nel campo metricsRelabelings
della richiesta di modifica. Per maggiori informazioni, consulta Metriche delle etichette.
Eseguire query sulle metriche dall'API Cortex
Cortex è l'archiviazione a lungo termine per le metriche Prometheus in GDC. La piattaforma di osservabilità espone un endpoint API HTTP Cortex per l'esecuzione di query e la lettura di metriche, avvisi e altri dati delle serie temporali di Prometheus dal tuo progetto.
Esegui query sulle metriche direttamente dall'API HTTP per leggere ed esportare le metriche e altri dati delle serie temporali in strumenti esterni, configurare attività automatizzate, adattare le risposte e creare integrazioni in base al tuo caso d'uso di monitoraggio del sistema. Ad esempio, inserisci l'output in un altro comando, esporta i dettagli in formati di file di testo o configura un cron job Linux. Puoi chiamare l'API dall'interfaccia a riga di comando (CLI) o da un browser web e utilizzare le espressioni del linguaggio di query come parametri dell'endpoint per ottenere il risultato in formato JSON.
Questa sezione spiega come chiamare l'endpoint API Cortex dalla CLI utilizzando la specifica dell'API Prometheus per eseguire query sulle metriche per l'osservabilità dei dati.
Prima di iniziare
Devi ottenere l'autorizzazione per eseguire query sulle metriche dalla CLI. Per ottenere le autorizzazioni necessarie per accedere all'endpoint API Cortex, chiedi all'amministratore IAM del progetto di concederti il ruolo Visualizzatore Prometheus di Project Cortex (project-cortex-prometheus-viewer
).
Crea i seguenti binding dei ruoli utilizzando i comandi kubectl
per Cortex Prometheus per ogni persona:
Amministratore root dell'operatore dell'infrastruttura (IO) -
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding io-cortex-prometheus-viewer-binding -n infra-obs --user=fop-infrastructure-operator@example.com --role=project-cortex-prometheus-viewer
Amministratore della piattaforma (PA) - Amministratore root -
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding pa-cortex-prometheus-viewer-binding -n platform-obs --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewer
Amministratore principale operatore dell'applicazione (AO) -
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding project-cortex-prometheus-viewer-binding -n PROJECT_NAME --user=USER_NAME --role=project-cortex-prometheus-viewer
Sostituisci quanto segue:
- PROJECT_NAME: il nome del progetto.
- USER_NAME: il nome account dell'utente che richiede l'associazione del ruolo.
Una volta creato il binding del ruolo, puoi accedere all'API Prometheus con il tuo nome utente di accesso.
Endpoint API HTTP
Il seguente URL è l'endpoint API HTTP per accedere alle metriche nel progetto platform-obs
:
https://GDC_URL/PROJECT_NAME/cortex/prometheus/
Sostituisci quanto segue:
- GDC_URL: l'URL della tua organizzazione in GDC.
- PROJECT_NAME: il nome del progetto.
Chiama l'endpoint API
Segui questi passaggi per raggiungere l'endpoint dell'API Cortex dalla CLI ed eseguire query sulle metriche:
- Assicurati di soddisfare i prerequisiti.
- Apri la CLI.
Utilizza lo strumento
curl
per chiamare l'endpoint Cortex ed estendere l'URL utilizzando lo standard https://prometheus.io/docs/prometheus/latest/querying/api/ per eseguire query sulle metriche. Ad esempio:curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
Ottieni l'output nella CLI dopo il comando. Il formato della risposta API è JSON.