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. La raccolta della telemetria è di fondamentale importanza. La telemetria, se arricchita con il contesto dell'applicazione, può rendono 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 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.

Le fasi iterative dell'implementazione dell'osservabilità

Raccolta automatizzata della telemetria

Per raggiungere gli obiettivi di osservabilità, iniziamo raccogliendo dati di telemetria, preferibilmente attraverso 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, utili per fornire una panoramica completa dell'osservabilità.

  • Cloud Monitoring raccoglie le misurazioni del tuo servizio e delle risorse Google Cloud che utilizzi. Cloud SQL utilizza gli agenti personalizzati della memoria integrata per raccogliere la telemetria delle query, con conseguente impatto sulle prestazioni e l'eliminazione della necessità di manutenzione dell'agente o di overhead per la sicurezza.

  • Cloud Logging raccoglie i dati di logging da componenti di applicazione più 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 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 tuoi database attraverso la visuale 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 appropriato ti aiuta a determinare se l'applicazione funziona in modo ottimale. Implementa il monitoraggio per tempo, ad esempio prima di avviare una migrazione il deployment di una nuova applicazione in un ambiente di produzione. Distinguere tra problemi relativi all'applicazione e problemi cloud sottostanti.

La dashboard Cloud SQL System Insights considera diversi indicatori importanti relativi all'integrità e alle prestazioni complessive del database.

La dashboard mostra grafici relativi a diverse metriche importanti, di informazioni su problemi quali velocità effettiva, latenza ad accesso meno frequente per ridurre i costi di archiviazione. Questi approfondimenti ti aiutano a rispondere in modo proattivo alle esigenze di cambiamento della tua applicazione. Puoi confrontare il rendimento attuale con le tendenze passate e identificare anomalie che potrebbero richiedere indagini.

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 query e database

Lo strumento Query Insights di Cloud SQL fornisce monitoraggio e diagnostica che consentono di rilevare e risolvere i 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. Integrati, i piani di query visive 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ò essere integrato con gli strumenti 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 OpenTelemetry e rende le metriche di query e traccia i dati disponibili per gli strumenti APM tramite API di 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 iterativamente del database.

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 disco esaurito Riduci il rischio di tempi di inattività causati da Cloud SQL di istanze VM in esaurimento dello spazio su disco.
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.
Motore per suggerimenti sull'utilizzo elevato di ID transazione Ottimizza le prestazioni dell'istanza evitando il potenziale wraparound dell'ID transazione per le istanze Cloud SQL per PostgreSQL.

Passaggi successivi