Questo insieme di documenti descrive il Google-Built OpenTelemetry Collector e spiega come eseguire il deployment del raccoglitore per raccogliere tracce, metriche e log OpenTelemetry Protocol (OTLP) dalle applicazioni strumentate ed esportare questi dati in Google Cloud Observability e altri backend.
Il raccoglitore OpenTelemetry creato da Google è una build open source pronta per la produzione del raccoglitore OpenTelemetry upstream, creata con i componenti del raccoglitore OpenTelemetry upstream. OpenTelemetry, che fa parte della Cloud Native Computing Foundation, fornisce API, librerie e SDK open source per raccogliere tracce distribuite, metriche e log per il monitoraggio delle applicazioni.
Il raccoglitore OpenTelemetry integrato in Google ti consente di inviare tracce, metriche e log OTLP correlati a Google Cloud Observability e ad altri backend da applicazioni strumentate utilizzando gli SDK OpenTelemetry. Collector acquisisce anche i metadati delle risorse, in modo da poter correlare i dati sul rendimento dell'applicazione con i dati di telemetria dell'infrastruttura. Google Cloud L'utilizzo del collettore creato da Google con Google Cloud Observability fornisce informazioni per migliorare le prestazioni delle tue applicazioni e della tua infrastruttura. Per saperne di più sul raccoglitore, consulta la Descrizione del raccoglitore OpenTelemetry creato da Google.
Utilizzare il raccoglitore OpenTelemetry integrato in Google
Puoi utilizzare il raccoglitore creato da Google per raccogliere dati di telemetria dalle tue applicazioni in esecuzione su Kubernetes (incluso Google Kubernetes Engine), Container-Optimized OS o container autonomi. I documenti di questa sezione descrivono come configurare e implementare il raccoglitore creato da Google nei seguenti ambienti:
Se non hai un'applicazione pronta per utilizzare il raccoglitore, puoi implementare la demo di OpenTelemetry con il raccoglitore 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:
- Panoramica della strumentazione
- Scegliere un approccio di strumentazione per l'applicazione
- Generare tracce e metriche con la strumentazione OpenTelemetry
Descrizione del raccoglitore OpenTelemetry integrato in Google
Google-Built OpenTelemetry Collector è creato utilizzando componenti e strumenti OpenTelemetry upstream, mentre viene creato e recuperato interamente dall'infrastruttura di build-test-release di Google (Artifact Registry). Il raccoglitore creato da Google è compatibile con una build di OpenTelemetry Collector dal repository upstream. È anche ospitato come immagine Docker per un deployment flessibile su qualsiasi sistema basato su container, inclusi Kubernetes e GKE.
Il raccoglitore creato da Google fornisce un pacchetto curato da Google con i componenti di cui la maggior parte degli utenti avrà bisogno per un'esperienza di osservabilità avanzata su Google Cloud. Non devi selezionare i componenti e creare manualmente il tuo raccoglitore. Utilizzando 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.
- Instrada 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 automonitoraggio delle best practice, 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 di OpenTelemetry Collector e per lo scaling di Collector. Questa sezione fornisce alcuni consigli aggiuntivi.
Utilizzare l'estensione di controllo di integrità
L'estensione di controllo di integrità abilita un URL HTTP che può essere testato per controllare lo stato di OpenTelemetry Collector. L'utilizzo di questa estensione offre i seguenti vantaggi:
- Rilevamento tempestivo dei problemi: i controlli di integrità facilitano il monitoraggio proattivo dello stato del raccoglitore, consentendo il rilevamento di 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 informazioni preziose sullo stato attuale del raccoglitore. Queste informazioni semplificano la procedura di diagnosi e risoluzione, riducendo i tempi di inattività e ottimizzando gli interventi di risoluzione dei problemi.
- Maggiore affidabilità: il monitoraggio continuo dell'integrità del raccoglitore garantisce un funzionamento coerente e previene guasti imprevisti. Questa misura proattiva migliora l'affidabilità complessiva del sistema di osservabilità e riduce al minimo il rischio di perdita di dati o lacune nei dati di telemetria.
Su Kubernetes e GKE, l'estensione di controllo dell'integrità è 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à.
Su Cloud Run, una singola estensione di controllo di integrità può fungere da endpoint sia per i probe di avvio sia per quelli di attività nella configurazione del servizio Cloud Run.
Utilizzare il batch processor
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, OpenTelemetry Collector riduce significativamente il numero di connessioni in uscita. Questo approccio consolidato riduce l'utilizzo della quota e ha il potenziale per ridurre i costi di rete complessivi.
- Compressione dei dati migliorata: il batching consente una compressione dei dati più efficiente, riducendo le dimensioni complessive dei dati trasmessi.
- Flessibilità nella strategia di batching: il supporto del batching basato sulle dimensioni e sul tempo offre flessibilità per l'ottimizzazione in diversi scenari. Il batch basato sulle dimensioni garantisce che i batch raggiungano una determinata dimensione prima di essere inviati, mentre il batch basato sul tempo invia i batch dopo che è trascorso un intervallo di tempo specifico. Questa flessibilità ti consente di ottimizzare la strategia di batch in modo che sia in linea con le caratteristiche specifiche dei tuoi dati e con i requisiti particolari della tua applicazione.
Utilizzare il fornitore googlesecretmanager
Il provider googlesecretmanager
ti consente di
archiviare le informazioni sensibili necessarie ai file di configurazione in
Secret Manager,
un servizio progettato appositamente 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 raccoglitore, il che impedisce che i secret in testo non crittografato vengano registrati accidentalmente nei log.
Per informazioni sull'utilizzo di questo provider, vedi Gestire i secret nella configurazione del raccoglitore.
Note di rilascio
La versione di OpenTelemetry Collector integrata in Google è sincronizzata con la versione upstream di OpenTelemetry Collector. La versione attuale è v0.129.0; l'immagine Docker corrispondente, archiviata in Artifact Registry, è us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0. Per ogni nuova versione, in questa pagina sono incluse le modifiche più pertinenti per gli utenti di Google Cloud .
0.129.0:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core e OpenTelemetry Collector Contrib versione v0.129.0.
- Avvisi relativi a problemi noti:
- Ricevitore Prometheus: l'autenticazione di base per gli URL ha smesso di funzionare (link al problema);
- Questo problema riguarda le versioni 0.127.0, 0.128.0 e 0.129.0.
- Per risolvere il problema, utilizza la versione 0.126.0 o precedenti.
- Ricevitore Prometheus: l'autenticazione di base per gli URL ha smesso di funzionare (link al problema);
- Repository principale di OpenTelemetry Collector: Note di rilascio (v0.129.0)
- Repository OpenTelemetry Collector Contrib: Note di rilascio (v0.129.0)
0.128.0:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core e OpenTelemetry Collector Contrib versione v0.128.0.
- Repository principale di OpenTelemetry Collector: Note di rilascio (v0.127.0)
- Repository OpenTelemetry Collector Contrib: Note di rilascio (v0.127.0)
0.127.0:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core e OpenTelemetry Collector Contrib versione v0.127.0.
- Repository principale di OpenTelemetry Collector: Note di rilascio (v0.127.0)
- Repository OpenTelemetry Collector Contrib: Note di rilascio (v0.127.0)
0.126.0:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core e OpenTelemetry Collector Contrib versione v0.126.0.
- Sono stati aggiunti nuovi componenti:
- Processori:
metricstarttime
- Fornitori:
googlesecretmanager
. Per informazioni sull'utilizzo di questo provider per eliminare i secret in testo normale nella configurazione di Collector, vedi Gestire i secret nella configurazione di Collector.
- Processori:
- Repository principale di OpenTelemetry Collector:
- Repository OpenTelemetry Collector Contrib:
0.124.1:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core versione v0.124.0 e OpenTelemetry Collector Contrib v0.124.1.
- Sono stati aggiunti nuovi componenti:
- Ricevitori:
dockerstats
,jmx
,redis
,statsd
,syslog
- Processori:
metricsgeneration
- Ricevitori:
- Repository principale di OpenTelemetry Collector:
- Repository OpenTelemetry Collector Contrib:
0.122.1:
- OpenTelemetry Collector creato da Google: aggiornamento a OpenTelemetry Collector Core versione v0.122.1 e OpenTelemetry Collector Contrib v0.122.0.
- Aggiunto nuovo componente:
googleclientauthextension
- Avvisi relativi a problemi noti:
- Se utilizzi l'esportazione OTLP della telemetria automatica del collettore, tieni presente il seguente problema di OpenTelemetry Collector: https://github.com/open-telemetry/opentelemetry-collector/issues/12701
- Repository OpenTelemetry Collector Core: Note di rilascio
- Repository OpenTelemetry Collector Contrib: Note di rilascio
0.121.0:
- Collector OpenTelemetry creato da Google: rilascio iniziale
- Repository OpenTelemetry Collector Core: Note di rilascio
- Repository OpenTelemetry Collector Contrib: Note di rilascio
Supportabilità
Per tutti i problemi lato client di Google-Built OpenTelemetry Collector, incluse richieste di funzionalità, segnalazioni di bug e domande generali, apri un problema nel repository GitHub appropriato. Questi repository sono monitorati da Google e i problemi vengono valutati e risolti al meglio delle possibilità.
Repository di packaging del raccoglitore OpenTelemetry creato da Google, per problemi relativi a quanto segue:
- Imballaggio
- Deployment il giorno Google Cloud
- Autenticazione all'interno di Google Cloud
- Richieste di aggiunta di nuovi componenti OpenTelemetry
Repository OpenTelemetry Collector Contrib, per problemi relativi a quanto segue:
- Componenti OpenTelemetry specifici di Google, ad esempio:
googlecloudexporter
googlemanagedprometheusexporter
googleclientauthextension
resourcedetectionprocessor
- Componenti OpenTelemetry non specifici di Google gestiti dalla community upstream
- Componenti OpenTelemetry specifici di Google, ad esempio:
Per problemi relativi all'utilizzo dei servizi e delle API Google Cloud Observability da parte del raccoglitore OpenTelemetry integrato in Google, come errori del server o quote, contatta l'assistenza clienti cloud.
Prezzi
Non è previsto alcun costo per il deployment e l'utilizzo del raccoglitore OpenTelemetry integrato in Google.
Quando invii dati di telemetria a Google Cloud, la fatturazione viene eseguita in base al volume di importazione. Per informazioni sui costi associati all'importazione di trace, 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 per Google Cloud con il raccoglitore OpenTelemetry integrato in Google.
Questa sezione è facoltativa. Se vuoi integrare il raccoglitore creato da Google nelle tue implementazioni, consulta i seguenti documenti:
- Esegui il deployment del raccoglitore su Google Kubernetes Engine
- Esegui il deployment del raccoglitore su Container-Optimized OS
- Esegui il deployment del raccoglitore su Cloud Run
Prima di iniziare
La demo di OpenTelemetry richiede un cluster Kubernetes con la federazione delle identità dei carichi di lavoro configurata. Per informazioni sulla configurazione della federazione delle identità per i workload per la demo di OpenTelemetry, consulta Prerequisiti di Workload Identity.
Aggiorna la demo per utilizzare Collector creato da Google
Per impostazione predefinita, la demo di OpenTelemetry utilizza OpenTelemetry Collector upstream. Per utilizzare invece il raccoglitore OpenTelemetry integrato in Google, procedi nel seguente modo:
Clona il repository demo di OpenTelemetry:
git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
Vai alla directory
kubernetes
.cd kubernetes
Modifica il file
opentelemetry-demo.yaml
per sostituire la riga dell'immagine di 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:
conus-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0
, in modo che la riga sia simile alla seguente, poi salva il file:image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0"
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
,
emetti il seguente comando:
kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080
A questo punto, puoi utilizzare il browser per connetterti alla demo all'indirizzo localhost:8080
.
Visualizzare la telemetria
La demo di OpenTelemetry invia metriche, tracce e log a Google Cloud utilizzando il raccoglitore OpenTelemetry integrato in Google. Per informazioni sulla telemetria specifica inviata dalla demo, consulta la sezione Visualizzazione della telemetria nella documentazione della demo.
Visualizzare le metriche
Il raccoglitore OpenTelemetry integrato in Google raccoglie le metriche Prometheus che puoi visualizzare utilizzando Esplora metriche. Le metriche raccolte dipendono dall'instrumentazione dell'app, anche se il raccoglitore creato da Google scrive anche alcune metriche proprie.
Per visualizzare le metriche raccolte da Google-Built OpenTelemetry Collector, segui questi passaggi:-
Nella console Google Cloud , vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
- 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:- Nel menu Risorse attive, seleziona Destinazione Prometheus.
- Per selezionare una metrica, utilizza i menu Categorie di metriche attive e Metriche attive.
Le metriche raccolte da OpenTelemetry Collector integrato in Google hanno il
prefisso
prometheus.googleapis.com
. - Fai clic su Applica.
- Configura la modalità di visualizzazione dei dati.
Quando le misurazioni per una metrica sono cumulative, Metrics Explorer normalizza automaticamente i dati misurati in base al periodo di allineamento, il che comporta la visualizzazione di una frequenza nel grafico. Per ulteriori informazioni, consulta Tipi, 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.
Visualizzare le tracce
Per visualizzare i dati di traccia:
-
Nella Google Cloud console, vai alla pagina Esplora tracce:
Puoi trovare questa pagina anche utilizzando la barra di ricerca.
- Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
- Nella sezione della tabella della pagina, seleziona una riga.
Nel grafico di Gantt nel riquadro Dettagli su Trace, seleziona un intervallo.
Si apre un riquadro che mostra informazioni sulla richiesta tracciata. Questi dettagli includono il metodo, il codice di stato, il numero di byte e lo user agent del chiamante.
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 ulteriori informazioni sull'utilizzo di Esplora tracce, consulta Trovare ed esplorare le tracce.
Visualizza i log
Da Esplora log puoi esaminare i log e visualizzare le tracce associate, se esistenti.
-
Nella Google Cloud console, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Individua una voce di log dell'app strumentata. Per visualizzare i dettagli, espandi la voce di log.
Fai clic su
Trace 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 saperne di più sull'utilizzo di Esplora log, consulta Visualizzare i log utilizzando Esplora log.