Osservabilità in Google Cloud

Google Cloud Observability include servizi di osservabilità che ti aiutano a comprendere il il comportamento, l'integrità e le prestazioni delle tue applicazioni. La visibilità sul comportamento delle applicazioni e sulla connessione dei componenti ti consente di anticipare, identificare e rispondere a cambiamenti imprevisti in modo più rapido ed efficace.

Questo documento include le seguenti informazioni:

Informazioni sull'osservabilità

L'osservabilità è un approccio olistico alla raccolta e all'analisi della telemetria dati per comprendere lo stato dell'ambiente. I dati di telemetria sono metriche, log, tracce e altri dati generati dalle tue applicazioni e che fornisce informazioni sull'integrità dell'applicazione delle prestazioni.

Metriche
Le metriche sono dati numerici relativi allo stato di salute o al rendimento che misuri regolarmente intervalli di tempo nel tempo, come l'utilizzo della CPU e la latenza delle richieste. Inaspettati le modifiche apportate a una metrica potrebbero indicare un problema da analizzare. Nel tempo, puoi anche analizzare i pattern delle metriche per comprendere meglio i pattern di utilizzo e anticipare le esigenze di risorse.
Log

Un log è un record generato dell'attività di un sistema o di un'applicazione nel tempo. Ciascuna log è una raccolta di voci di log con data e ora e ogni voce di log descrive in un determinato momento.

Spesso un log contiene informazioni complete e dettagliate che ti aiutano a capire è successo per una parte specifica dell'applicazione. Tuttavia, i log non forniscono informazioni utili sulla correlazione tra una modifica in un componente della tua applicazione all'attività in un altro componente. Le tracce possono aiutarti a colmare questo divario.

Tracce

Le tracce rappresentano il percorso di una richiesta nelle parti dell'applicazione distribuita. Una metrica o una voce di log in un componente dell'applicazione che ha attivato una notifica di avviso potrebbe essere un sintomo di un problema che ha origine in un altro componente. Le tracce ti consentono di seguire il flusso di una richiesta ed esaminare i dati sulla latenza per aiutarti a identificare la causa principale di un problema.

Altri dati

Puoi ottenere insight aggiuntivi analizzando metriche, log e tracce nel contesto di altri dati. Ad esempio, un'etichetta per la gravità di un avviso o il L'ID cliente associato a una richiesta nei log fornisce un contesto che può essere utile per la risoluzione dei problemi e il debug.

Il monitoraggio, il debug e la risoluzione dei problemi delle applicazioni distribuite possono essere difficili perché sono coinvolti molti sistemi e componenti software, spesso con una combinazione di software open source e commerciale.

Gli strumenti di osservabilità ti aiutano ad affrontare questa complessità raccogliendo significativi e fornire funzionalità per esplorare, analizzare e correlare e i dati di Google Cloud. Un ambiente osservabile ti aiuta a:

  • Rileva in modo proattivo i problemi prima che abbiano impatto sui tuoi utenti
  • Risolvere i problemi noti e quelli nuovi
  • Eseguire il debug delle applicazioni durante lo sviluppo
  • Pianifica e comprendi l'impatto delle modifiche sulle tue applicazioni
  • Esplorare i dati per scoprire nuovi approfondimenti

In breve, un ambiente osservabile ti aiuta a mantenere l'affidabilità. Un'applicazione è affidabile quando soddisfa gli obiettivi attuali per garantire disponibilità e resilienza agli errori.

Per scoprire di più sulle pratiche di affidabilità, inclusi principi e pratiche sull'osservabilità, leggi il libro Site Reliability Engineering: How Google gestisce i sistemi di produzione. Gli argomenti includono:

Google Cloud Observability

I servizi di Google Cloud Observability ti aiutano a raccogliere, analizzare e correlare i dati di telemetria. Forniscono inoltre impostazioni predefinite integrate per aiutarti a ad esempio per le dashboard predefinite e i criteri di avviso.

Cloud Monitoring, Cloud Logging e Cloud Trace sono tra i servizi abilitati per impostazione predefinita quando crei un progetto Google Cloud.

Monitoraggio: utilizza le metriche raccolte per monitorare l'integrità e rendimento, identificare tendenze e problemi e notificare eventuali cambiamenti nel comportamento.

  • Raccogli automaticamente le metriche per la maggior parte dei servizi Google Cloud.
  • Raccogli metriche di sistema e delle applicazioni da applicazioni di terze parti.
  • Visualizza e analizza le metriche con dashboard predefinite o personalizzate.
  • Utilizza il monitoraggio sintetico per testare le prestazioni delle tue applicazioni.
  • Definisci gli obiettivi del livello di servizio (SLO) per monitorare l'affidabilità del servizio.
  • Ricevi avvisi quando si verificano problemi.

Logging: utilizza i log raccolti per eseguire il debug, risolvere i problemi e ottenere insight sulle tue applicazioni.

  • Raccogli automaticamente i log per la maggior parte dei servizi Google Cloud.
  • Raccogli automaticamente gli audit log per la maggior parte di Google Cloud i servizi di machine learning.
  • Raccogliere i log da software di terze parti.
  • Esplora e analizza i log.
  • Utilizza Analisi dei log per eseguire un'analisi nella tua log e altri dati con BigQuery. Ad esempio, puoi utilizzare BigQuery per confrontare gli URL nei log con un set di dati pubblico di URL dannosi noti.
  • Creare metriche dai log.
  • Ricevere avvisi quando un messaggio specificato viene visualizzato in un log.

Error Reporting: visualizza e analizza gli errori dell'esecuzione. cloud:

  • Aggregare gli errori rilevati da Error Reporting nelle voci di log e visualizzare e i log associati.
  • Aggrega gli errori inviati dalle tue applicazioni all'API Error Reporting.

Trace: visualizza e analizza il flusso e la latenza delle richieste di applicazioni durante il debug e la risoluzione dei problemi.

  • Monitora il modo in cui le richieste si propagano nelle tue applicazioni.
  • Raccogli i dati di latenza dalle tue applicazioni e visualizza i grafici dei dati.
  • Visualizza i report sulla latenza che mostrano i cali di rendimento.
  • Ricevi avvisi in caso di modifiche nel profilo di latenza per le tue applicazioni.
  • Annota le tracce con attributi personalizzati.
  • Esporta le tracce in BigQuery per esplorarle con altri dati.

Cloud Profiler: analizza l'utilizzo di CPU e memoria per il tuo per identificare le opportunità di miglioramento delle prestazioni.

  • Raccogli i dati sull'utilizzo della CPU e sull'allocazione della memoria dalle tue applicazioni.
  • Identificare le parti di un'applicazione che consumano più risorse e ottenere insight sulle prestazioni complessive dell'applicazione.

Inizia

Questa sezione descrive i passaggi che puoi seguire per acquisire familiarità con l'osservabilità in Google Cloud.

Prova le guide di avvio rapido

Prova le guide rapide per acquisire familiarità con i servizi disponibili.

Esaminare i dati raccolti automaticamente

La maggior parte dei servizi Google Cloud genera automaticamente metriche e log predefiniti. Ciò significa che puoi iniziare a esaminare alcuni dati di osservabilità per ai servizi Google Cloud senza configurazione aggiuntiva.

  • Alcuni servizi Google Cloud, come Google Kubernetes Engine (GKE), Compute Engine e Cloud SQL, forniscono dashboard predefinite nella console Google Cloud per visualizzare i dati di osservabilità nel contesto del servizio.
  • Compute Engine, GKE e Cloud Run generano metriche di sistema e log per impostazione predefinita e configuri la raccolta di dati e i dati di Google Cloud.
  • le funzioni di Cloud Run e App Engine generano automaticamente metriche, log le tracce audio.

Puoi anche creare un grafico delle metriche raccolte in Esplora metriche, visualizza i log in Esplora log o visualizza le tracce in Trace. Per esaminare insieme i dati correlati, crea dashboard personalizzate. Ad esempio, puoi creare una dashboard che include log, metriche sul rendimento e criteri di avviso per le macchine virtuali.

Configura le VM di Compute Engine per raccogliere dati aggiuntivi

Per impostazione predefinita, le VM di Compute Engine raccolgono solo log e metriche di sistema di base senza Ops Agent

Installa Ops Agent per raccogliere dati di telemetria aggiuntivi (log, metriche e tracce) dalle tue istanze e applicazioni Compute Engine per la risoluzione dei problemi, il monitoraggio delle prestazioni e la generazione di avvisi.

Configura i cluster GKE per raccogliere dati aggiuntivi

Per impostazione predefinita, i cluster GKE inviano log di sistema e metriche di sistema a Logging e Monitoring. Google Cloud Managed Service per Prometheus gestisce la raccolta dei di terze parti e definite dall'utente.

  • Utilizza i pacchetti di metriche di osservabilità per comprendere meglio lo stato delle applicazioni e delle risorse del cluster. Ad esempio, le metriche del piano di controllo sono utili per creare SLO per monitorare la disponibilità e la latenza del servizio.
  • Monitorare applicazioni di terze parti come Postgres, MongoDB, e Redis. Queste integrazioni forniscono dashboard e avvisi preconfigurati criteri.

Configura Cloud Run per raccogliere dati personalizzati

Se hai un servizio Cloud Run che scrive metriche Prometheus, puoi utilizzare il sidecar Prometheus per inviare le metriche a Cloud Monitoring.

Se il tuo servizio Cloud Run scrive metriche OTLP puoi utilizzare un file collaterale OpenTelemetry. Per un esempio, consulta il tutorial per la raccolta delle metriche OTLP utilizzando il sidecar.

Instrumenta le tue applicazioni

La strumentazione è il codice che aggiungi a un'applicazione per emettere dati di telemetria. Esistono diversi framework di strumenti open source che ti consentono di raccogliere metriche, log e tracce dalla tua applicazione e inviare questi dati a qualsiasi fornitore, incluso Google Cloud. Tuttavia, potrebbe non essere necessario instrumentare la tua applicazione. Ad esempio, Cloud Run, le funzioni Cloud Run e App Engine forniscono il monitoraggio automatico.

Per eseguire la strumentazione dell'applicazione, ti consigliamo di utilizzare un framework di strumentazione indipendente dal fornitore open source, come OpenTelemetry, anziché API o librerie client specifiche per il fornitore e il prodotto. Per informazioni sulla strumentazione dell'applicazione, consulta Strumentazione e osservabilità.

Per esempi di codice che illustrano come instrumentare l'applicazione per inviare la telemetria a Google Cloud, consulta quanto segue:

Ti potrebbe interessare anche esplorare i seguenti argomenti: