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 sia difficile e dispendioso in termini di tempo. 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 facili da gestire. Puoi identificare facilmente i problemi e le tendenze problematiche e correggerli tempestivamente, senza dover incorrere in costosi tempi di inattività. Inoltre, utilizzando questi dati, puoi e configurare istanze di database più recenti per raccogliere il tipo giusto di dati nel momento in cui iniziano.

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, dove i database i generalisti devono analizzare in modo indipendente la telemetria per monitorare, valutare ottimizzare le prestazioni 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.

Le fasi iterative di implementazione dell'osservabilità

Raccolta automatica della telemetria

Per raggiungere gli obiettivi di osservabilità, iniziamo raccogliendo la telemetria, preferibilmente tramite un processo automatizzato. Quando vengono raccolte in un determinato 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, utili per fornire una panoramica completa dell'osservabilità.

  • Cloud Monitoring raccoglie le misurazioni del tuo servizio e delle risorse Google Cloud che usi. 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 dell'agente o dell'overhead di sicurezza.

  • Cloud Logging raccoglie i dati di logging da componenti di applicazione più comuni. Per Cloud SQL, vedi anche Visualizza i log dell'istanza.

  • Cloud Trace raccoglie i dati di latenza ed esegue i piani di query delle applicazioni per aiutarti a tenere traccia della propagazione delle richieste la tua applicazione. Puoi confrontare queste distribuzioni della latenza nel tempo o tra le versioni. Cloud Trace ti avvisa quando rileva un una variazione significativa nel profilo di latenza della tua applicazione instrumentati 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 migliorare l'SQL con tag e consente di ottenere informazioni sul contesto della traccia OpenTelemetry propagati al database.

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

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.

Analisi di database e query

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

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

Query Insights fornisce un monitoraggio incentrato sulle applicazioni che ti aiuta a diagnosticare i problemi di prestazioni delle applicazioni create utilizzando mappature oggetto-relazionali (ORM). Puoi taggare le query con la logica di business a cui sono associate, ad esempio pagamento, inventario, analisi aziendale 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 eseguire automaticamente l'instrumentazione degli ORM. Questa strumentazione ti aiuta a identificare il codice dell'applicazione che causa i problemi. Query Insights supporta gli standard OpenTelemetry e rende disponibili le metriche delle query e i dati delle tracce per gli strumenti APM tramite l'API Google Cloud Observability.

Query Insights si integra con Cloud Monitoring, che ti consente 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 tuo database in modo iterativo.

I suggerimenti di Cloud SQL consentono di analizzare l'utilizzo attuale del tuo database e fornire consigli e insight basati su metodi euristici e il 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à 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 e inutilmente grandi per un determinato carico di lavoro.
Motore per suggerimenti istanze sottodimensionate 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 delle istanze Cloud SQL con un utilizzo elevato di CPU e/o memoria.
Suggerimento per numero elevato di tabelle aperte Ottimizza le prestazioni dell'istanza aumentando le dimensioni della cache delle tabelle aperte per le istanze Cloud SQL il cui numero di tabelle aperte è uguale alla cache delle tabelle aperte e continua ad aprire troppe tabelle contemporaneamente.
Motore per suggerimenti per un numero elevato di tabelle Ottimizza le prestazioni dell'istanza riducendo il numero di tabelle per le istanze Cloud SQL il cui numero di tabelle è troppo alto e vicino al limite previsto dallo SLA.

Passaggi successivi