Raccogliere metriche e tracce OpenTelemetry Protocol (OTLP)

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 nel seguente modo:

Panoramica sull'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) dal tuo e inviare gli intervalli a Cloud Trace per l'analisi.
  • Raccogliere tracce da applicazioni di terze parti che hanno il supporto integrato per OTLP o plug-in che supportano tale supporto, applicazioni come Nginx. L'OTLP in Ops Agent può raccogliere le 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 tue metriche, puoi utilizzare le funzionalità Cloud Monitoring, inclusi grafici, dashboard e criteri di avviso, per monitorare le metriche. Se l'applicazione invia anche dati di traccia, puoi utilizzare Cloud Trace per analizzare questi dati.

Vantaggi

Prima della disponibilità del plug-in OTLP per Ops Agent, i modi principali per instrumentare le tue applicazioni al fine di raccogliere dati metriche e tracce includevano:

  • Utilizzo di librerie client che implementano l'API Monitoring l'API Trace.
  • Utilizzando le librerie OpenCensus meno recenti.

L'uso di OpenTelemetry con il ricevitore OTLP presenta diversi vantaggi rispetto a questi 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. tutto e l'autorizzazione è gestita a livello di agente.
  • Il codice dell'applicazione non contiene funzionalità di monitoraggio specifiche di Google Cloud o il codice di tracciamento. Non è necessario utilizzare l'API Monitoring o direttamente 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, vedi Dettagli protocollo.

Il ricevitore OTLP non raccoglie 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 metriche e tracce OTLP utilizzando il ricevitore OTLP e Ops Agent, devi installare Ops Agent versione 2.37.0 o successiva.

Questo documento presuppone che tu abbia già un'applicazione basata su OpenTelemetry scritte usando uno degli SDK OpenTelemetry. Questo documento non riguarda l'utilizzo SDK OpenTelemetry. Per informazioni sugli SDK e sui linguaggi supportati, vedi OpenTelemetry Instrumentation.

Configurazione dell'agente operativo

Per configurare Ops Agent in modo che utilizzi il ricevitore OTLP:

  1. Modifica il file di configurazione utente di Ops Agent in modo da includere i campi ricevitore OTLP.
  2. Riavvia Ops Agent.

Ciascun passaggio è descritto nelle sezioni seguenti.

Modifica il file di configurazione utente di Ops Agent

Aggiungi gli elementi di configurazione per il ricevitore OTLP alla il file di configurazione dell'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 Ops Agent. Per utilizzare il ricevitore devi configurare i servizi metriche e tracce, anche se non le utilizzi entrambe.

Le seguenti sezioni descrivono i passaggi di configurazione per il ricevitore OTLP.

Aggiungi la sezione per il destinatario combined

Devi posizionare il ricevitore per le metriche e le tracce OTLP in combined . Non sono consentiti processori o servizi nella sezione combined. Non devi configurare nessun altro ricevitore con lo stesso nome di un destinatario nella sezione combined. Nell'esempio che segue usa otlp come nome del destinatario.

La configurazione combined minima per OTLP è simile alla seguente:

combined:
  receivers:
    otlp:
      type: otlp

Il destinatario otlp ha le seguenti opzioni di configurazione:

  • type: campo obbligatorio. Deve essere otlp
  • 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, che significa che il destinatario invia le metriche OTLP come metriche formattate da Prometheus utilizzando l'API Prometheus, utilizzata anche 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 valore googlecloudmonitoring.

    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 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 OTLP ed escludi il ricevitore OTLP dalla pipeline per il servizio. Il servizio deve esistere, anche se non ha pipeline. Se la tua applicazione invia di un determinato tipo e non esiste una pipeline corrispondente che includa ricevitore, Ops Agent elimina i dati.

Riavvia Ops Agent

Per applicare le modifiche alla configurazione, devi riavviare Ops Agent.

Linux

  1. Per riavviare l'agente, esegui questo comando sull'istanza:
    sudo systemctl restart google-cloud-ops-agent
    
  2. 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

  1. Connettiti all'istanza utilizzando RDP o uno strumento simile e accedi a Windows.
  2. Apri un terminale PowerShell con privilegi amministrativi entro il facendo clic con il tasto destro del mouse sull'icona di PowerShell e selezionando Run as Administrator (Esegui come amministratore)
  3. Per riavviare l'agente, esegui il comando PowerShell seguente:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 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 metriche OTLP

Quando utilizzi il ricevitore OTLP per raccogliere le metriche le applicazioni OpenTelemetry, la scelta di configurazione principale per il destinatario è l'API che vuoi usare 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 il modo in cui questi dati vengono misurati per la fatturazione.

La scelta di metrics_mode non influisce sulla tua capacità di creare grafici, dashboard e criteri di avviso in Monitoring.

Le seguenti sezioni descrivono le differenze nei formati utilizzate dalle modalità delle metriche e su come eseguire query sui dati importati per l'uso 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, utilizza l'API Prometheus; Il valore predefinito per l'opzione metrics_mode è googlemanagedprometheus. Le metriche vengono importate utilizzando lo stesso API utilizzata da Managed Service per Prometheus.

Puoi configurare il destinatario in modo che invii i dati delle metriche al l'API Cloud Monitoring. Per inviare dati all'API Monitoring, imposta il valore dell'opzione metrics_mode su googlecloudmonitoring, come mostrato nell'esempio che segue:

combined:
  receivers:
    otlp:
      type: otlp
      metrics_mode: googlecloudmonitoring

Il formato di importazione che utilizzi determina il modo in cui vengono mappate le metriche OTLP in Cloud Monitoring. Puoi creare grafici, dashboard e avvisi in Monitoring per le metriche in entrambi i formati, ma fai riferimento alle metriche in modo diverso nelle query.

Il formato di importazione determina anche il modello di prezzi utilizzato per i dati per l'importazione.

Le seguenti sezioni descrivono i prezzi e 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:

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 parametro nome della metrica, tipo di dati dei valori della metrica, correlazione tra ciascun valore ai valori precedenti e a tutte le 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 i dati metriche, ogni metrica viene trasformata utilizzando Trasformazione da OpenTelemetry a Prometheus e mappati a un tipo di risorsa monitorata di 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.
  • Le seguenti etichette, compilate con i valori della risorsa OTLP, vengono aggiunti alla metrica:
    • instance_name: il valore dell'attributo della risorsa host.name.
    • machine_type: il valore dell'attributo della risorsa host.type.
  • La risorsa monitorata registrata con le misurazioni delle metriche è è il tipo generico prometheus_target. La serie temporale di Prometheus generata include le seguenti etichette dalla risorsa prometheus_target, compilata con i valori della Risorsa OTLP:

    • location: il valore della risorsa cloud.availability_zone .
    • namespace: il valore dell'attributo della risorsa host.id.

    Il tipo di risorsa prometheus_target include anche le seguenti etichette:

    • project_id: l'identificatore del progetto Google Cloud, ad esempio my-project, in cui è in esecuzione Ops Agent.
    • cluster: il valore è sempre __gce__ quando vengono raccolte le metriche da parte di Ops Agent.

Se nei dati OTLP in arrivo mancano gli attributi della risorsa utilizzati per l'etichetta vengono ricavati dalle informazioni sulla VM 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, come custom.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.

I seguenti esempi mostrano i descrittori delle metriche per una coppia di OpenTelemetry metrics. Le metriche vengono create da un'applicazione che utilizza Vai alla libreria delle metriche di OpenTelemetry. 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 Monitoring mostra descrittore della metrica creato quando il ricevitore OTLP utilizza 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 di 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 per i contatori OTLP, otlp.test.cumulative, che registra l'aumento dei 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_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 da Le API utilizzate per importare le metriche OTLP:

  API Prometheus API Monitoring
Dominio delle metriche prometheus.googleapis.com workload.googleapis.com
Nome metrica OTLP Modificato durante l'importazione Utilizzata così come fornita
Risorsa monitorata prometheus_target gce_instance

Formati e query di importazione

La modalità metriche utilizzata nel ricevitore OTLP influisce sul modo in cui si interroga il delle metriche risultanti in Cloud Monitoring quando crei grafici, dashboard e criteri di avviso.

Quando configuri un grafico, una dashboard o un criterio di avviso Cloud Monitoring, la configurazione include una query i dati su cui operano il grafico, la dashboard o il criterio di avviso.

Cloud Monitoring supporta i seguenti strumenti per l'esecuzione di query sulle metriche dati:

  • 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:

Query sulle metriche OTLP importate utilizzando l'API Prometheus

Questa sezione illustra come eseguire query sulle metriche OTLP importate utilizzando API Prometheus, che è la modalità metrica predefinita per il ricevitore OTLP.

Le query si basano sulle metriche OTLP descritte in Metrica :

  • otlp.test.gauge: una metrica di indicatore OTLP che registra i dati a 64 bit valori con rappresentazione in virgola mobile.
  • 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 le 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 Metrics Explorer, 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 oppure Prometheus/otlp_test_gauge/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 prometheus.googleapis.com/otlp_test_gauge/gauge metrica:

Grafico Metrics Explorer basato su Builder per la metrica di indicatore OTLP importata usando l'API Prometheus.

Il seguente screenshot mostra il risultato dell'esecuzione di query prometheus.googleapis.com/otlp_test_cumulative/counter metrica:

Grafico Metrics Explorer basato su Builder per la metrica contatore OTLP importata usando l'API Prometheus.

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 saperne di più sulla creazione di query MQL, consulta gli esempi di query MQL.

Il seguente screenshot mostra il risultato dell'esecuzione di query prometheus.googleapis.com/otlp_test_gauge/gauge metrica:

Grafico MQL Metrics Explorer per la metrica del misuratore OTLP importata tramite l'API Prometheus.

Il seguente screenshot mostra il risultato dell'esecuzione di query prometheus.googleapis.com/otlp_test_cumulative/counter metrica:

Grafico MQL Metrics Explorer per la metrica del contatore OTLP importata tramite l'API Prometheus.

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 il prefisso prometheus.googleapis.com/ o di tipo fisso.

Se la metrica può essere scritta in base a un solo tipo di risorsa monitorata, Non devi 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 la sezione Esecuzione di query Prometheus.

Il seguente screenshot mostra il risultato dell'esecuzione di query prometheus.googleapis.com/otlp_test_gauge/gauge metrica:

Grafico PromQL Metrics Explorer per la metrica dell'indicatore OTLP importata utilizzando l'API Prometheus.

Il seguente screenshot mostra il risultato dell'esecuzione di query prometheus.googleapis.com/otlp_test_cumulative/counter metrica:

Grafico PromQL Metrics Explorer per la metrica del contatore OTLP importata tramite l'API Prometheus.

Eseguire query sulle metriche OTLP importate utilizzando l'API Monitoring

Questa sezione illustra come eseguire query sulle metriche OTLP importate utilizzando l'API Monitoring. Puoi selezionare l'API Cloud Monitoring impostando il campo metrics_mode del ricevitore OTLP al valore googlecloudmonitoring.

Le query si basano sulle metriche OTLP descritte in Metrica :

  • otlp.test.gauge: una metrica di indicatore OTLP che registra i dati a 64 bit valori con rappresentazione in virgola mobile.
  • 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 le tipi di metriche, che fungono da nomi:

  • workload.googleapis.com/otlp.test.gauge
  • workload.googleapis.com/otlp.test.cumulative

Le metriche importate tramite l'API Monitoring vengono scritte in base 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, 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 "gce_instance" nel campo di ricerca, i risultati mostrano risorsa in base al nome visualizzato, "Istanza VM", e l'insieme di metriche scrivere nella risorsa. Le metriche sono classificate per nome; i due esempi 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:

Grafico Metrics Explorer basato su Builder per la metrica dell'indicatore OTLP importata usando l'API Monitoring.

Il seguente screenshot mostra il risultato dell'esecuzione di query workload.googleapis.com/otlp.test.cumulative metrica:

Grafico Metrics Explorer basato su Builder per la metrica del contatore OTLP importata usando l'API Monitoring.

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: 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.

Il seguente screenshot mostra il risultato dell'esecuzione di query workload.googleapis.com/otlp.test.gauge metrica:

Grafico di Esplora metriche MQL per la metrica dell'indicatore OTLP importata tramite l'API Monitoring.

Il seguente screenshot mostra il risultato dell'esecuzione di query workload.googleapis.com/otlp.test.cumulative metrica:

Grafico MQL Metrics Explorer per la metrica del contatore OTLP importata tramite l'API Monitoring.

PromQL

Quando utilizzi PromQL per eseguire query sui dati delle metriche importati utilizzando API Monitoring, devi mappare il nome della metrica a PromQL le convenzioni dell'IA. 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 Monitoring per le metriche di esempio sono mappate a PromQL come segue:

  • workload_googleapis_com:otlp_test_gauge
  • workload_googleapis_com:otlp_test_cumulative

Se la metrica può essere scritta in base a un solo tipo di risorsa monitorata, Non devi 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. Di conseguenza, PromQL le query relative a queste metriche devono includere un filtro per gce_instance un tipo di risorsa. Per includere il filtro, aggiungi la seguente stringa alla sezione 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 la sezione Esecuzione di query Prometheus.

Le query PromQL banali per le metriche di esempio hanno il seguente aspetto:

  • 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:

Grafico di PromQL Metrics Explorer per la metrica dell'indicatore OTLP importata utilizzando l'API Monitoring.

Il seguente screenshot mostra il risultato dell'esecuzione di query workload.googleapis.com/otlp.test.cumulative metrica:

Grafico di PromQL Metrics Explorer per la metrica del contatore OTLP importata usando l'API Monitoring.

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 addebitabili 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.
  • Utilizzo di metriche nei criteri di avviso e nelle dashboard personalizzate.
  • Percentuale di errori di scrittura delle metriche.

Per visualizzare la pagina Gestione delle metriche, segui questi passaggi:

  1. Nella console Google Cloud, vai alla Pagina Gestione delle metriche:

    Vai a Gestione delle metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Nella barra degli strumenti, seleziona la finestra temporale. Per impostazione predefinita, La pagina Gestione delle metriche mostra informazioni sulle metriche raccolte. nel giorno precedente.

Per saperne di più sulla pagina Gestione delle metriche, consulta Visualizza e gestisci l'utilizzo delle metriche.

Raccolta di tracce OTLP

Se hai configurato Ops Agent per raccogliere le tracce, ma ottieni nessuna traccia in Cloud Trace quando esegui l'applicazione, devi concedere un ruolo aggiuntivo all'account di servizio Compute Engine. utilizzate 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 la necessaria l'autorizzazione Cloud Trace.

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 al servizio consulta la sezione che segue.

Concedi il ruolo di Cloud Trace all'account di servizio

Per un account di servizio, hai 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"

Puoi quindi eseguire il comando gcloud projects get-iam-policy per verificare che la modifica è 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 al progetto, 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:

Un riquadro dei dettagli della traccia mostra una traccia OTLP.

Disattivare il ricevitore OTLP

Se raccogli sia metriche sia tracce OTLP mediante Ops Agent, e vuoi disabilitare la raccolta di metriche o tracce, non entrambi, procedi nel seguente modo:

  1. 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 servizio metrics.
    • Rimuovi la pipeline otlp dal servizio traces.
  2. Riavvia Ops Agent.

Per disabilitare la raccolta di metriche e tracce OTLP da parte di Ops Agent, procedi nel seguente modo:

  1. Rimuovi la configurazione OTLP dal file di configurazione utente:

    • Elimina l'intera sezione combined, che include otlp destinatario.
    • Rimuovi la pipeline otlp dal servizio metrics.
    • Elimina l'intero servizio traces.
  2. Riavvia Ops Agent.

Passaggi successivi

Dopo aver importato le metriche e le tracce dell'applicazione, puoi utilizzare la console Google Cloud per monitorare e analizzare i dati.