Questo documento descrive come utilizzare Ops Agent e il ricevitore OpenTelemetry Protocol (OTLP) per raccogliere metriche e tracce definite dall'utente dalle applicazioni instrumentate utilizzando OpenTelemetry ed eseguite su Compute Engine.
Questo documento è organizzato nel seguente modo:
- Una panoramica che descrive i casi d'uso per il ricevitore OTLP.
- Prerequisiti per l'utilizzo del ricevitore OTLP.
- Configurazione dell'agente per l'utilizzo del ricevitore OTLP.
- Utilizzo del ricevitore per raccogliere le metriche. Questa sezione descrive come eseguire query sulle metriche OpenTelemetry in Cloud Monitoring.
- Utilizzo del ricevitore per raccogliere le tracce. Questa sezione descrive come autorizzare unaccount di serviziot a scrivere dati in Cloud Trace.
Panoramica dell'utilizzo del ricevitore OTLP
Con il ricevitore OTLP di Ops Agent, puoi:
- Strumenta la tua applicazione utilizzando uno degli SDK specifici per la lingua per OpenTelemetry. Per informazioni sulle lingue supportate, consulta OpenTelemetry Instrumentation. La combinazione di SDK OpenTelemetry e dell'Ops Agent ti consente di:
- Raccogli le metriche OTLP dalla tua applicazione e inviale a Cloud Monitoring per l'analisi.
- Raccogli gli intervalli OTLP, ovvero i dati di traccia, dalla tua applicazione e poi inviali a Cloud Trace per l'analisi.
- Raccogli tracce da applicazioni di terze parti con supporto integrato per OTLP o plug-in con questo supporto, come Nginx. Il ricevitore OTLP nell'Ops Agent può raccogliere queste tracce. Per un esempio, vedi Modulo OpenTelemetry nginx.
- Utilizza la strumentazione personalizzata di OpenTelemetry.
- Utilizza la strumentazione automatica OpenTelemetry.
Puoi utilizzare il ricevitore per raccogliere metriche, tracce o entrambe. Dopo che Ops Agent ha raccolto le metriche, puoi utilizzare le funzionalità di Cloud Monitoring, inclusi grafici, dashboard e criteri di avviso, per monitorarle. Se la tua applicazione invia anche dati di traccia, puoi utilizzare Cloud Trace per analizzarli.
Vantaggi
Prima della disponibilità del plug-in OTLP per Ops Agent, i modi principali per instrumentare le applicazioni per raccogliere metriche e tracce definite dall'utente includevano quanto segue:
- Utilizzo di librerie client che implementano l'API Monitoring o l'API Trace.
- Utilizzo delle librerie OpenCensus precedenti.
L'utilizzo di OpenTelemetry con il ricevitore OTLP offre diversi vantaggi rispetto a questi metodi, tra cui:
- OpenTelemetry sostituisce OpenCensus. Il progetto OpenCensus è in fase di archiviazione. Per ulteriori informazioni, vedi Che cos'è OpenTelemetry?
- L'importazione è controllata a livello di agente, quindi non devi eseguire nuovamente il deployment delle tue applicazioni se la configurazione dell'agente cambia.
- Le tue applicazioni non devono configurare le credenziali Google Cloud ; tutta l'autorizzazione viene gestita a livello di agente.
- Il codice dell'applicazione non contiene codice di monitoraggio o tracciamento specifico per Google Cloud. Non devi utilizzare direttamente l'API Monitoring o l'API Trace.
- La tua applicazione esegue il push dei dati nell'Ops Agent e, se si arresta in modo anomalo, i dati raccolti dall'Ops Agent non vengono persi.
Limitazioni
Il listener OTLP esposto dal ricevitore Ops Agent supporta il trasporto gRPC. HTTP, utilizzato principalmente per i client JavaScript, non è supportato. Per ulteriori informazioni sul protocollo OpenTelemetry, consulta Dettagli del protocollo.
Il ricevitore OTLP non raccoglie i log. Puoi raccogliere i log utilizzando Ops Agent e altri ricevitori e puoi includere le informazioni dei log negli span OTLP, ma il ricevitore OTLP non supporta la raccolta diretta dei log. Per informazioni sull'utilizzo di Ops Agent per raccogliere i log, vedi Configurazioni di logging.
Prerequisiti
Per raccogliere metriche e tracce OTLP utilizzando il ricevitore OTLP e Ops Agent, devi installare Ops Agent versione 2.37.0 o successive.
Questo documento presuppone che tu abbia già scritto un'applicazione basata su OpenTelemetry utilizzando uno degli SDK OpenTelemetry. Questo documento non tratta l'utilizzo degli SDK OpenTelemetry. Per informazioni sugli SDK e sulle lingue supportate, consulta Strumentazione OpenTelemetry.
Configurazione dell'agente operativo
Per configurare Ops Agent in modo che utilizzi il ricevitore OTLP:
- Modifica il file di configurazione utente per Ops Agent in modo da includere il ricevitore OTLP.
- Riavvia Ops Agent.
Le sezioni seguenti descrivono ogni passaggio.
Modifica il file di configurazione utente di Ops Agent
Aggiungi gli elementi di configurazione per il ricevitore OTLP al file di configurazione utente per Ops Agent:
- Per Linux:
/etc/google-cloud-ops-agent/config.yaml
- Per Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Per informazioni generali sulla configurazione dell'agente, vedi Modello di configurazione.
Il ricevitore OTLP introduce la sezione di configurazione combined
per Ops Agent. L'utilizzo del ricevitore richiede la configurazione dei servizi per metriche e tracce, anche se non le utilizzi entrambe.
Le sezioni seguenti descrivono i passaggi di configurazione per il ricevitore OTLP.
Aggiungi la sezione combined
destinatario
Posiziona il ricevitore per le metriche e le tracce OTLP nella sezione combined
. Non sono consentiti processori o servizi nella sezione combined
. Non devi configurare altri ricevitori con lo stesso nome di un ricevitore nella sezione combined
. Il seguente esempio utilizza otlp
come nome del destinatario.
La configurazione minima di combined
per OTLP è la seguente:
combined: receivers: otlp: type: otlp
Il ricevitore otlp
ha le seguenti opzioni di configurazione:
type
: obbligatorio. Deve essereotlp
grpc_endpoint
: (Facoltativo) L'endpoint gRPC su cui il ricevitore OTLP è in ascolto. Il valore predefinito è0.0.0.0:4317
.metrics_mode
: (Facoltativo) Il valore predefinito ègooglemanagedprometheus
, il che significa che il destinatario invia le metriche OTLP come metriche in formato Prometheus utilizzando l'API Prometheus utilizzata anche da Managed Service per Prometheus.Per inviare le metriche come metriche personalizzate di Cloud Monitoring utilizzando l'API Monitoring, imposta l'opzione
metrics_mode
sul valoregooglecloudmonitoring
.Questa scelta influisce sul modo in cui vengono inserite e misurate le metriche ai fini della fatturazione. Per ulteriori informazioni sui formati delle metriche, consulta Formati di importazione per le metriche OTLP.
Aggiungere pipeline OTLP ai tuoi servizi
Il ricevitore OTLP può raccogliere metriche e tracce, quindi devi definire un servizio per le metriche e per le tracce. Se non intendi raccogliere metriche o tracce, puoi creare servizi vuoti. Se hai già servizi con altre pipeline, puoi aggiungervi la pipeline OTLP.
Di seguito sono mostrati i servizi metrics
e traces
con il ricevitore OTLP incluso nelle pipeline:
combined: receivers: otlp: type: otlp metrics: service: pipelines: otlp: receivers: [otlp] traces: service: pipelines: otlp: receivers: [otlp]
Se non vuoi utilizzare il servizio metrics
o traces
per la raccolta OTLP, escludi il ricevitore OTLP dalla pipeline per il servizio. Il servizio deve esistere, anche se non ha pipeline. Se la tua applicazione invia dati di un determinato tipo e non esiste una pipeline corrispondente che includa il ricevitore, Ops Agent scarta i dati.
Riavvia l'Ops Agent
Per applicare le modifiche alla configurazione, devi riavviare Ops Agent.
Linux
- Per riavviare l'agente, esegui il seguente comando sull'istanza:
sudo systemctl restart google-cloud-ops-agent
- Per verificare che l'agente sia stato riavviato, esegui il seguente comando e verifica che i componenti "Agente Metriche" e "Agente Logging" siano stati avviati:
sudo systemctl status "google-cloud-ops-agent*"
Windows
- Connettiti all'istanza utilizzando RDP o uno strumento simile e accedi a Windows.
- Apri un terminale PowerShell con privilegi amministrativi facendo clic con il tasto destro del mouse sull'icona PowerShell e selezionando Esegui come amministratore.
- Per riavviare l'agente, esegui il seguente comando PowerShell:
Restart-Service google-cloud-ops-agent -Force
- Per verificare che l'agente sia stato riavviato, esegui il seguente comando e verifica che i componenti "Agente Metriche" e "Agente Logging" siano stati avviati:
Get-Service google-cloud-ops-agent*
Raccogliere metriche OTLP
Quando utilizzi il ricevitore OTLP per raccogliere le metriche dalle tue applicazioni OpenTelemetry, la scelta di configurazione principale per il ricevitore è l'API che vuoi utilizzare per importare le metriche.
Puoi fare questa scelta modificando l'opzione metrics_mode
nella configurazione del destinatario otlp
o utilizzando il valore predefinito. La scelta influisce sul modo in cui le metriche OTLP vengono inserite in Cloud Monitoring e su come vengono misurati i dati ai fini della fatturazione.
La scelta di metrics_mode
non influisce sulla tua capacità di creare grafici, dashboard e criteri di avviso in Monitoring.
- Per informazioni sulla creazione di grafici e dashboard, vedi Panoramica di dashboard e grafici.
- Per informazioni sui criteri di avviso, consulta la pagina Panoramica degli avvisi.
Le sezioni seguenti descrivono le differenze nei formati utilizzati dalle modalità di metrica e come eseguire query sui dati importati per l'utilizzo in Monitoring.
Formati di importazione per le metriche OTLP
Il ricevitore OTLP fornisce l'opzione metrics_mode
, che specifica l'API utilizzata per importare i dati delle metriche. Per impostazione predefinita, il ricevitore utilizza l'API Prometheus; il valore predefinito per l'opzione metrics_mode
è googlemanagedprometheus
. Le metriche vengono importate utilizzando la stessa API utilizzata da Managed Service per Prometheus.
Puoi configurare il ricevitore in modo che invii i dati delle metriche all'API Cloud Monitoring. Per inviare dati all'API Monitoring, imposta il valore dell'opzione metrics_mode
su googlecloudmonitoring
, come mostrato nell'esempio seguente:
combined: receivers: otlp: type: otlp metrics_mode: googlecloudmonitoring
Il formato di importazione utilizzato determina il modo in cui le metriche OTLP vengono mappate in Cloud Monitoring. Puoi creare grafici, dashboard e criteri di avviso in Monitoring per le metriche di entrambi i formati, ma fai riferimento alle metriche in modo diverso nelle query.
Il formato di importazione determina anche il modello di prezzo utilizzato per l'importazione dei dati.
Le seguenti sezioni descrivono i prezzi, le differenze strutturali tra una metrica importata dall'API Prometheus e la stessa metrica importata dall'API Monitoring e come fare riferimento alle metriche nelle query.
Prezzi e quote
Il formato di importazione che utilizzi determina il modo in cui vengono addebitate le metriche OTLP:
API Prometheus: quando utilizzi l'API Prometheus per importare le metriche della tua applicazione, i dati sono soggetti a prezzi basati sul campionamento, come se le metriche fossero state importate utilizzando Managed Service per Prometheus.
- Per i prezzi attuali, consulta il Riepilogo dei prezzi di Cloud Monitoring.
- Per saperne di più sul conteggio dei campioni e sulla stima dei costi, consulta la sezione Metriche addebitate in base ai campioni importati.
API Monitoring:quando utilizzi l'API Monitoring per importare le metriche della tua applicazione, i dati sono soggetti a prezzi basati sul volume, come i dati di altre integrazioni con l'Ops Agent.
- Per i prezzi attuali, consulta il Riepilogo dei prezzi di Cloud Monitoring.
- Per ulteriori informazioni sul volume di importazione e sulla stima dei costi, consulta Metriche addebitate in base ai byte importati.
Le metriche inserite utilizzando il ricevitore OTLP sono considerate tipi di metriche "personalizzate" quando vengono inserite in Cloud Monitoring e sono soggette a quote e limiti per le metriche personalizzate.
Struttura della metrica
Cloud Monitoring descrive il formato dei dati delle metriche utilizzando uno schema chiamato descrittore di metrica. Il descrittore della metrica include il nome della metrica, il tipo di dati dei valori della metrica, la relazione di ciascun valore con i valori precedenti e le etichette associate ai valori. Se configuri il ricevitore OTLP per importare le metriche utilizzando l'API Prometheus, il descrittore della metrica creato è diverso da quello creato quando utilizzi l'API Monitoring.
API Prometheus:quando utilizzi l'API Prometheus per importare le metriche della tua applicazione, ogni metrica viene trasformata utilizzando la trasformazione da OpenTelemetry a Prometheus standard e mappata a un tipo di risorsa monitorata di Cloud Monitoring.
- La trasformazione include le seguenti modifiche:
- Il nome della metrica OTLP è preceduto dalla stringa
prometheus.googleapis.com/
. - Tutti i caratteri non alfanumerici, ad esempio i punti (
.
), nel nome della metrica OTLP vengono sostituiti da trattini bassi (_
). - Il nome della metrica OTLP è seguito da una stringa che indica il tipo di metrica, ad esempio
/gauge
o/counter
.
- Il nome della metrica OTLP è preceduto dalla stringa
- Le seguenti etichette, compilate con i valori della risorsa OTLP, vengono aggiunte alla metrica:
instance_name
: il valore dell'attributo della risorsahost.name
.machine_type
: il valore dell'attributo della risorsahost.type
.
La risorsa monitorata registrata con le misurazioni della metrica è il tipo generico
prometheus_target
. La serie temporale Prometheus generata include le seguenti etichette dalla risorsaprometheus_target
, compilate con i valori della risorsa OTLP:location
: il valore dell'attributo della risorsacloud.availability_zone
.namespace
: il valore dell'attributo della risorsahost.id
.
Il tipo di risorsa
prometheus_target
include anche queste etichette:project_id
: l'identificatore del progetto Google Cloud , ad esempiomy-project
, in cui è in esecuzione Ops Agent.cluster
: il valore è sempre__gce__
quando le metriche vengono raccolte dall'Ops Agento.
Se nei dati OTLP in entrata mancano gli attributi della risorsa utilizzati per i valori delle etichette, i valori vengono presi dalle informazioni sulla VM che esegue lOps Agentps. Questo comportamento significa che i dati OTLP senza questi attributi della risorsa vengono visualizzati con le stesse etichette dei dati raccolti dal ricevitore Prometheus di Ops Agent.
API Monitoring:quando utilizzi l'API Monitoring per importare le metriche della tua applicazione, ogni metrica viene gestita nel seguente modo:
- Il nome della metrica OTLP è preceduto dalla stringa
workload.googleapis.com/
, a meno che non contenga già questa stringa o un altro dominio di metrica valido, ad esempiocustom.googleapis.com
. Ti consigliamo di utilizzare il dominio "workload". - La risorsa monitorata registrata con le misurazioni della metrica è il tipo di macchina virtuale Compute Engine
gce_instance
.
I seguenti esempi mostrano i descrittori delle metriche per una coppia di metriche OpenTelemetry. Le metriche vengono create da un'applicazione che utilizza la libreria di metriche Go OpenTelemetry. La scheda API Prometheus mostra il descrittore della metrica creato quando il ricevitore OTLP utilizza la modalità predefinita delle metriche Prometheus. La scheda API Monitoring mostra il descrittore della metrica creato quando il ricevitore OTLP utilizza la modalità metrica googlecloudmonitoring
.
Nell'applicazione che crea la metrica non cambia nulla; l'unica modifica riguarda la modalità della metrica utilizzata dal ricevitore OTLP.
L'applicazione crea una metrica di tipo indicatore OTLP, otlp.test.gauge
, che registra valori in virgola mobile a 64 bit. Le seguenti schede mostrano il descrittore della metrica creato da ogni API di importazione:
API Prometheus
{ "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_gauge/gauge", "labels": [ { "key": "instance_name" }, { "key": "machine_type" } ], "metricKind": "GAUGE", "valueType": "DOUBLE", "type": "prometheus.googleapis.com/otlp_test_gauge/gauge", "monitoredResourceTypes": [ "prometheus_target" ] }
API Monitoring
{ "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.gauge", "labels": [ { "key": "instrumentation_source" } ], "metricKind": "GAUGE", "valueType": "DOUBLE", "type": "workload.googleapis.com/otlp.test.gauge", "monitoredResourceTypes": [ "gce_instance", ...many other types deleted... ] }
L'applicazione crea una metrica del contatore OTLP, otlp.test.cumulative
, che registra valori in virgola mobile a 64 bit crescenti. Le seguenti schede mostrano il descrittore della metrica creato da ogni API di importazione:
API Prometheus
{ "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_cumulative/counter", "labels": [ { "key": "instance_name" }, { "key": "machine_type" } ], "metricKind": "CUMULATIVE", "valueType": "DOUBLE", "type": "prometheus.googleapis.com/otlp_test_cumulative/counter", "monitoredResourceTypes": [ "prometheus_target" ] }
API Monitoring
{ "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.cumulative", "labels": [ { "key": "instrumentation_source" } ], "metricKind": "CUMULATIVE", "valueType": "DOUBLE", "type": "workload.googleapis.com/otlp.test.cumulative", "monitoredResourceTypes": [ "gce_instance", ...many other types deleted... ] }
La tabella seguente riepiloga alcune delle differenze di formato imposte dalle API utilizzate per l'importazione delle metriche OTLP:
API Prometheus | API Monitoring | |
---|---|---|
Dominio della metrica | prometheus.googleapis.com | workload.googleapis.com |
Nome metrica OTLP | Modificato durante l'importazione | Utilizzata così com'è |
Risorsa monitorata | prometheus_target | gce_instance |
Formati di importazione e query
La modalità delle metriche utilizzata nel ricevitore OTLP influisce sul modo in cui esegui query sulle metriche risultanti in Cloud Monitoring quando crei grafici, dashboard e policy di avviso.
Quando configuri un grafico, una dashboard o un criterio di avviso in Cloud Monitoring, la configurazione include una query per i dati su cui opera il grafico, la dashboard o il criterio di avviso.
Cloud Monitoring supporta i seguenti strumenti per l'interrogazione dei dati delle metriche:
- Un'interfaccia basata su un generatore di query integrato in strumenti come Metrics Explorer, l'interfaccia di Dashboard Builder e l'interfaccia di configurazione delle norme di avviso.
- Prometheus Query Language (PromQL): il linguaggio di query basato su testo utilizzato da Prometheus open source.
Per informazioni sull'esecuzione di query sulle metriche OTLP utilizzando questi strumenti, consulta le seguenti risorse:
- Eseguire query sulle metriche OTLP importate utilizzando l'API Prometheus
- Eseguire query sulle metriche OTLP inserite utilizzando l'API Monitoring
Eseguire query sulle metriche OTLP importate utilizzando l'API Prometheus
Questa sezione illustra come eseguire query sulle metriche OTLP inserite utilizzando l'API Prometheus, che è la modalità di metrica predefinita per il ricevitore OTLP.
Le query si basano sulle metriche OTLP descritte in Struttura delle metriche:
otlp.test.gauge
: una metrica di tipo indicatore OTLP che registra valori in virgola mobile a 64 bit.otlp.test.cumlative
: Una metrica di tipo contatore OTLP che registra valori in virgola mobile a 64 bit crescenti.
Queste metriche vengono importate in Cloud Monitoring con i seguenti tipi di metriche, che fungono da nomi:
prometheus.googleapis.com/otlp_test_gauge/gauge
prometheus.googleapis.com/otlp_test_cumulative/counter
Le metriche importate utilizzando l'API Prometheus vengono scritte in base al tipo di risorsa monitorata prometheus_target
.
Le schede mostrano l'aspetto delle query di base quando vengono eseguite query sulle metriche utilizzando la console Google Cloud . Questi esempi utilizzano Metrics Explorer, ma i principi sono gli stessi per dashboard e policy di avviso.
Interfaccia di Query Builder
Per utilizzare un'interfaccia di creazione di query per eseguire query sui dati delle metriche, specifica il tipo di metrica e il tipo di risorsa monitorata digitando nei campi abilitati alla ricerca. Esistono molti meno tipi di risorse rispetto ai tipi di metriche, quindi di solito è più efficiente cercare il tipo di risorsa e poi utilizzare il menu delle metriche associate per trovare il tipo di metrica.
Se inserisci "prometheus" nel campo di ricerca, i risultati includono la risorsa monitorata prometheus_target
, mostrata dal nome visualizzato "Prometheus Target", e l'insieme di metriche che scrivono nella risorsa. Le metriche sono classificate per nome; le due metriche di esempio vengono visualizzate come categoria Otlp. Puoi selezionare Prometheus/otlp_test_cumulative/counter o Prometheus/otlp_test_gauge/gauge.
Per saperne di più sull'utilizzo del generatore di query, vedi Creare query utilizzando i menu.
Lo screenshot seguente mostra il risultato della query sulla metrica prometheus.googleapis.com/otlp_test_gauge/gauge
:
Lo screenshot seguente mostra il risultato della query sulla metrica prometheus.googleapis.com/otlp_test_cumulative/counter
:
PromQL
Quando utilizzi PromQL per eseguire query sui dati delle metriche inseriti utilizzando l'API Prometheus, devi specificare solo la forma modificata del nome della metrica OTLP originale. Non è necessario specificare la stringa prometheus.googleapis.com/
con prefisso o il tipo con suffisso.
Quando la metrica può essere scritta solo in base a un tipo di risorsa monitorata, non è necessario specificare la risorsa. Come descritto in Struttura delle metriche, le metriche OTLP inserite utilizzando l'API Prometheus vengono scritte solo in base al tipo di risorsa monitorata prometheus_target
. Le query PromQL banali per le metriche di esempio sono simili alle seguenti:
otlp_test_gauge
otlp_test_cumulative
Per saperne di più sull'utilizzo di PromQL in Cloud Monitoring per eseguire query sulle metriche importate utilizzando l'API Prometheus, consulta Dati di Google Cloud Managed Service per Prometheus in Cloud Monitoring. Per informazioni sul linguaggio PromQL, consulta Esecuzione di query Prometheus.
Lo screenshot seguente mostra il risultato della query sulla metrica prometheus.googleapis.com/otlp_test_gauge/gauge
:
Lo screenshot seguente mostra il risultato della query sulla metrica prometheus.googleapis.com/otlp_test_cumulative/counter
:
Eseguire query sulle metriche OTLP inserite utilizzando l'API Monitoring
Questa sezione illustra come eseguire query sulle metriche OTLP inserite utilizzando l'API Monitoring. Seleziona l'API Cloud Monitoring impostando il campo metrics_mode
del ricevitore OTLP sul valore googlecloudmonitoring
.
Le query si basano sulle metriche OTLP descritte in Struttura delle metriche:
otlp.test.gauge
: una metrica di tipo indicatore OTLP che registra valori in virgola mobile a 64 bit.otlp.test.cumlative
: Una metrica di tipo contatore OTLP che registra valori in virgola mobile a 64 bit crescenti.
Queste metriche vengono importate in Cloud Monitoring con i seguenti tipi di metriche, che fungono da nomi:
workload.googleapis.com/otlp.test.gauge
workload.googleapis.com/otlp.test.cumulative
Le metriche importate utilizzando l'API Monitoring vengono scritte in base al tipo di risorsa monitorata gce_instance
.
Le schede mostrano l'aspetto delle query di base quando vengono eseguite query sulle metriche utilizzando la console Google Cloud . Questi esempi utilizzano Metrics Explorer, ma i principi sono gli stessi per dashboard e policy di avviso.
Interfaccia di Query Builder
Per utilizzare un'interfaccia di creazione di query per eseguire query sui dati delle metriche, specifica il tipo di metrica e il tipo di risorsa monitorata digitando nei campi abilitati alla ricerca. Esistono molti meno tipi di risorse rispetto ai tipi di metriche, quindi di solito è più efficiente cercare il tipo di risorsa e poi utilizzare il menu delle metriche associate per trovare il tipo di metrica.Se inserisci "gce_instance" nel campo di ricerca, i risultati mostrano il tipo di risorsa in base al nome visualizzato, "Istanza VM", e l'insieme di metriche che scrivono nella risorsa. Le metriche sono classificate per nome; le due metriche di esempio vengono visualizzate come categoria Otlp. Puoi selezionare Workload/otlp_test_cumulative o Workload/otlp_test_gauge.
Per saperne di più sull'utilizzo del generatore di query, vedi Creare query utilizzando i menu.
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.gauge
:
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.cumulative
:
PromQL
Quando utilizzi PromQL per eseguire query sui dati delle metriche inseriti utilizzando l'API Monitoring, devi mappare il nome della metrica alle convenzioni PromQL. Le regole di mappatura di base includono quanto segue:
- Sostituisci il primo
/
con:
. - Sostituisci tutti gli altri caratteri speciali (inclusi
.
e altri caratteri/
) con_
.
Per ulteriori informazioni sulle regole di mappatura, consulta Mappatura delle metriche di Cloud Monitoring a PromQL.
I tipi di metriche di Monitoring per le metriche di esempio sono mappati a PromQL come segue:
workload_googleapis_com:otlp_test_gauge
workload_googleapis_com:otlp_test_cumulative
Quando la metrica può essere scritta solo in base a un tipo di risorsa monitorata, non è necessario specificare la risorsa. Le metriche di esempio sono scritte in base al tipo di risorsa monitorata gce_instance
, ma, come descritto in Struttura delle metriche, gce_instance
è solo uno dei possibili tipi di metriche. Pertanto, le query PromQL per queste metriche devono includere un filtro per il tipo di risorsa gce_instance
. Per includere il filtro, aggiungi la seguente stringa alla fine dei nomi delle metriche mappate: {monitored_resource="gce_instance"}
Per saperne di più sull'utilizzo di PromQL in Cloud Monitoring, consulta PromQL in Cloud Monitoring. Per informazioni sul linguaggio PromQL, consulta Esecuzione di query Prometheus.
Le query PromQL banali per le metriche di esempio sono simili alle seguenti:
workload_googleapis_com:otlp_test_gauge{monitored_resource="gce_instance"}
workload_googleapis_com:otlp_test_cumulative{monitored_resource="gce_instance"}
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.gauge
:
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.cumulative
:
Visualizza l'utilizzo e la diagnostica delle metriche in Cloud Monitoring
La pagina Gestione delle metriche di Cloud Monitoring fornisce informazioni che possono aiutarti a controllare l'importo che spendi per le metriche fatturabili senza influire sull'osservabilità. La pagina Gestione delle metriche riporta le seguenti informazioni:
- Volumi di importazione per la fatturazione basata su byte e campioni, in tutti i domini delle metriche e per le singole metriche.
- Dati su etichette e cardinalità delle metriche.
- Numero di letture per ogni metrica.
- Utilizzo delle metriche nelle policy di avviso e nelle dashboard personalizzate.
- Tasso di errori di scrittura delle metriche.
Puoi anche utilizzare la pagina Gestione metriche per escludere le metriche non necessarie, eliminando il costo della loro importazione.
Per visualizzare la pagina Gestione metriche:
-
Nella console Google Cloud , vai alla pagina
Gestione delle metriche:Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti, seleziona la finestra temporale. Per impostazione predefinita, nella pagina Gestione metriche vengono visualizzate le informazioni sulle metriche raccolte nel giorno precedente.
Per maggiori informazioni sulla pagina Gestione metriche, consulta Visualizzare e gestire l'utilizzo delle metriche.
Raccogliere tracce OTLP
Se hai configurato l'Ops Agent per raccogliere le tracce, ma non ne visualizzi in Cloud Trace quando esegui l'applicazione, potresti dover concedere un ruolo aggiuntivo al account di servizio Compute Engine utilizzato dall'agente. Per impostazione predefinita, il account di servizio riceve i ruoli necessari per scrivere metriche e log, ma non tracce.
Le sezioni seguenti descrivono come concedere al account di servizio l'autorizzazione Cloud Trace necessaria.
Determinare i ruoli concessi al account di servizio
Per visualizzare i ruoli concessi a un account di servizio, esegui questo comando gcloud projects get-iam-policy
:
gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"
Potresti vedere un output simile al seguente:
ROLE roles/logging.logWriter roles/monitoring.metricWriter
Se l'output include roles/cloudtrace.agent
o roles/cloudtrace.admin
, il account di servizio dispone di autorizzazioni sufficienti per scrivere le tracce. Per concedere uno di questi ruoli al service account, consulta la sezione seguente.
Concedi il ruolo Cloud Trace al account di servizio
Per un account di servizio, in genere è appropriato il ruolo Agente Cloud Trace, roles/cloudtrace.agent
. Per concedere questo ruolo al account di servizio, esegui il seguente comando gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID --member "serviceAccount:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudtrace.agent"
Puoi quindi eseguire il comando gcloud projects get-iam-policy
per verificare che la modifica sia stata apportata:
gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"
L'output ora include roles/cloudtrace.agent
:
ROLE roles/cloudtrace.agent roles/logging.logWriter roles/monitoring.metricWriter
Per saperne di più sulla gestione dei ruoli IAM, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Dopo aver autorizzato il account di servizio utilizzato dall'Ops Agent a scrivere dati in Cloud Trace, quando esegui l'applicazione basata su OpenTelemetry, le tracce vengono visualizzate in Cloud Trace.
Disattiva il ricevitore OTLP
Se raccogli sia metriche che tracce OTLP utilizzando Ops Agent e vuoi disattivare la raccolta di metriche o tracce, ma non di entrambe, procedi nel seguente modo:
Disattiva la raccolta di metriche o tracce apportando una delle seguenti modifiche al file di configurazione utente,
config.yaml
:- Rimuovi la pipeline
otlp
dal serviziometrics
. - Rimuovi la pipeline
otlp
dal serviziotraces
.
- Rimuovi la pipeline
Per disattivare la raccolta di metriche e tracce OTLP da parte di Ops Agent, procedi nel seguente modo:
Rimuovi la configurazione OTLP dal file di configurazione utente:
- Elimina l'intera sezione
combined
, che include ilotlp
ricevitore. - Rimuovi la pipeline
otlp
dal serviziometrics
. - Elimina l'intero servizio
traces
.
- Elimina l'intera sezione
Passaggi successivi
Dopo l'importazione delle metriche e delle tracce dell'applicazione, puoi utilizzare la console Google Cloud per monitorare e analizzare i dati.
- Per informazioni sulle dashboard e sui tipi di grafici che puoi creare, vedi Dashboard e grafici.
- Per informazioni sui criteri di avviso, consulta Utilizzo dei criteri di avviso.
- Per informazioni sull'analisi dei dati di traccia, vedi Trovare ed esplorare le tracce.