Panoramica del Collector OpenTelemetry creato da Google

Il Collector OpenTelemetry creato da Google è la build open source di Google del Collector OpenTelemetry, creata da componenti upstream utilizzando una catena di fornitura sicura sull'infrastruttura di Google. OpenTelemetry, che fa parte della Cloud Native Computing Foundation, fornisce API, librerie e SDK open source per raccogliere tracce, metriche e log OpenTelemetry Protocol (OTLP) distribuiti per il monitoraggio delle applicazioni.

Il raccoglitore OpenTelemetry creato da Google ti consente di inviare tracce, metriche e log OTLP correlati a Google Cloud Observability e ad altri backend dalle applicazioni instrumentate utilizzando gli SDK OpenTelemetry. Il Collector acquisisce anche i metadati per le risorse Google Cloud , in modo da poter correlare i dati sul rendimento delle applicazioni con i dati di telemetria dell'infrastruttura. L'utilizzo del Collector creato da Google con Google Cloud Observability fornisce insight per migliorare le prestazioni delle tue applicazioni e della tua infrastruttura. Per saperne di più sul Collector, consulta Descrizione del Collector OpenTelemetry creato da Google.

A partire dalla versione 0.134.0, il Collector OpenTelemetry creato da Google è conforme allo standard Supply-chain Levels for Software Artifacts (SLSA) livello 3. Il codice del raccoglitore e le sue dipendenze vengono continuamente analizzati per rilevare eventuali vulnerabilità. Per saperne di più, consulta Funzionalità di sicurezza.

Utilizza il Collector OpenTelemetry creato da Google

Puoi utilizzare il Collector creato da Google per raccogliere i dati di telemetria dalle tue applicazioni in esecuzione su Kubernetes (tra cui Google Kubernetes Engine (GKE)), Container-Optimized OS, container autonomi o direttamente in un ambiente host (tra cui Compute Engine). I seguenti documenti descrivono come configurare ed eseguire il deployment del Collector creato da Google nei seguenti ambienti:

Queste istruzioni possono essere utilizzate anche per configurare il Collector OpenTelemetry upstream open source per esportare i dati in Google Cloud Observability.

Se non hai un'applicazione pronta per utilizzare il Collector, puoi eseguire il deployment della demo di OpenTelemetry con il Collector creato da Google. Per saperne di più, consulta Prova la demo di OpenTelemetry.

Per informazioni sull'utilizzo della strumentazione OpenTelemetry per generare tracce, metriche e log dalle tue applicazioni, consulta i seguenti documenti:

Descrizione del Collector OpenTelemetry creato da Google

Il Collector OpenTelemetry creato da Google viene creato utilizzando componenti e strumenti OpenTelemetry upstream, ma viene creato e recuperato interamente dall'infrastruttura di build-test-release di Google (Artifact Registry). Il Collector creato da Google è compatibile con una build del Collector OpenTelemetry del repository upstream. È anche ospitato come immagine Docker per un deployment flessibile su qualsiasi sistema basato su container, inclusi Kubernetes e GKE.

Il Collector creato da Google fornisce un pacchetto selezionato da Google con i componenti di cui la maggior parte degli utenti avrà bisogno per un'esperienza di osservabilità completa su Google Cloud. Non è necessario selezionare i componenti e creare manualmente il tuo Collector. Utilizzando il Collector creato da Google, puoi:

  • Raccogli i metadati per le risorse Google Cloud in modo da poter correlare i dati sul rendimento delle applicazioni con i dati di telemetria dell'infrastruttura.
  • Invia i dati di telemetria a Google Cloud Observability o al backend che preferisci utilizzando gli esportatori, inclusi i backend che supportano in modo nativo OpenTelemetry.
  • Semplifica l'onboarding con configurazioni consigliate e best practice di automonitoraggio, inclusi controlli di integrità ed elaborazione batch.
  • Utilizza l'immagine Docker ospitata per un deployment flessibile su qualsiasi sistema basato su container, inclusi Kubernetes e GKE.

Best practice

OpenTelemetry gestisce un elenco di best practice per la configurazione del Collector OpenTelemetry e per la scalabilità del Collector. Questa sezione fornisce alcuni consigli aggiuntivi.

Utilizza l'esportatore gRPC OTLP

Utilizza l'esportatore OTLP gRPC per connetterti all'API Telemetry (OTLP), telemetry.googleapis.com. L'API Telemetry accetta tutti i dati di telemetria (log, metriche e tracce) nel formato OTLP indipendente dal fornitore. L'invio della telemetria all'API Telemetry significa che i dati provenienti dal raccoglitore OpenTelemetry vengono conservati con la massima fedeltà nello spazio di archiviazione Google Cloud .

Utilizza l'estensione per il controllo di integrità

L'estensione health-check abilita un URL HTTP che può essere sottoposto a probe per verificare lo stato del Collector OpenTelemetry. L'utilizzo di questa estensione offre i seguenti vantaggi:

  • Rilevamento tempestivo dei problemi: i controlli di integrità facilitano il monitoraggio proattivo dello stato del Collector, consentendo di rilevare potenziali problemi prima che influiscano negativamente sui dati di telemetria. Questa misura preventiva contribuisce a garantire l'affidabilità della pipeline di osservabilità.
  • Risoluzione dei problemi migliorata: quando si verificano problemi, i controlli di integrità offrono insight preziosi sullo stato attuale del Collector. Queste informazioni semplificano il processo di diagnosi e risoluzione, riducendo i tempi di inattività e semplificando le attività di risoluzione dei problemi.
  • Maggiore affidabilità: il monitoraggio continuo dello stato del Collector garantisce un funzionamento coerente e previene errori imprevisti. Questa misura proattiva migliora l'affidabilità complessiva del sistema di osservabilità e riduce al minimo il rischio di perdita di dati o di lacune nei dati di telemetria.

Su Kubernetes e GKE, l'estensione health-check è compatibile con i probe di attività e idoneità di Kubernetes. Per informazioni sulla configurazione di questi probe, consulta Best practice di Kubernetes: configurazione dei controlli di integrità con probe di attività e idoneità.

In Cloud Run, una singola estensione del controllo di integrità può fungere da endpoint sia per i probe di avvio che per quelli di attività nella configurazione del servizio Cloud Run.

Utilizza il processore batch

Il processore batch raccoglie tracce, metriche o log e li raggruppa in batch per la trasmissione. L'utilizzo del processore batch offre i seguenti vantaggi:

  • Riduce al minimo le connessioni in uscita: raggruppando le trasmissioni di dati in batch, il Collector OpenTelemetry riduce in modo significativo il numero di connessioni in uscita. Questo approccio consolidato riduce l'utilizzo della quota e ha il potenziale di ridurre i costi complessivi della rete.
  • Compressione dei dati migliorata: il raggruppamento in batch consente una compressione dei dati più efficiente, riducendo le dimensioni complessive dei dati trasmessi.
  • Flessibilità nella strategia di raggruppamento: il supporto del raggruppamento basato sia sulle dimensioni sia sul tempo offre la flessibilità necessaria per l'ottimizzazione in base a scenari diversi. Il raggruppamento in batch basato sulle dimensioni garantisce che i batch raggiungano una determinata dimensione prima di essere inviati, mentre il raggruppamento in batch basato sul tempo invia i batch dopo che è trascorso un intervallo di tempo specifico. Questa flessibilità ti consente di perfezionare la strategia di raggruppamento in batch in modo che sia in linea con le caratteristiche specifiche dei tuoi dati e i requisiti particolari della tua applicazione.

Utilizza il provider googlesecretmanager

Il provider googlesecretmanager ti consente di archiviare le informazioni sensibili richieste dai file di configurazione in Secret Manager, un servizio progettato specificamente per archiviare, accedere e gestire in modo sicuro i dati sensibili. L'utilizzo del provider googlesecretmanager offre i seguenti vantaggi:

  • Sicurezza avanzata: i file di configurazione non contengono informazioni sensibili come le password.
  • Rischio di esposizione ridotto: Secret Manager recupera i secret durante l'inizializzazione del Collector, impedendo che i secret in testo non crittografato vengano registrati accidentalmente nei log.

Per informazioni sull'utilizzo di questo provider, consulta Gestisci i secret nella configurazione del Collector.

Note di rilascio

Il Collector OpenTelemetry creato da Google è sincronizzato con il Collector OpenTelemetry upstream. La versione attuale è v0.163.1; l'immagine Docker corrispondente, archiviata in Artifact Registry, è us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.163.1. Per ogni nuova versione, in questa pagina sono incluse le modifiche più pertinenti per gli utenti di Google Cloud .

Funzionalità di sicurezza

A partire dalla versione 0.134.0, il raccoglitore OpenTelemetry creato da Google offre immagini Docker create in base allo standard Supply-chain Levels for Software Artifacts (SLSA) livello 3 e offre le seguenti funzionalità di sicurezza:

  • Build sicura: la pipeline CI/CD per il Collector OpenTelemetry creato da Google genera attestazioni per ogni release di immagine container. Queste attestazioni includono un'attestazione di riepilogo della verifica (VSA), che viene allegata come asset a ogni release su GitHub.

  • Analisi delle vulnerabilità e applicazione di patch: il Collector OpenTelemetry creato da Google viene continuamente analizzato per rilevare eventuali vulnerabilità e ci impegniamo a seguire gli SLO FedRamp per la correzione delle vulnerabilità. Diamo priorità alla sicurezza degli utenti ricostruendo regolarmente il Collector con dipendenze dei pacchetti aggiornate. La nostra pipeline CI/CD è progettata per integrare rapidamente correzioni di sicurezza critiche e aggiornamenti delle dipendenze. Questo impegno riduce al minimo l'esposizione a vulnerabilità note, offrendoti un prodotto costantemente sicuro e aggiornato.

  • Release verificate e sicure: applichiamo norme interne di Google per l'integrità del codice per garantire che solo gli artefatti che soddisfano i nostri rigorosi criteri di sicurezza vengano rilasciati in produzione. Questo processo garantisce che riceverai sempre software che ha superato con successo controlli di sicurezza interni approfonditi.

Supportabilità

Per tutti i problemi lato client del Collector OpenTelemetry creato da Google, incluse le richieste di funzionalità, le segnalazioni di bug e le domande generali, apri un problema nel repository GitHub appropriato. Questi repository sono monitorati da Google e i problemi vengono classificati e risolti secondo il criterio del "best effort".

  • Repository di pacchetti del Collector OpenTelemetry creato da Google, per problemi relativi a quanto segue:

    • Packaging
    • Deployment su Google Cloud
    • Autenticazione entro Google Cloud
    • Richieste di aggiunta di nuovi componenti OpenTelemetry
  • Repository OpenTelemetry Collector Contrib, per problemi relativi a:

    • Componenti OpenTelemetry specifici di Google, ad esempio:
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Componenti OpenTelemetry non specifici di Google gestiti dalla community upstream

Per problemi relativi all'utilizzo dei servizi e delle API di Google Cloud Observability da parte del Collector OpenTelemetry creato da Google, come errori del server o quote, contatta l'assistenza clienti Google Cloud.

Prezzi

Non sono previsti costi per il deployment e l'utilizzo del Collector OpenTelemetry creato da Google.

Quando invii dati di telemetria a Google Cloud, ti viene addebitato il volume di importazione. Per informazioni sui costi associati all'importazione di tracce, log e metriche di Google Cloud Managed Service per Prometheus, consulta Prezzi di Google Cloud Observability.

Prova la demo di OpenTelemetry

Questa sezione descrive come eseguire il deployment e l'esecuzione della demo di OpenTelemetry perGoogle Cloud con il Collector OpenTelemetry creato da Google.

This section is optional. Se vuoi integrare il Collector creato da Google nei tuoi deployment, consulta i seguenti documenti:

Prima di iniziare

La demo di OpenTelemetry richiede un cluster Kubernetes con la federazione delle identità per i workload configurata. Per informazioni sulla configurazione della federazione delle identità per i workload per il tuo cluster, consulta Utilizza la federazione delle identità per i workload per GKE.

Aggiorna la demo per utilizzare il Collector creato da Google

Per impostazione predefinita, la demo di OpenTelemetry utilizza l'OpenTelemetry Collector upstream. Per utilizzare invece il Collector OpenTelemetry creato da Google, segui questi passaggi:

  1. Clona il repository demo di OpenTelemetry:

    git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
    
  2. Vai alla directory kubernetes.

    cd kubernetes
    
  3. Modifica il file opentelemetry-demo.yaml per sostituire la riga relativa all'immagine del Collector da utilizzare. La riga è simile alla seguente, anche se la versione potrebbe essere diversa:

    image: "otel/opentelemetry-collector-contrib:0.108.0"
    

    Sostituisci il valore del campo image: con us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.163.1, in modo che la riga sia simile alla seguente, quindi salva il file:

    image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.163.1"
    

Esegui il deployment della demo

Esegui il deployment della demo applicando il file opentelemetry-demo.yaml aggiornato:

kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml

Connettiti alla demo

Dopo aver applicato la configurazione aggiornata, puoi inoltrare i dati a una porta locale. Ad esempio, per connetterti alla demo all'indirizzo localhost:8080, esegui questo comando:

kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080

Puoi quindi utilizzare il browser per connetterti alla demo all'indirizzo localhost:8080.

Visualizza la telemetria

La demo di OpenTelemetry invia metriche, tracce e log a Google Cloud utilizzando il Collector OpenTelemetry creato da Google. Per informazioni sulla telemetria specifica inviata dalla demo, consulta Visualizzazione della telemetria nella documentazione della demo.

Visualizza le metriche

Il Collector OpenTelemetry creato da Google raccoglie le metriche di Prometheus che puoi visualizzare utilizzando Esplora metriche. Le metriche raccolte dipendono dalla strumentazione dell'app, anche se il Collector creato da Google scrive anche alcune metriche personali.

Per visualizzare le metriche raccolte dal Collector OpenTelemetry creato da Google, segui questi passaggi:
  1. Nella console Google Cloud , vai alla pagina  Esplora metriche:

    Vai a Esplora metriche

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

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo progetto Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Nell'elemento Metrica, espandi il menu Seleziona una metrica, digita Prometheus Target nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona Target Prometheus.
    2. Per selezionare una metrica, utilizza i menu Categorie di metriche attive e Metriche attive. Le metriche raccolte dal Collector OpenTelemetry creato da Google hanno il prefisso prometheus.googleapis.com.
    3. Fai clic su Applica.
  4. Per aggiungere filtri che rimuovono le serie temporali dai risultati della query, utilizza l'elemento Filtro.

  5. Configura la modalità di visualizzazione dei dati.

    Quando le misurazioni di una metrica sono cumulative, Metrics Explorer normalizza automaticamente i dati misurati in base al periodo di allineamento, in modo che il grafico mostri una frequenza. Per saperne di più, consulta Kind, tipi e conversioni.

    Quando vengono misurati valori interi o doppi, ad esempio con le metriche counter, Metrics Explorer somma automaticamente tutte le serie temporali. Per modificare questo comportamento, imposta il primo menu della voce Aggregazione su Nessuna.

    Per ulteriori informazioni sulla configurazione di un grafico, consulta Seleziona le metriche durante l'utilizzo di Esplora metriche.

Visualizza le tracce

Per visualizzare i dati di traccia:

  1. Nella console Google Cloud , vai alla pagina Esplora tracce:

    Vai a Esplora tracce

    Puoi trovare questa pagina anche utilizzando la barra di ricerca.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo progetto Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host o il progetto di gestione di App Hub.
  3. Nella sezione della tabella della pagina, seleziona una riga.
  4. Nel grafico di Gantt nel riquadro Dettagli su Trace, seleziona un intervallo.

    Viene visualizzato un riquadro con le informazioni sulla richiesta tracciata. Questi dettagli includono il metodo, il codice di stato, il numero di byte e lo user agent del chiamante.

  5. Per visualizzare i log associati a questa traccia, seleziona la scheda Log ed eventi.

    La scheda mostra i singoli log. Per visualizzare i dettagli della voce di log, espandila. Puoi anche fare clic su Visualizza log e visualizzare il log utilizzando Esplora log.

Per saperne di più sull'utilizzo di Esplora tracce di Cloud Trace, consulta Trova ed esplora le tracce.

Visualizza i log

Da Esplora log puoi ispezionare i log e visualizzare le tracce associate, se presenti.

  1. Nella console Google Cloud , vai alla pagina Esplora log:

    Vai a Esplora log

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

  2. Individua una voce di log della tua app instrumentata. Per visualizzare i dettagli, espandi la voce di log.

  3. Fai clic su Tracce in una voce di log con un messaggio di traccia, quindi seleziona Visualizza dettagli traccia.

    Si apre un riquadro Dettagli su Trace che mostra la traccia selezionata.

Per ulteriori informazioni sull'utilizzo di Esplora log, vedi Visualizza i log utilizzando Esplora log.