L'osservabilità del 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 della 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 riposo. Inoltre, utilizzando questi dati, puoi configurare le istanze di database più recenti in modo da raccogliere il tipo di dati corretto dal momento dell'avvio.
Puoi utilizzare i dati in modo efficace e proattivo per prevenire i problemi e concentrarti sull'innovazione strategica. Una buona raccolta della telemetria è particolarmente utile nel modello DevOps, in cui i professionisti generici dei database devono analizzare in modo indipendente la telemetria per monitorare, valutare e ottimizzare il rendimento e l'integrità delle loro applicazioni in rapida evoluzione.
Google Cloud offre diverse funzionalità efficaci che coprono i quattro stadi di osservabilità iterativi per aiutarti a mantenere l'integrità del tuo database Cloud SQL.
Raccolta automatica della telemetria
Per raggiungere gli obiettivi di osservabilità, iniziamo raccogliendo la telemetria, preferibilmente tramite un processo automatizzato. Se raccolti in un determinato periodo, gli indicatori di telemetria aiutano a stabilire una base di riferimento per le metriche in condizioni di carico diverse.
I servizi Google Cloud 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 risorse Google Cloud che utilizzi. Cloud SQL utilizza agenti personalizzati della memoria integrati per raccogliere la telemetria delle query, con un impatto minore sulle prestazioni ed eliminando la necessità di manutenzione degli agenti o dell'overhead di sicurezza.
Cloud Logging raccoglie i dati di logging da componenti di applicazioni comuni. Per Cloud SQL, consulta anche Visualizzare i log dell'istanza.
Cloud Trace raccoglie i dati di latenza e i piani di query eseguiti dalle applicazioni per aiutarti a monitorare il modo in cui le richieste si propagano all'interno della tua applicazione. Puoi confrontare queste distribuzioni della latenza nel tempo o tra le versioni. Cloud Trace ti avvisa quando rileva un cambiamento significativo nel profilo di latenza della tua applicazione quando è instrumentata per l'utilizzo di Cloud Trace.
Sqlcommenter, una libreria OpenTelemetry per i database, ti aiuta a monitorare i database dal punto di vista di un'applicazione. Sqlcommenter esegue automaticamente l'instrumentazione degli 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 traccia nei database, è facile correlare il codice dell'applicazione con le prestazioni del database e risolvere i problemi relativi alle architetture basate su microservizi.
Monitoraggio del database
Un monitoraggio adeguato 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 problemi relativi all'applicazione e problemi 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 aiutano a monitorare le metriche e a configurare criteri di avviso in modo da ricevere notifiche tempestive.
Ottimizzazione del database
Puoi risolvere i problemi e ottimizzare iterativemente il tuo database.
I recommender di Cloud SQL ti aiutano ad analizzare l'utilizzo corrente del tuo database e a fornire consigli e approfondimenti 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 che sono inutilizzate per errore. |
Motore per suggerimenti istanze con provisioning eccessivo | Riduci i costi ridimensionando le istanze Cloud SQL che sono eccessivamente grandi per un determinato carico di lavoro. |
Motore per suggerimenti istanze sottodimensionate | Evita i colli di bottiglia dovuti a un elevato utilizzo di CPU e memoria e riduci al minimo la probabilità di eventi di esaurimento della memoria modificando le dimensioni delle istanze Cloud SQL con un elevato utilizzo di CPU e/o memoria. |
Passaggi successivi
- Visualizza l'elenco delle metriche 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 consigli di Google Cloud.