Scegliere un approccio di strumentazione

Questa pagina contiene consigli per instrumentare l'app su diverse piattaformeGoogle Cloud , come Google Kubernetes Engine (GKE) e Cloud Run. Se la tua app non è ancora instrumentata, utilizza questi consigli come guida per instrumentare la tua app in modo da inviare dati di telemetria a Google Cloud. I consigli riportati in questa pagina non sono le uniche soluzioni e possono funzionare anche altri approcci. Per ulteriori indicazioni, contatta l'assistenzaGoogle Cloud .

Sono disponibili consigli per:

Per informazioni sugli esempi di strumentazione, consulta i documenti elencati nella sezione Esempi di codice.

GKE

Per informazioni generali su GKE, consulta Panoramica di GKE.

Tipo Consiglio
Metriche

Ti consigliamo di utilizzare Google Cloud Managed Service per Prometheus.

Per la strumentazione, esegui una delle seguenti operazioni:

Tracce

Segui questi passaggi:

  1. Esegui il deployment del raccoglitore OpenTelemetry creato da Google su Google Kubernetes Engine.

    L'agente di raccolta riceve i dati di traccia dall'esportatore OTLP in-process dell'SDK, li elabora e li invia al tuo progetto Google Cloud utilizzando l'API Telemetry (OTLP).

  2. Utilizza l'SDK OpenTelemetry e l'esportatore OTLP per il tuo linguaggio.
Log

Configura la tua app per generare log strutturati in formato JSON in stdout e stderr. Per un elenco dei framework, consulta Framework di logging consigliati.

GKE raccoglie automaticamente i log scritti in stdout e stderr. Per maggiori informazioni, consulta Informazioni sui log di GKE.

Compute Engine

Per informazioni generali su Compute Engine, vedi Istanze di macchine virtuali.

Tipo Consiglio
Metriche e tracce

Segui questi passaggi:

  1. Utilizza l'Ops Agent per raccogliere metriche e tracce.

    Per un esempio, vedi Raccogliere metriche e tracce OpenTelemetry Protocol (OTLP). Questa guida descrive come configurare Ops Agent per ricevere dati di metriche e tracce dagli esportatori OTLP in-process degli SDK, trasformare questi dati e poi inviarli al tuo progetto Google Cloud . I dati delle metriche vengono inviati utilizzando l'API Cloud Monitoring e i dati di traccia vengono inviati utilizzando l'Cloud Trace API.

  2. Utilizza l'SDK OpenTelemetry e l'esportatore OTLP per il tuo linguaggio.

In alternativa, se vuoi configurare la raccolta solo per le metriche in formato Prometheus, utilizza il ricevitore Prometheus di Ops Agent per raccogliere le metriche strumentate utilizzando le librerie client Prometheus o l'SDK OpenTelemetry.

Log

Segui questi passaggi:

  1. Configura l'app in modo che restituisca log strutturati in formato JSON in un file. Per un elenco dei framework, consulta Framework di logging consigliati.
  2. Installa l'Ops Agent e configura un ricevitore. Per un esempio, vedi Ricevitori di logging.

Cloud Run

Per informazioni generali su Cloud Run, vedi Che cos'è Cloud Run.

Tipo Consiglio
Metriche e tracce

Segui questi passaggi:

  1. Utilizza l'SDK OpenTelemetry e l'esportatore OTLP per il tuo linguaggio.
  2. Esegui il deployment di un sidecar OpenTelemetry per raccogliere metriche e tracce.

    Per alcuni esempi, consulta i seguenti documenti:

  3. Per il tuo servizio Cloud Run, utilizza la fatturazione basata sulle istanze. Con la fatturazione basata sulle istanze, la CPU viene allocata per l'intero ciclo di vita dell'istanza, il che è necessario perché la strumentazione OpenTelemetry esegue l'elaborazione in background. Per saperne di più, consulta Impostazioni di fatturazione per i servizi Cloud Run.

In alternativa, se vuoi configurare la raccolta solo per le metriche in formato Prometheus, utilizza il sidecar Prometheus per Cloud Run per raccogliere le metriche instrumentate utilizzando le librerie client Prometheus o l'SDK OpenTelemetry.

Log

Configura la tua app per generare log strutturati in formato JSON in stdout e stderr. Per un elenco dei framework, consulta Framework di logging consigliati.

Cloud Run raccoglie automaticamente i log scritti in stdout e stderr. Per saperne di più, consulta Scrivere i log dei container.

Cloud Run Functions

Per informazioni generali su Cloud Run Functions, consulta la panoramica di Cloud Run Functions.

Tipo Consiglio
Metriche La scrittura diretta delle metriche non è supportata in Cloud Run Functions. Puoi generare metriche basate su log.
Tracce Utilizza l'SDK OpenTelemetry e l'esportatore Cloud Trace per il tuo linguaggio.
Log

Configura la tua app per generare log strutturati in formato JSON in stdout e stderr. Per un elenco dei framework, consulta Framework di logging consigliati.

Le funzioni Cloud Run raccolgono automaticamente i log scritti in stdout e stderr. Per saperne di più, consulta Funzioni Cloud Run: panoramica di monitoraggio e logging.

App Engine

Per informazioni generali su App Engine, vedi Panoramica di App Engine.

Tipo Consiglio
Metriche Utilizza l'SDK OpenTelemetry e l'esportatore Cloud Monitoring per il tuo linguaggio.
Tracce Utilizza l'SDK OpenTelemetry e l'esportatore Cloud Trace per il tuo linguaggio.
Log

Configura la tua app per generare log strutturati in formato JSON in stdout e stderr. Per un elenco dei framework, consulta Framework di logging consigliati.

App Engine raccoglie automaticamente i log scritti in stdout e stderr. Per saperne di più, consulta Scrivere e visualizzare i log.

Framework di logging consigliati

Per raccogliere i log, ti consigliamo di utilizzare un framework che possa essere configurato per generare oggetti JSON serializzati in stdout, stderr o in un file. L'agente di logging, integrato o installato, esegue lo scraping del file e scrive log strutturati per Cloud Logging. Per la scrittura dei dati di log, ti consigliamo quanto segue:

Esempi di codice

Quando instrumenti un'applicazione con le librerie OpenTelemetry, decidi come inviare i dati di telemetria al tuo progetto Google Cloud . Esistono due approcci fondamentali:

  • Strumenti il codice dell'applicazione con l'SDK OpenTelemetry e utilizzi l'esportatore OTLP in-process incluso nell'SDK per inviare dati a un collettore OpenTelemetry. L'agente di raccolta riceve i dati dall'esportatore in corso e li invia al tuo progetto Google Cloud . Le modifiche apportate al codice dell'applicazione sono indipendenti dal fornitore. Il collettore contiene la logica per inviare la telemetria al tuo progetto Google Cloud .

  • Strumenti il codice dell'applicazione con l'SDK OpenTelemetry e utilizzi un esportatore in-process che invia direttamente i dati al tuo progetto Google Cloud . Alcune modifiche apportate alla tua applicazione sono specifiche del fornitore. Tuttavia, non è necessario configurare o implementare un raccoglitore.

Ti consigliamo di utilizzare un raccoglitore OpenTelemetry per esportare i dati di telemetria quando l'ambiente supporta l'utilizzo di un raccoglitore. Per alcuni ambienti, devi utilizzare un esportatore in-process che invia direttamente i dati al tuo progettoGoogle Cloud .

Esempi per l'esportazione basata sul collettore

Per esempi di strumentazione specifici per la lingua, consulta i seguenti documenti:

Se ti interessa sapere come vengono definiti e implementati i raccoglitori, consulta la Panoramica dei campioni.

Esempi per l'esportazione diretta utilizzando gli esportatori in-process

Riferimenti a OpenTelemetry

Questa sezione fornisce link all'SDK OpenTelemetry e agli esportatori per OTLP, Cloud Trace e Cloud Monitoring.

Riferimenti generali:

Vai

Java

JavaScript

Python