Informazioni sull'osservabilità del database

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 dispendiose in termini di tempo quando è coinvolto un database. La raccolta di telemetria è di fondamentale importanza. 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 problemi e tendenze problematiche e correggerli tempestivamente, senza dover incorrere in costosi tempi di inattività. 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 problemi e concentrarti sull'innovazione strategica. Una buona raccolta di telemetria è particolarmente utile nel modello DevOps, in cui i generalisti dei database devono analizzare la telemetria in modo indipendente per monitorare, valutare e ottimizzare le prestazioni e l'integrità delle loro applicazioni in rapida evoluzione.

Google Cloud offre diverse potenti funzionalità che coprono le quattro fasi di osservabilità iterativa, per aiutarti a mantenere l'integrità del tuo database Cloud SQL.

Le fasi iterative dell'implementazione dell'osservabilità

Raccolta automatizzata della telemetria

Per raggiungere gli obiettivi di osservabilità, iniziamo a raccogliere dati di telemetria, preferibilmente attraverso un processo automatizzato. Se raccolti in un periodo, la telemetria aiuta 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 aiutare 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 integrata per raccogliere la telemetria delle query, con un conseguente minore impatto sulle prestazioni ed eliminando la necessità di manutenzione degli agenti o di overhead per la sicurezza.

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

  • Cloud Trace raccoglie 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 le distribuzioni della latenza nel tempo o tra le versioni. Cloud Trace ti avvisa quando rileva una variazione significativa nel profilo di latenza dell'applicazione quando è instrumentata per l'utilizzo di Cloud Trace.

Sqlcommenter, una libreria OpenTelemetry per i database, che consente di monitorare i database attraverso la visuale di un'applicazione. Sqlcommenter strumenta automaticamente gli ORM per aumentare le istruzioni SQL con tag e consente la propagazione al database delle informazioni sul contesto della traccia OpenTelemetry.

Grazie ai tag e all'analisi del contesto dell'applicazione nei database, è facile correlare il codice dell'applicazione alle prestazioni del database e risolvere i problemi relativi alle architetture basate su microservizi.

Monitoraggio del database

Un monitoraggio appropriato ti aiuta a determinare se l'applicazione funziona in modo ottimale. Implementa il monitoraggio in anticipo, ad esempio prima di avviare una migrazione o eseguire il deployment di una nuova applicazione in un ambiente di produzione. Disambiguare tra i problemi delle applicazioni e i problemi cloud sottostanti.

La dashboard degli insight sul sistema di Cloud SQL prende in considerazione diversi indicatori importanti dell'integrità e delle prestazioni complessive del database.

La dashboard mostra i grafici relativi a diverse metriche importanti, che ti consentono di ottenere insight su problemi quali velocità effettiva, latenza e costo. Questi insight ti aiutano a rispondere in modo proattivo man mano che la tua applicazione deve cambiare. Puoi confrontare il rendimento attuale con le tendenze passate e identificare anomalie che potrebbero richiedere un'indagine.

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

Cloud SQL consente anche di confrontare le metriche per le istanze selezionate.

Puoi utilizzare Cloud Monitoring per creare dashboard personalizzate che consentono di monitorare le metriche e per configurare criteri di avviso in modo da ricevere notifiche tempestive.

Analisi di database e query

Lo strumento Query Insights di Cloud SQL fornisce funzionalità di monitoraggio e diagnostica che consentono di rilevare e risolvere problemi di prestazioni delle query.

Le dashboard di Query Insights consentono di identificare tempestivamente i problemi di prestazioni delle query e di passare dal rilevamento alla risoluzione utilizzando un'unica interfaccia. I piani di query visivi integrati aiutano a risolvere i problemi per trovare la causa principale. Puoi anche utilizzare il tracciamento delle applicazioni end-to-end contestualizzato per trovare l'origine di una query problematica.

Query Insights offre un monitoraggio incentrato sulle applicazioni che consente di diagnosticare i problemi di prestazioni delle applicazioni create utilizzando le mappature relazionali di oggetti (ORM). Puoi taggare le query con la logica di business a cui è associata, ad esempio pagamenti, inventario, analisi aziendali o spedizione. Query Insights può integrarsi con gli strumenti di APM esistenti, consentendoti di monitorare e risolvere i problemi relativi alle query utilizzando il tuo strumento preferito.

Lo strumento Query Insights utilizza sqlcommenter per lo strumentazione automatica degli ORM. Questa strumentazione consente di identificare il codice dell'applicazione che causa i problemi. Query Insights supporta gli standard OpenTelemetry e rende disponibili i dati delle metriche e delle tracce di query per i tuoi strumenti APM tramite l'API Google Cloud Observability.

Query Insights si integra con Cloud Monitoring per consentirti di creare dashboard e avvisi personalizzati su metriche o tag delle query e ricevere notifiche tramite email, SMS, Slack, PagerDuty e altro ancora.

Ottimizzazione del database

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

I suggerimenti di Cloud SQL consentono di analizzare l'utilizzo attuale del database e fornire suggerimenti e insight 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 istanze Cloud SQL.
Motore per suggerimenti istanze inattive Riduci i costi arrestando le istanze Cloud SQL che sono inattive inavvertitamente.
Motore per suggerimenti di istanze con overprovisioning Riduci i costi ridimensionando le istanze Cloud SQL che sono inutilmente grandi per un determinato carico di lavoro.
Motore per suggerimenti di istanze con underprovisioning Evita i colli di bottiglia dovuti all'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.
Motore per suggerimenti sull'utilizzo elevato di ID transazione Ottimizza le prestazioni dell'istanza evitando il potenziale wraparound di ID transazione per le istanze Cloud SQL per PostgreSQL.

Passaggi successivi