Questo documento descrive come utilizzare Ops Agent e il protocollo OpenTelemetry (OTLP) per raccogliere metriche e tracce definite dall'utente dalle applicazioni instrumentati mediante OpenTelemetry e l'esecuzione su Compute Engine.
Questo documento è organizzato come segue:
- Una panoramica che descrive i casi d'uso per il ricevitore OTLP.
- Prerequisiti per l'utilizzo del ricevitore OTLP.
- Configurare l'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 tracce. Questo in cui viene descritto come autorizzare un account di servizio alla scrittura di dati. in Cloud Trace.
Panoramica dell'utilizzo del ricevitore OTLP
Con il ricevitore OTLP di Ops Agent, puoi:
- Instrumenta la tua applicazione utilizzando uno degli SDK specifici per i linguaggi
OpenTelemetry. Per informazioni sulle lingue supportate, vedi OpenTelemetry.
Strumentazione. La combinazione
degli SDK OpenTelemetry e Ops Agent eseguono le seguenti operazioni:
- Raccogli le metriche OTLP dall'applicazione e inviale a Cloud Monitoring per l'analisi.
- Raccogli gli intervalli OTLP (dati di traccia) dalla tua applicazione e poi inviali a Cloud Trace per l'analisi.
- Raccogli le tracce da applicazioni di terze parti che dispongono del supporto integrato per OTLP o plug-in con questo supporto, come Nginx. Il ricevitore OTLP in Ops Agent può raccogliere queste tracce. Per un esempio, vedi OpenTelemetry nginx modulo.
- Utilizza la strumentazione personalizzata 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, tra cui 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 al fine di raccogliere metriche e tracce definite dall'utente includevano quanto segue:
- Utilizzo di librerie client che implementano l'API Monitoring o l'API Trace.
- Utilizzando le librerie OpenCensus meno recenti.
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, consulta la sezione Che cos'è OpenTelemetry?
- L'importazione è controllata a livello di agente, quindi non devi rieseguire il deployment se la configurazione dell'agente cambia.
- Le 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 monitoraggio specifico per Google Cloud. Non è necessario utilizzare direttamente l'API Monitoring o l'API Trace.
- L'applicazione invia i dati a Ops Agent e, se si arresta in modo anomalo, tutti i dati raccolti da Ops Agent non vengono persi.
Limitazioni
Il listener OTLP esposto dal ricevitore Ops Agent supporta il protocollo gRPC trasporto pubblico. Il protocollo HTTP, utilizzato principalmente per i client JavaScript, supportati. Per ulteriori informazioni sul protocollo OpenTelemetry, consulta Dettagli del protocollo.
Il destinatario OTLP non raccoglie i log. Puoi raccogliere i log utilizzando Ops Agent e altri destinatari e puoi includere informazioni di log negli intervalli OTLP, ma il ricevitore OTLP non supporta la raccolta diretta di log. Per informazioni sull'utilizzo di Ops Agent per la raccolta dei log, consulta Configurazioni di Logging.
Prerequisiti
Per raccogliere le metriche e le tracce OTLP utilizzando il ricevitore OTLP e l'agente operativo, devi installare l'agente operativo versione 2.37.0 o successiva.
Questo documento presuppone che tu abbia già un'applicazione basata su OpenTelemetry scritta utilizzando uno degli SDK OpenTelemetry. Questo documento non tratta dell'utilizzo degli SDK OpenTelemetry. Per informazioni sugli SDK e sulle lingue supportate, consulta OpenTelemetry Instrumentation.
Configurazione dell'agente operativo
Per configurare Ops Agent in modo che utilizzi il ricevitore OTLP:
- Modifica il file di configurazione utente di 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, consulta Modello di configurazione.
Il ricevitore OTLP introduce la sezione di configurazione combined
per l'agente operativo. L'utilizzo del destinatario richiede la configurazione dei servizi per le metriche e le tracce, anche se non li utilizzi entrambi.
Le sezioni seguenti descrivono i passaggi di configurazione del ricevitore OTLP.
Aggiungi la sezione combined
Destinatario
Devi posizionare il ricevitore per le metriche e le tracce OTLP in combined
. Nella sezione combined
non sono consentiti processori o servizi.
Non devi configurare nessun altro ricevitore con
lo stesso nome di un destinatario nella sezione combined
. L'esempio seguente utilizza otlp
come nome del destinatario.
La configurazione combined
minima per OTLP è simile alla 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 ascolta. 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 con l'API Monitoring, imposta l'opzione
metrics_mode
su il valoregooglecloudmonitoring
.Questa scelta influisce sul modo in cui le metriche vengono importate e misurate per la fatturazione. Per ulteriori informazioni sui formati delle metriche, consulta Formati di importazione per le metriche OTLP.
Aggiungi 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 hai intenzione di raccogliere metriche o tracce, puoi creare servizi vuoti. Se hai già con altre pipeline, puoi aggiungervi la pipeline OTLP.
Di seguito sono mostrati i servizi metrics
e traces
con OTLP
ricevitore 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, lascia il ricevitore OTLP fuori dalla pipeline per il servizio.
Il servizio deve esistere, anche se non ha pipeline. Se l'applicazione invia
dati di un determinato tipo e non esiste una pipeline corrispondente che includa il
ricevente, Ops Agent elimina i dati.
Riavvia l'agente operativo
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 confermare che l'agente è stato riavviato, esegui questo comando
verifica che i componenti di "Metrics Agent" e "Agente Logging" data di inizio:
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 di PowerShell e selezionando Esegui come amministratore.
- Per riavviare l'agente, esegui il seguente comando PowerShell:
Restart-Service google-cloud-ops-agent -Force
- Per confermare che l'agente è stato riavviato, esegui questo comando
verifica che i componenti di "Metrics Agent" e "Agente Logging" data di inizio:
Get-Service google-cloud-ops-agent*
Raccogliere le 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.
Per fare questa scelta, modifica l'opzione metrics_mode
nella
configurazione del ricevitore otlp
o utilizzando il valore predefinito.
La scelta influisce sulla modalità di importazione delle metriche OTLP
Cloud Monitoring e come vengono misurati questi 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, consulta Panoramica di dashboard e grafici.
- Per informazioni sui criteri di avviso, consulta la Panoramica degli avvisi.
Le seguenti sezioni descrivono le differenze nei formati utilizzati dalle modalità di metrica e come eseguire query sui dati importati per utilizzarli in Monitoraggio.
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 destinatario 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 in che modo le metriche OTLP vengono mappate in Cloud Monitoring. Puoi creare grafici, dashboard e criteri di avviso in Monitoraggio 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 una metrica importata dall'API Prometheus e la stessa metrica importata da l'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 i dati metriche, i dati sono soggetti a prezzi basati sul campione, come se utilizzando Managed Service per Prometheus.
- Per i prezzi attuali, consulta i prezzi di Cloud Monitoring riassunto.
- Per ulteriori informazioni sul conteggio dei campioni e sulla stima dei costi, consulta la sezione Esempi di prezzi in base ai campioni importati.
API Monitoring: quando utilizzi l'API Monitoring per importare i tuoi metriche dell'applicazione, i dati sono soggetti a prezzi basati sul volume, come i dati di altre integrazioni con Ops Agent.
- Per i prezzi attuali, consulta i prezzi di Cloud Monitoring riassunto.
- Per ulteriori informazioni sul volume di importazione e sulla stima dei costi, consulta Esempi di prezzi in base ai byte importati.
Le metriche importate utilizzando il ricevitore OTLP sono considerate tipi di "personalizzato" quando vengono importate in Cloud Monitoring e sono soggette fino a quote e limiti per le metriche personalizzate.
Struttura delle metriche
Cloud Monitoring descrive il formato dei dati delle metriche utilizzando uno schema chiamato descrittore della metrica. Il descrittore della metrica include il nome della metrica, il tipo di dati dei valori della metrica, la relazione tra ciascun valore e i valori precedenti e le eventuali etichette associate ai valori. Se configuri al ricevitore OTLP per importare le metriche utilizzando l'API Prometheus, 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 OpenTelemetry-to-Prometheus standard e mappata a un tipo di risorsa monitorata da Cloud Monitoring.
- La trasformazione include le seguenti modifiche:
- Il nome della metrica OTLP è preceduto dal prefisso della stringa
prometheus.googleapis.com/
. - I caratteri non alfanumerici, come i punti (
.
), nel nome della metrica OTLP vengono sostituiti da trattini bassi (_
). - Il nome della metrica OTLP è riportato con una stringa che indica la
di tipo
/gauge
o/counter
.
- Il nome della metrica OTLP è preceduto dal prefisso della stringa
- Le seguenti etichette, compilate con i valori della risorsa OTLP,
vengono aggiunti 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 delle metriche è è il tipo generico
prometheus_target
. La serie temporale Prometheus generata include le seguenti etichette della risorsaprometheus_target
, completate con i valori della risorsa OTLP:location
: il valore della risorsacloud.availability_zone
.namespace
: il valore dell'attributo della risorsahost.id
.
Il tipo di risorsa
prometheus_target
include anche le seguenti etichette:project_id
: l'identificatore del progetto Google Cloud, ad esempiomy-project
, in cui è in esecuzione l'agente operativo.cluster
: il valore è sempre__gce__
quando vengono raccolte le metriche da parte di Ops Agent.
Se nei dati OTLP in entrata mancano gli attributi delle risorse utilizzati per i valori delle etichette, i valori vengono ricavati dalle informazioni sulla VM in cui è in esecuzione Ops Agent. Questo comportamento significa che i dati OTLP senza queste risorse vengono visualizzati con le stesse etichette dei dati raccolti Ricevitore Ops Agent Prometheus.
API Monitoring: quando utilizzi l'API Monitoring per importare i tuoi metriche dell'applicazione, ogni metrica viene gestita come segue:
- Il nome della metrica OTLP è preceduto dal prefisso della stringa
workload.googleapis.com/
, a meno che il nome della metrica OTLP non contenga già questa stringa o un altro dominio di metriche valido, comecustom.googleapis.com
. Consigliamo di usare il "carico di lavoro" dominio. - La risorsa monitorata registrata con le misurazioni delle metriche è
il tipo di macchina virtuale
gce_instance
Gli esempi riportati di seguito mostrano i descrittori delle metriche per una coppia di metriche OpenTelemetry. Le metriche vengono create da un'applicazione che utilizza la
libreria di metriche OpenTelemetry per Go.
La scheda API Prometheus mostra
descrittore della metrica creato quando il ricevitore OTLP utilizza il descrittore predefinito
Modalità delle metriche di Prometheus. La scheda API di monitoraggio mostra il descrittore della metrica creato quando il ricevitore OTLP utilizza la modalità metrica googlecloudmonitoring
.
Non cambia nulla nell'applicazione che crea la metrica. l'unico cambia è la modalità metrica utilizzata dal ricevitore OTLP.
L'applicazione crea una metrica indicatore OTLP, otlp.test.gauge
, che registra valori in virgola mobile a 64 bit.
Le seguenti schede mostrano il descrittore della metrica creata 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 in aumento.
Le seguenti schede mostrano il descrittore delle metriche 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 riassume alcune delle differenze di formato imposte dalle API utilizzate per importare le metriche OTLP:
API Prometheus | API Monitoring | |
---|---|---|
Dominio metrico | prometheus.googleapis.com |
workload.googleapis.com |
Nome della metrica OTLP | Modificato durante l'importazione | Utilizzata così come fornita |
Risorsa monitorata |
prometheus_target |
gce_instance |
Formati di importazione e query
La modalità di metriche utilizzata nel ricevitore OTLP influisce sul modo in cui esegui query sulle metriche risultanti in Cloud Monitoring quando crei grafici, dashboard e criteri 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 eseguire query sui dati delle metriche:
- Un'interfaccia basata su Query Builder integrata in strumenti come Metrics Explorer, l'interfaccia dello strumento di creazione della dashboard e la configurazione dei criteri di avviso a riga di comando.
- Monitoring Query Language (MQL): un linguaggio di query basato su testo specifico per e configurazione in Cloud Monitoring.
- Prometheus Query Language (PromQL): il linguaggio di query basato su testo utilizzato da open source Prometheus.
Per informazioni sull'esecuzione di query sulle metriche OTLP con questi strumenti, consulta le seguenti risorse:
- Per eseguire query sulle metriche OTLP importate utilizzando API Prometheus
- Eseguire query sulle metriche OTLP importate utilizzando l'API Monitoring
Query sulle metriche OTLP importate utilizzando l'API Prometheus
Questa sezione illustra come eseguire query sulle metriche OTLP importate utilizzando l'API Prometheus, che è la modalità metrica predefinita per il ricevitore OTLP.
Le query si basano sulle metriche OTLP descritte in Struttura delle metriche:
otlp.test.gauge
: una metrica di indicatore OTLP che registra valori di tipo floating point a 64 bit.otlp.test.cumlative
: una metrica del contatore OTLP che registra l'aumento Valori in virgola mobile a 64 bit.
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 tramite l'API Prometheus vengono scritte in base
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 Esplora metriche, ma i principi sono gli stessi per le dashboard e i criteri di avviso.
Interfaccia dello strumento di creazione di query
Per utilizzare un'interfaccia di Query Builder per eseguire query sui dati delle metriche, devi specificare la il tipo di metrica e il tipo di risorsa monitorata digitando i valori abilitati per la ricerca campi. Esistono molti meno tipi di risorse rispetto ai tipi di metriche, quindi in genere più efficiente per cercare il tipo di risorsa e quindi utilizzare delle metriche associate per trovare il tipo di metrica.
Se inserisci "prometheus" nel campo di ricerca, i risultati includono
prometheus_target
risorsa monitorata, indicata dal nome visualizzato "Prometheus
Target" e l'insieme di metriche che scrivono nella risorsa. Le metriche sono
classificato 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 ulteriori informazioni sull'utilizzo di Query Builder, consulta Crea 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
:
MQL
Per eseguire query sui dati delle metriche con MQL, utilizza un'istruzione fetch
e
specifica il tipo di metrica e il tipo di risorsa monitorata, con ::
tra
che li rappresentano. Le query MQL banali per le metriche di esempio hanno il seguente aspetto:
seguenti:
fetch prometheus.googleapis.com/otlp_test_gauge/gauge::prometheus_target
fetch prometheus.googleapis.com/otlp_test_cumulative/counter::prometheus_target
Per ulteriori informazioni sulla creazione di query MQL, consulta Query MQL di esempio.
Il seguente screenshot mostra il risultato dell'esecuzione di query
prometheus.googleapis.com/otlp_test_gauge/gauge
metrica:
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 importati utilizzando
API Prometheus, devi specificare solo la forma modificata dell'OTLP originale
il nome della metrica. Non è necessario specificare la stringa con prefissoprometheus.googleapis.com/
o il tipo con suffisso.
Quando la metrica può essere scritta in base a un solo tipo di risorsa monitorata, non è necessario specificare la risorsa. Come descritto in Metrica
strutturale, le metriche OTLP importate
dell'API Prometheus sono scritte solo
prometheus_target
tipo di risorsa monitorata.
Le query PromQL banali per le metriche di esempio hanno il seguente aspetto:
otlp_test_gauge
otlp_test_cumulative
Per ulteriori informazioni sull'utilizzo di PromQL in Cloud Monitoring per eseguire query le metriche importate utilizzando l'API Prometheus, consulta Google Cloud Managed Service per Prometheus i dati in Cloud Monitoring. Per informazioni sul linguaggio PromQL, consulta Eseguire query su Prometheus.
Lo screenshot seguente mostra il risultato della query sulla metrica prometheus.googleapis.com/otlp_test_gauge/gauge
:
Il seguente screenshot mostra il risultato dell'esecuzione di query
prometheus.googleapis.com/otlp_test_cumulative/counter
metrica:
Esegui query sulle metriche OTLP importate utilizzando l'API Monitoring
Questa sezione illustra come eseguire query sulle metriche OTLP importate utilizzando l'API Monitoring. Seleziona l'API Cloud Monitoring impostando il valore googlecloudmonitoring
sul campo metrics_mode
del destinatario OTLP.
Le query si basano sulle metriche OTLP descritte in Metrica :
otlp.test.gauge
: una metrica di indicatore OTLP che registra valori di tipo floating point a 64 bit.otlp.test.cumlative
: una metrica del contatore OTLP che registra l'aumento Valori in virgola mobile a 64 bit.
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 esegui query sulle metriche utilizzando la console Google Cloud. Questi esempi utilizzano Esplora metriche, ma i principi sono gli stessi per le dashboard e i criteri di avviso.
Interfaccia dello strumento di creazione di query
Per utilizzare un'interfaccia di Query Builder per eseguire query sui dati delle metriche, devi specificare la il tipo di metrica e il tipo di risorsa monitorata digitando i valori abilitati per la ricerca campi. Esistono molti meno tipi di risorse rispetto ai tipi di metriche, pertanto solitamente è 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 ulteriori informazioni sull'utilizzo di Query Builder, consulta Crea query utilizzando i menu.
Il seguente screenshot mostra il risultato dell'esecuzione di query
workload.googleapis.com/otlp.test.gauge
metrica:
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.cumulative
:
MQL
Per eseguire query sui dati delle metriche con MQL, utilizza un'istruzionefetch
e
specifica il tipo di metrica e il tipo di risorsa monitorata, con ::
tra
che li rappresentano. Le query MQL banali per le metriche di esempio hanno il seguente aspetto:
le seguenti:
fetch workload.googleapis.com/otlp.test.gauge::gce_instance
fetch workload.googleapis.com/otlp.test.cumulative::gce_instance
Per saperne di più sulla creazione di query MQL, consulta gli esempi di query MQL.
Lo screenshot seguente mostra il risultato della query sulla metrica workload.googleapis.com/otlp.test.gauge
:
Il seguente screenshot mostra il risultato dell'esecuzione di query
workload.googleapis.com/otlp.test.cumulative
metrica:
PromQL
Quando utilizzi PromQL per eseguire query sui dati delle metriche importati utilizzando l'API Monitoring, devi mappare il nome della metrica alle convenzioni di 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 di Cloud Monitoring a PromQL.
I tipi di metriche di monitoraggio 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 in base a un solo tipo di risorsa monitorata, non è necessario specificare la risorsa. Le metriche di esempio vengono scritte
rispetto 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 sezione
fine dei nomi delle metriche mappate: {monitored_resource="gce_instance"}
Per ulteriori informazioni sull'utilizzo di PromQL in Cloud Monitoring, consulta PromQL in Cloud Monitoring. Per informazioni sul linguaggio PromQL, consulta la sezione Esecuzione di query Prometheus.
Le query PromQL banali per le metriche di esempio sono le seguenti:
workload_googleapis_com:otlp_test_gauge{monitored_resource="gce_instance"}
workload_googleapis_com:otlp_test_cumulative{monitored_resource="gce_instance"}
Il seguente screenshot mostra il risultato dell'esecuzione di query
workload.googleapis.com/otlp.test.gauge
metrica:
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 può aiutarti a controllare l'importo speso per le metriche fatturabili senza influire sull'osservabilità. La pagina Gestione delle metriche riporta le seguenti informazioni:
- Volumi di importazione per la fatturazione basata sia su byte che su campioni, nelle varie metriche domini e per singole metriche.
- Dati su etichette e cardinalità delle metriche.
- Numero di letture per ogni metrica.
- Utilizzo di metriche nei criteri di avviso e nelle dashboard personalizzate.
- Tasso di errori di scrittura delle metriche.
Puoi anche utilizzare la pagina Gestione delle metriche per escludere le metriche non necessarie, eliminando il costo di importazione.
Per visualizzare la pagina Gestione delle 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.
- Seleziona la finestra temporale nella barra degli strumenti. Per impostazione predefinita, la pagina Gestione delle metriche mostra informazioni sulle metriche raccolte nell'ultimo giorno.
Per saperne di più sulla pagina Gestione delle metriche, consulta Visualizza e gestisci l'utilizzo delle metriche.
Raccolta di tracce OTLP
Se hai configurato l'agente Ops per raccogliere le tracce, ma non ne ricevi alcuna in Cloud Trace quando esegui l'applicazione, potresti dover concedere un ruolo aggiuntivo all'account di servizio Compute Engine utilizzato dall'agente. Per impostazione predefinita, l'account di servizio riceve i ruoli necessari scrivere metriche e log, ma non tracce.
Le sezioni seguenti descrivono come concedere all'account di servizio l'autorizzazione Cloud Trace necessaria.
Determina i ruoli concessi all'account di servizio
Per vedere i ruoli concessi a un account di servizio, esegui questo comando
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"
L'output potrebbe essere simile al seguente:
ROLE roles/logging.logWriter roles/monitoring.metricWriter
Se l'output include roles/cloudtrace.agent
o
roles/cloudtrace.admin
, l'account di servizio avrà
l'autorizzazione a scrivere tracce. Per concedere uno di questi ruoli all'account di servizio, consulta la sezione seguente.
Concedi il ruolo Cloud Trace all'account di servizio
Per un account di servizio, il ruolo Agente Cloud Trace,
roles/cloudtrace.agent
,
di solito è appropriato. Per concedere questo ruolo all'account di servizio,
esegui questo 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"
Quindi, puoi 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 l'account di servizio utilizzato da Ops Agent a scrivere in Cloud Trace, quando esegui l'applicazione basata su OpenTelemetry, le tracce vengono visualizzate in Cloud Trace:
Disattivare il ricevitore OTLP
Se raccogli sia le metriche sia le tracce OTLP utilizzando Ops Agent, e vuoi disattivare la raccolta di metriche o tracce, ma non di entrambe, procedi nel seguente modo:
Disabilita la raccolta di metriche o tracce effettuando uno dei le 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, segui questi passaggi:
Rimuovi la configurazione OTLP dal file di configurazione utente:
- Elimina l'intera sezione
combined
, che include il ricevitoreotlp
. - Rimuovi la pipeline
otlp
dal serviziometrics
. - Elimina l'intero servizio
traces
.
- Elimina l'intera sezione
Passaggi successivi
Dopo aver importato le metriche e le 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, consulta Dashboard e grafici.
- Per informazioni sui criteri di avviso, vedi Utilizzo dei criteri di avviso.
- Per informazioni sull'analisi dei dati di traccia, consulta Trovare ed esplorare le tracce.