Informazioni sull'osservabilità del database

L'osservabilità dei database è una misura della precisione con cui puoi dedurre lo stato interno di un sistema di database in base ai dati, o alla telemetria, che genera in log, metriche e tracce.

La diagnosi e la risoluzione dei problemi in un'applicazione possono essere particolarmente difficili e richiedere molto tempo quando è coinvolto un database. La raccolta di dati di telemetria è di fondamentale importanza. La telemetria, se arricchita con il contesto dell'applicazione, può rendere le istanze di database più comprensibili, osservabili e facili da gestire. Puoi identificare facilmente i problemi e le tendenze problematiche e risolverli in anticipo, senza dover sostenere costosi tempi di inattività. Inoltre, utilizzando questi dati, puoi configurare le istanze di database più recenti in modo che raccolgano il tipo di dati corretto fin dall'inizio.

Puoi utilizzare i dati in modo efficace e proattivo per prevenire i problemi e concentrarti sull'innovazione strategica. Una buona raccolta di dati di telemetria è particolarmente utile nel modello DevOps, in cui i generalisti di database devono analizzare in modo indipendente la telemetria per monitorare, valutare e ottimizzare le prestazioni e l'integrità delle loro applicazioni in rapida evoluzione.

Google Cloud offre diverse funzionalità avanzate che riguardano le quattro fasi iterative di osservabilità per aiutarti a mantenere l'integrità del tuo database Cloud SQL.

Le fasi iterative dell'implementazione dell'osservabilità

Raccolta automatica di dati di telemetria

Per raggiungere gli obiettivi di osservabilità, iniziamo raccogliendo i dati di telemetria, preferibilmente tramite un processo automatizzato. Se raccolti per un periodo di tempo, i dati di telemetria aiutano a stabilire una base di riferimento per le metriche in diverse condizioni di carico.

Google Cloud i servizi generano automaticamente dati di osservabilità, tra cui metriche, log e tracce, che possono contribuire a fornire una panoramica completa dell'osservabilità.

  • Cloud Monitoring raccoglie le misurazioni del tuo servizio e delle Google Cloud risorse che utilizzi. Cloud SQL utilizza agenti personalizzati di memoria integrati per raccogliere i dati di telemetria delle query, con un impatto inferiore sulle prestazioni ed eliminando la necessità di manutenzione degli agenti o di overhead di sicurezza.

  • Cloud Logging raccoglie i dati di logging dai componenti comuni delle applicazioni. Per Cloud SQL, vedi anche Visualizzare i log delle istanze.

  • Cloud Trace raccoglie i dati di latenza e i piani di query eseguiti dalle applicazioni per aiutarti a monitorare la propagazione delle richieste attraverso l'applicazione. Puoi confrontare queste distribuzioni di latenza nel tempo o tra le versioni. Cloud Trace ti avvisa quando rileva una variazione significativa nel profilo di latenza della tua applicazione quando è strumentata per utilizzare Cloud Trace.

Sqlcommenter, una libreria OpenTelemetry per i database, ti aiuta a monitorare i database dal punto di vista di un' applicazione. Sqlcommenter strumenta automaticamente gli ORM per aumentare le istruzioni SQL con i tag e consente di propagare le informazioni sul contesto della traccia OpenTelemetry al database.

Con i tag e il contesto dell'applicazione di traccia nei database, è facile correlare il codice dell'applicazione con le prestazioni del database e risolvere i problemi delle architetture basate su microservizi.

Monitoraggio del database

Un monitoraggio corretto ti aiuta a determinare se la tua applicazione funziona in modo ottimale. Implementa il monitoraggio in anticipo, ad esempio prima di avviare una migrazione o di eseguire il deployment di una nuova applicazione in un ambiente di produzione. Distinguere tra i problemi dell'applicazione e i problemi del cloud sottostanti.

La pagina Panoramica di Cloud SQL mostra i grafici di alcune delle metriche chiave.

Cloud SQL ti aiuta anche a confrontare le metriche per le istanze selezionate.

Puoi utilizzare Cloud Monitoring per creare dashboard personalizzate che ti aiutino a monitorare le metriche e a configurare policy di avviso in modo da ricevere notifiche tempestive.

Ottimizzazione del database

Puoi risolvere i problemi e ottimizzare il database in modo iterativo.

I motori per suggerimenti di Cloud SQL ti aiutano ad analizzare l'utilizzo attuale del database e forniscono suggerimenti e insight basati su metodi euristici e machine learning.

I motori per suggerimenti di Cloud SQL sono descritti brevemente di seguito:

Nome Descrizione
Motore per suggerimenti disco esaurito Riduci il rischio di tempi di inattività che potrebbero essere causati dall'esaurimento dello spazio su disco delle istanze Cloud SQL.
Motore per suggerimenti istanze inattive Riduci i costi arrestando le istanze Cloud SQL inattive inavvertitamente.
Motore per suggerimenti istanze con provisioning eccessivo Riduci i costi ridimensionando le istanze Cloud SQL inutilmente grandi per un determinato carico di lavoro.
Motore per suggerimenti istanze con provisioning insufficiente Evita i colli di bottiglia dovuti a un utilizzo elevato di CPU e memoria utilizzata e riduci al minimo la probabilità di eventi di esaurimento della memoria ridimensionando le istanze Cloud SQL con un utilizzo elevato di CPU e/o memoria utilizzata.

Passaggi successivi