L'osservabilità del database è una misura di quanto accuratamente è possibile 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 telemetria è fondamentale. La telemetria, se arricchita con il contesto dell'applicazione, può rendere le istanze di database più comprensibili, osservabili e più facili da gestire. Puoi identificare facilmente i problemi e le tendenze problematiche e risolverli in anticipo, senza dover causare tempi di inattività costosi. Inoltre, utilizzando questi dati, puoi configurare istanze di database più recenti per raccogliere il tipo giusto di dati dal momento in cui iniziano.
Puoi utilizzare i dati in modo efficace e proattivo per prevenire i problemi e concentrarti sull'innovazione strategica. Una raccolta di dati di telemetria efficaci è particolarmente utile nel modello DevOps, in cui i generalisti dei database devono analizzare in modo indipendente la telemetria per monitorare, valutare e ottimizzare le prestazioni e l'integrità delle applicazioni in rapida evoluzione.
Google Cloud offre diverse potenti funzionalità che comprendono le quattro fasi di osservabilità iterativa per aiutarti a mantenere l'integrità del tuo database Cloud SQL.
Raccolta automatica della telemetria
Per raggiungere gli obiettivi di osservabilità, iniziamo raccogliendo i dati di telemetria, preferibilmente attraverso un processo automatizzato. Quando vengono raccolti in un determinato periodo, la telemetria aiuta a stabilire una base di riferimento per le metriche in diverse condizioni di carico.
I servizi Google Cloud generano automaticamente dati di osservabilità, tra cui metriche, log e tracce, che possono aiutare a fornire una panoramica completa di osservabilità.
Cloud Monitoring raccoglie le misurazioni del servizio e delle risorse Google Cloud che utilizzi. Cloud SQL utilizza agenti personalizzati di memoria integrati per raccogliere la telemetria delle query, il che comporta un impatto inferiore sulle prestazioni ed elimina la necessità di manutenzione degli agenti o overhead di sicurezza.
Cloud Logging raccoglie i dati di logging dai componenti comuni delle applicazioni. Per Cloud SQL, consulta anche Visualizzare i log delle istanze.
Cloud Trace raccoglie i dati di latenza ed esegue piani di query dalle applicazioni per aiutarti a tenere traccia del modo in cui le richieste si propagano nell'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 dell'applicazione, quando è strumentata per l'utilizzo di Cloud Trace.
Sqlcommenter, una libreria OpenTelemetry per i database, consente di monitorare i database attraverso la visuale di un'applicazione. Sqlcommenter implementa automaticamente gli ORM per aumentare le istruzioni SQL con i tag e consente la propagazione nel database delle informazioni sul contesto della traccia OpenTelemetry.
Grazie ai tag e alla traccia del contesto dell'applicazione nei database, è facile correlare il codice dell'applicazione alle prestazioni del database e risolvere i problemi delle architetture basate su microservizi.
Monitoraggio del database
Il corretto monitoraggio consente di determinare se l'applicazione funziona in modo ottimale. Implementa il monitoraggio nelle prime fasi, ad esempio prima di avviare una migrazione o eseguire il deployment di una nuova applicazione in un ambiente di produzione. Disambigua tra problemi delle applicazioni e problemi cloud sottostanti.
La pagina Panoramica di Cloud SQL mostra i grafici per alcune delle metriche chiave.
Cloud SQL consente inoltre di confrontare le metriche delle istanze selezionate.
Puoi utilizzare Cloud Monitoring per creare dashboard personalizzate che ti aiutano a monitorare le metriche e a configurare criteri di avviso in modo da ricevere notifiche tempestive.
Ottimizzazione dei database
Puoi risolvere i problemi e ottimizzare il database in modo iterativo.
I suggerimenti di Cloud SQL consentono di analizzare l'utilizzo attuale del tuo database e forniscono consigli e approfondimenti basati su metodi euristici e machine learning.
I suggerimenti di Cloud SQL sono descritti brevemente come segue:
Nome | Descrizione |
---|---|
Motore per suggerimenti fuori disco | Riduci il rischio di tempi di inattività causati dall'esaurimento dello spazio su disco delle tue istanze Cloud SQL. |
Motore per suggerimenti di istanze inattive | Riduci i costi arrestando le istanze Cloud SQL inavvertitamente inattive. |
Motore per suggerimenti istanza con overprovisioning | Riduci i costi ridimensionando le istanze Cloud SQL che sono 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 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. |
Passaggi successivi
- Visualizza l'elenco delle metriche di Cloud SQL.
- Scopri di più su Cloud Logging e Cloud Monitoring. Vedi anche Visualizzare i log delle istanze.
- Risolvi i problemi e ottimizza l'istanza di database.
- Scopri di più sui motori per suggerimenti di Google Cloud.