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. Visibilità su come il comportamento delle applicazioni e il modo in cui i componenti sono connessi per prevedere, identificare e rispondere ai cambiamenti imprevisti in modo più rapido ed efficace.

Questo documento include le seguenti informazioni:

  • Una panoramica dell'osservabilità e del motivo per cui l'osservabilità è importante per mantenere le applicazioni disponibili e affidabili.
  • Scopri come Google Cloud Observability ti aiuta a monitorare e per mantenere l'integrità di applicazioni e infrastrutture.
  • Come iniziare a utilizzare l'osservabilità in Google Cloud

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 è possibile nonché analizzare i pattern delle metriche per comprendere meglio i modelli di utilizzo e anticipare delle risorse necessarie.
Log

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

Spesso un log contiene informazioni dettagliate e complete che 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 tra le parti dei tuoi un'applicazione. Una metrica o una voce di log in un componente dell'applicazione che ha attivato una notifica di avviso può essere il sintomo di un problema che ha origine in un altro di strumento di authoring. Le tracce ti consentono di seguire il flusso di una richiesta ed esaminare i dati di 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 difficile perché sono coinvolti molti sistemi e componenti software, con una combinazione di software open source e commerciali.

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 sia noti che nuovi
  • Debug delle applicazioni durante lo sviluppo
  • Pianifica e comprendi l'impatto delle modifiche sulle tue applicazioni
  • Esplora i dati per scoprire nuovi insight

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 anche 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 alcuni dei 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.
  • Definire 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 da confrontare Gli URL nei tuoi log con un set di dati pubblico di URL dannosi noti.
  • Creare metriche dai log.
  • Ricevi 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 che le tue applicazioni inviano all'API Error Reporting.

Trace: visualizza e analizza il flusso e la latenza richieste di applicazioni durante l'esecuzione del debug e della risoluzione dei problemi.

  • Monitora il modo in cui le richieste si propagano attraverso le tue applicazioni.
  • Raccogli i dati di latenza dalle tue applicazioni e visualizza i grafici dei dati.
  • Visualizza report sulla latenza che mostrano le riduzioni delle prestazioni.
  • 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 rapide

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à 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.
  • Cloud Functions e App Engine generano automaticamente metriche, log e 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 include log, metriche delle prestazioni 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 altri dati di telemetria. (log, metriche e tracce) dalle istanze e dalle applicazioni Compute Engine per la risoluzione dei problemi, il monitoraggio delle prestazioni e gli 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, controllo le metriche del piano sono utili per creare SLO al fine di monitorare la disponibilità dei servizi una latenza di pochi millisecondi.
  • 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 disponi di un servizio Cloud Run che scrive metriche di Prometheus, puoi utilizzare Sidecar di 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, vedi tutorial per la raccolta di metriche OTLP tramite il file collaterale.

Instrumenta le tue applicazioni

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

Per instrumentare la tua applicazione, ti consigliamo di utilizzare una un framework di strumentazione neutrale dal fornitore e open source, come OpenTelemetry, anziché librerie client o API specifiche del fornitore e del prodotto. Per informazioni sulla strumentazione della tua applicazione, vedi Strumentazione e osservabilità.

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

Ti potrebbe interessare anche esplorare i seguenti argomenti: