Questo insieme di documenti descrive il collezionista OpenTelemetry creato da Google e illustra come eseguire il deployment del Collector per raccogliere tracce, metriche e log del protocollo OpenTelemetry (OTLP) dalle applicazioni strumentate ed esportare questi dati in Google Cloud Observability e in altri backend.
OpenTelemetry Collector creato da Google è una build open source pronta per la produzione del OpenTelemetry Collector di upstream, creata con i componenti di OpenTelemetry Collector di upstream. OpenTelemetry, che fa parte della Cloud Native Computing Foundation, fornisce API, librerie e SDK open source per raccogliere tracce, metriche e log distribuiti per il monitoraggio delle applicazioni.
OpenTelemetry Collector, creato da Google, ti consente di inviare tracce, metriche e log OTLP correlati a Google Cloud Observability e ad altri backend dalle applicazioni strumentate utilizzando gli SDK OpenTelemetry. Il Collector acquisisce anche i metadati delle Google Cloud risorse, in modo da poter correlare i dati sul rendimento delle applicazioni con i dati di telemetria dell'infrastruttura. L'utilizzo di Collector, creato da Google, con l'osservabilità di Google Cloud fornisce approfondimenti per migliorare le prestazioni delle applicazioni e dell'infrastruttura. Per ulteriori informazioni sul Collector, consulta la descrizione del Collector OpenTelemetry creato da Google.
Utilizzare il raccoglitore OpenTelemetry creato da Google
Puoi utilizzare il Collector creato da Google per raccogliere i dati di telemetria dalle tue applicazioni in esecuzione su Kubernetes (incluso Google Kubernetes Engine), Container-Optimized OS o container autonomi. I documenti in questa sezione descrivono come configurare e implementare il Collector creato da Google nei seguenti ambienti:
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 maggiori informazioni, consulta Provare la demo di OpenTelemetry.
Per informazioni sull'utilizzo della misurazione OpenTelemetry per generare tracce, metriche e log dalle applicazioni, consulta i seguenti documenti:
- Panoramica della misurazione
- Scegliere un approccio di misurazione per l'applicazione
- Generare tracce e metriche con l'instrumentazione OpenTelemetry
Descrizione del Collector OpenTelemetry creato da Google
OpenTelemetry Collector creato da Google viene creato utilizzando componenti e strumenti OpenTelemetry a monte, mentre viene creato e recuperato interamente dall'infrastruttura di build-test-release di Google (Artifact Registry). Il Collector creato da Google è compatibile con una compilazione di OpenTelemetry Collector dal repository a monte. È inoltre ospitata come immagine Docker per il deployment flessibile su qualsiasi sistema basato su container, inclusi Kubernetes e GKE.
Collector, creato da Google, fornisce un pacchetto selezionato da Google con i componenti di cui la maggior parte degli utenti ha bisogno per un'esperienza di osservabilità completa su Google Cloud. Non devi selezionare i componenti e creare manualmente il tuo Collector. Utilizzando il Collector creato da Google, puoi:
- Raccogli i metadati per le Google Cloud risorse 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 nativamente OpenTelemetry.
- Semplifica l'onboarding con le configurazioni consigliate e il monitoraggio autonomo delle best practice, inclusi i controlli di integrità e l'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 il ridimensionamento del Collector. Questa sezione fornisce alcuni consigli aggiuntivi.
Utilizzare l'estensione di controllo di integrità
L'estensione di controllo dell'integrità abilita un URL HTTP che può essere sottoposto a sonda per controllare lo stato del Collector OpenTelemetry. L'utilizzo di questa estensione offre i seguenti vantaggi:
- Rilevamento precoce dei problemi: i controlli di salute facilitano il monitoraggio proattivo dello stato del Collector, consentendo il rilevamento di potenziali problemi prima che questi influiscano negativamente sui dati di telemetria. Questa misura preventiva contribuisce a garantire l'affidabilità della pipeline di osservabilità.
- Miglioramento della risoluzione dei problemi: in caso di problemi, i controlli di integrità offrono informazioni preziose sullo stato corrente del Collector. Queste informazioni semplificano la procedura di diagnosi e risoluzione, riducendo i tempi di inattività e semplificando le operazioni di risoluzione dei problemi.
- Maggiore affidabilità: il monitoraggio continuo dell'integrità del Collector garantisce un funzionamento coerente e impedisce 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 di integrità è compatibile con i probe di attività e di idoneità 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 controlli di avvio sia per quelli di attività nella configurazione del servizio Cloud Run.
Utilizzare 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:
- Riduci al minimo le connessioni in uscita: raggruppando le trasmissioni di dati in batch, OpenTelemetry Collector riduce notevolmente il numero di connessioni in uscita. Questo approccio consolidato riduce l'utilizzo della quota e ha il potenziale per ridurre i costi complessivi della rete.
- Maggiore compressione dei dati: il batching consente una compressione più efficiente dei dati, riducendo le dimensioni complessive dei dati trasmessi.
- Flessibilità nella strategia di raggruppamento: il supporto del raggruppamento in base alle dimensioni e al tempo offre la flessibilità necessaria per ottimizzare in base a diversi scenari. Il raggruppamento in base alle dimensioni garantisce che i batch raggiungano una determinata dimensione prima di essere inviati, mentre il raggruppamento in base al tempo invia i batch dopo un intervallo di tempo specifico. Questa flessibilità ti consente di perfezionare la strategia di raggruppamento in base alle caratteristiche specifiche dei tuoi dati e ai requisiti particolari della tua applicazione.
Note di rilascio
La versione di OpenTelemetry Collector creata da Google è sincronizzata con quella di OpenTelemetry Collector a monte. La versione corrente è v0.122.1; l'immagine Docker corrispondente, archiviata in Artifact Registry, è us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.122.1. Per ogni nuova versione, le modifiche più pertinenti per gli Google Cloud utenti sono incluse in questa pagina.
0.122.1:
- OpenTelemetry Collector creato da Google: aggiornamento alla versione OpenTelemetry Collector Core 0.122.1 e OpenTelemetry Collector Contrib 0.122.0.
- È stato aggiunto un nuovo componente:
googleclientauthextension
- Avvisi relativi a problemi noti:
- Se utilizzi l'esportazione OTLP della telemetria autonoma del raccoglitore, tieni presente il seguente problema: 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:
- OpenTelemetry Collector creato da Google: versione iniziale
- Repository OpenTelemetry Collector Core: Note di rilascio
- Repository OpenTelemetry Collector Contrib: Note di rilascio
Supportabilità
Per tutti i problemi lato client di OpenTelemetry Collector sviluppati da Google, tra cui 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 sottoposti a triage e risolti secondo il criterio del massimo impegno.
Repository di pacchetti di OpenTelemetry Collector creato da Google per problemi relativi a quanto segue:
- Imballaggio
- Deployment su Google Cloud
- Autenticazione all'interno di Google Cloud
- Richieste di aggiunta di nuovi componenti OpenTelemetry
Repository Contrib del raccoglitore OpenTelemetry 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 di Google Cloud Observability da parte di OpenTelemetry Collector creato da Google, come errori del server o quote, contatta il team di assistenza clienti di Cloud.
Prezzi
Non sono previsti costi per il deployment e l'utilizzo del Collector OpenTelemetry creato da Google.
Quando invii i 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 ed eseguire la demo di OpenTelemetry per Google Cloud con il Collector OpenTelemetry creato da Google.
Questa sezione è facoltativa. Se vuoi integrare Collector sviluppato da Google nei tuoi implementazioni, consulta i seguenti documenti:
- Esegui il deployment del Collector su Google Kubernetes Engine
- Esegui il deployment del Collector su Container-Optimized OS
- Esegui il deployment del Collector 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 di Workload Identity 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 a monte. Per utilizzare il Collector OpenTelemetry creato da 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 da utilizzare per l'immagine del collezionista. La riga è simile a quanto segue, 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.122.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.122.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 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
.
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 Visualizzare la telemetria nella documentazione della demo.
Visualizzare le metriche
OpenTelemetry Collector, creato da Google, raccoglie le metriche di Prometheus che puoi visualizzare utilizzando Metrics Explorer. Le metriche raccolte dipendono dalla misurazione dell'app, anche se il Collector creato da Google scrive anche alcune metriche proprie.
Per visualizzare le metriche raccolte dal Collector OpenTelemetry creato da Google, 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 progetto Google Cloud. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella abilitata per le 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 creato da Google hanno il prefisso
prometheus.googleapis.com
. - Fai clic su Applica.
- Configura la 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 percentuale. Per maggiori informazioni, consulta Tipi, conversioni e tipi.
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 Selezionare le metriche durante l'utilizzo di Metrics Explorer.
Visualizzare le tracce
Per visualizzare i dati di traccia:
-
Nella console Google Cloud, 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 progetto Google Cloud. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella abilitata per le app.
- Nella sezione della tabella della pagina, seleziona una riga.
Nel grafico di Gantt nel riquadro Dettagli su Trace, seleziona un intervallo.
Viene visualizzato un riquadro che mostra le informazioni sulla richiesta tracciata. Questi dettagli includono il metodo, il codice di stato, il numero di byte e l'agente utente 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 di Cloud, consulta Trovare ed esplorare le tracce.
Visualizza i log
In Esplora log puoi ispezionare i log e anche visualizzare le tracce associate, se esistono.
-
Nella console Google Cloud, 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 della tua app sottoposta a strumenti. Per visualizzare i dettagli, espandi la voce di log.
Fai clic su
Tracce in una voce di log con un messaggio di traccia e poi seleziona Visualizza dettagli traccia.
Si apre un riquadro Dettagli su Trace che mostra la traccia selezionata.
Per ulteriori informazioni sull'utilizzo di Esplora log, consulta Visualizza i log utilizzando Esplora log.