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'organizzazioneorg-1
èhttps://org-1/platform-obs/grafana
.
Visualizzare le metriche nell'interfaccia utente di Grafana
Recupera le metriche nell'interfaccia utente di Grafana:
- Nella console GDC, seleziona il progetto.
- Nel menu di navigazione, seleziona Operazioni > Monitoring.
Fai clic su Visualizza tutto in Grafana.
Si apre una nuova pagina con l'endpoint Grafana e viene visualizzata l'interfaccia utente.
Nell'interfaccia utente, fai clic su Esplora Esplora dal menu di navigazione per aprire la pagina Esplora.
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.
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.
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'organizzazioneorg-1
èhttps://org-1/platform-obs/cortex/prometheus/
.
Autenticare la richiesta curl
- Scarica e installa gcloud CLI.
Imposta la proprietà gdcloud
core/organization_console_url
:gdcloud config set core/organization_console_url https://GDC_URL
Accedi con il provider di identità configurato:
gdcloud auth login
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
:
- Autenticare la richiesta
curl
. 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:
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.