Intelligent Insights l'intelligenza artificiale per monitorare e risolvere i problemi relativi alle prestazioni del database (anteprima)

SI APPLICA A: Database SQL di Azure Istanza gestita di SQL di Azure

Intelligent Insights in database SQL di Azure e Istanza gestita di SQL di Azure consente di sapere cosa accade con le prestazioni del database.

Intelligent Insights usa le funzionalità di intelligence integrata per monitorare in modo continuativo l'utilizzo del database grazie all'intelligenza artificiale e rilevare gli eventi che possono causare interruzioni del funzionamento e una riduzione delle prestazioni. Una volta rilevato, viene eseguita un'analisi dettagliata che genera un log delle risorse Intelligent Insights (denominato SQLInsights) con una valutazione intelligente del problema. Questa valutazione è costituita da un'analisi della causa radice del problema di prestazioni del database e, dove possibile, da raccomandazioni per il miglioramento delle prestazioni.

Vantaggi offerti da Intelligent Insights

Intelligent Insights è una funzionalità unica dell'intelligence integrata di Azure che offre i vantaggi seguenti:

  • Monitoraggio proattivo
  • Analisi delle prestazioni personalizzate
  • Rilevamento tempestivo della riduzione delle prestazioni del database
  • Analisi della causa radice dei problemi rilevati
  • Raccomandazioni per il miglioramento delle prestazioni
  • Capacità di aumentare il numero di istanze in centinaia di migliaia di database
  • Impatto positivo sulle risorse DevOps e sul costo totale di proprietà

Funzionamento di Intelligent Insights

Intelligent Insights analizza le prestazioni del database confrontando il carico di lavoro del database dall'ultima ora con la baseline del carico di lavoro degli ultimi sette giorni. Il carico di lavoro del database è costituito dalle query identificate come maggiormente significative per le prestazioni del database, ad esempio quelle più ripetute e di dimensioni maggiori. Poiché ogni database è univoco in base alla struttura, ai dati, all'utilizzo e all'applicazione, ogni baseline del carico di lavoro generata è specifica e univoca per tale carico di lavoro. Intelligent Insights, indipendentemente dalla baseline del carico di lavoro, consente inoltre di monitorare le soglie operative assolute e di rilevare problemi sulla base di tempi di attesa eccessivi ed eccezioni critiche e problemi con parametrizzazioni delle query che potrebbero influire sulle prestazioni.

Dopo aver rilevato un problema di riduzione delle prestazioni in base a più metriche osservate con l'ausilio dell'intelligenza artificiale, viene eseguita l'analisi. Viene generato un log di diagnostica con un'analisi intelligente della situazione del database. Con Intelligent Insights è semplice tenere traccia del problema di prestazioni del database dalla sua comparsa fino alla risoluzione. Ogni problema individuato viene monitorato per tutto il suo ciclo di vita, dal rilevamento del problema iniziale alla verifica del miglioramento delle prestazioni, fino al suo completamento.

Flusso delle analisi delle prestazioni del database

Le metriche usate per misurare e rilevare i problemi di prestazioni del database si basano su durata delle query, richieste di timeout, tempi di attesa eccessivi e richieste con errori. Per altre informazioni sulle metriche, vedere Metriche di rilevamento.

Le degradazioni delle prestazioni del database identificate vengono registrate nel log di SQLInsights con voci intelligenti costituite da proprietà seguenti:

Proprietà Dettagli
Informazioni sul database Metadati relativi a un database per cui sono state rilevate informazioni, ad esempio URI di risorsa.
Intervallo di tempo osservato Ora di inizio e di fine per il periodo delle informazioni rilevate.
Metriche interessate Metriche che hanno causato la generazione di un'informazione:
  • Aumento della durata di una query [secondi].
  • Attesa eccessiva [secondi].
  • Richieste che hanno raggiunto il timeout [percentuale].
  • Richieste che hanno generato errori [percentuale].
Valore di impatto Valore di una metrica misurata.
Query interessate e codici di errore Codice hash o codice di errore di una query. Possono essere usati per creare facilmente correlazioni alle query interessate. Vengono fornite metriche costituite da aumento della durata di una query, tempo di attesa, numero di timeout o codici di errore.
Rilevamenti Rilevamento identificato nel database nel momento in cui si è verificato un evento. Sono disponibili 15 modelli di rilevamento. Per altre informazioni, vedere Risolvere i problemi di prestazioni del database SQL di Azure con Intelligent Insights.
Analisi della causa radice Analisi della causa radice del problema identificato in un formato umanamente leggibile. Alcune analisi potrebbero contenere raccomandazioni per il miglioramento delle prestazioni, se possibile.

Per una panoramica dell'uso di Intelligent Insights con Analisi SQL di Azure e per scenari di utilizzo tipici, vedere questo video:

Intelligent Insights per individuare e risolvere i problemi di prestazioni del database. Per usare i Intelligent Insights per risolvere i problemi di prestazioni del database, vedere Risolvere i problemi di prestazioni con Intelligent Insights.

Intelligent Insights opzioni

Intelligent Insights disponibili sono:

Intelligent Insights opzione Supporto del database SQL di Azure Supporto per Istanza gestita di database SQL di Azure
Configurare Intelligent Insights: configurare l'Intelligent Insights per i database.
Trasmettere informazioni dettagliate per Analisi SQL di Azure -- Trasmettere informazioni dettagliate Analisi SQL di Azure.
Trasmettere informazioni dettagliate Hub eventi di Azure flusso di informazioni dettagliate ad Hub eventi per altre integrazioni personalizzate.
Informazioni dettagliate di flusso Archiviazione di Azure: trasmettere informazioni dettagliate Archiviazione di Azure per un'ulteriore analisi e un'archiviazione a lungo termine.

Nota

Intelligent Insights è una funzionalità di anteprima, non disponibile nelle aree seguenti: Europa occidentale, Europa settentrionale, Stati Uniti occidentali 1 e Stati Uniti orientali 1.

Configurare l'esportazione del log Intelligent Insights dati

L'output del Intelligent Insights può essere trasmesso in una delle diverse destinazioni per l'analisi:

  • L'output trasmesso in un'area di lavoro Log Analytics può essere usato con Analisi SQL di Azure per visualizzare informazioni dettagliate tramite l'interfaccia utente del portale di Azure. Questa è la soluzione integrata di Azure e il modo più comune per visualizzare informazioni dettagliate.
  • L'output trasmesso in Hub eventi di Azure può essere usato per lo sviluppo di scenari di monitoraggio e avviso personalizzati
  • L'output trasmesso Archiviazione di Azure può essere usato per lo sviluppo di applicazioni personalizzate, ad esempio report personalizzati, archiviazione dei dati a lungo termine e così via.

L'integrazione di prodotti Analisi SQL di Azure, Hub eventi di Azure, Archiviazione di Azure o di terze parti per l'utilizzo viene eseguita abilitando prima la registrazione Intelligent Insights (log "SQLInsights") nel pannello Impostazioni di diagnostica di un database e quindi configurando i dati di log Intelligent Insights da trasmettere Intelligent Insights in una di queste destinazioni.

Per altre informazioni su come abilitare la registrazione Intelligent Insights e configurare i dati delle metriche e dei log delle risorse da trasmettere a un prodotto che consuma, vedere Metriche e registrazione diagnostica.

Configurazione con Analisi SQL di Azure

Analisi SQL di Azure soluzione offre interfaccia utente grafica, funzionalità di creazione di report e avvisi sulle prestazioni del database, usando i dati Intelligent Insights log delle risorse.

Aggiungere Analisi SQL di Azure al dashboard portale di Azure dal marketplace e per creare un'area di lavoro, vedere configurare Analisi SQL di Azure

Per usare Intelligent Insights con Analisi SQL di Azure, configurare i dati di log di Intelligent Insights da trasmettere Analisi SQL di Azure un'area di lavoro creata nel passaggio precedente, vedere Metriche e registrazione diagnostica.

Di seguito è riportato un esempio del report di Intelligent Insights attraverso Analisi SQL di Azure:

Report di Intelligent Insights

Configurare con Hub eventi

Per usare Intelligent Insights con Hub eventi, configurare Intelligent Insights dati di log da trasmettere Intelligent Insights Hub eventi, vedere Metriche e registrazione diagnostica e Trasmettere i log di diagnostica di Azure Intelligent Insights Hub eventi.

Per usare Hub eventi per configurare il monitoraggio e gli avvisi personalizzati, vedere Cosa fare con le metriche e i log di diagnostica in Hub eventi.

Configurare con Archiviazione di Azure

Per usare Intelligent Insights archiviazione, configurare Intelligent Insights dati di log da trasmettere ad Archiviazione, vedere Metriche e registrazione diagnostica e Flusso in Archiviazione di Azure .

Integrazioni personalizzate del log di Intelligent Insights

Per usare Intelligent Insights con strumenti di terze parti o per lo sviluppo di avvisi e monitoraggio personalizzati, vedere Usare il log di diagnostica delle prestazioni Intelligent Insights database.

Metriche di rilevamento

Le metriche usate per i modelli di rilevamento per la generazione di analisi intelligenti si basano sul monitoraggio degli elementi seguenti:

  • Durata delle query
  • Richieste di timeout
  • Tempo di attesa eccessivo
  • Richieste che hanno generato errori

La durata delle query e le richieste di timeout vengono usate come modelli principali per il rilevamento dei problemi di prestazioni del carico di lavoro del database, dal momento che misurano direttamente quello che accade con il carico di lavoro. Per rilevare tutti i casi possibili di riduzione delle prestazioni del carico di lavoro, vengono usati i tempi di attesa eccessivi e le richieste che hanno generato errori come ulteriori modelli per indicare problemi riguardanti le prestazioni del carico di lavoro.

Il sistema prende automaticamente in considerazione le modifiche del carico di lavoro e le modifiche del numero di richieste di query effettuate al database per determinare in modo dinamico le soglie normali e straordinarie per le prestazioni del database.

Tutte le metriche vengono prese in considerazione complessivamente in diverse relazioni tramite un modello di dati derivato scientificamente che categorizza ogni problema di prestazioni rilevato. Le informazioni fornite con un'analisi intelligente includono:

  • Dettagli dei problemi di prestazioni rilevati.
  • Analisi della causa radice dei problemi rilevati.
  • Indicazioni su come migliorare le prestazioni del database monitorato, laddove possibile.

Durata delle query

Il modello di riduzione delle prestazioni basato sulla durata delle query analizza le singole query e rileva l'aumento del tempo necessario per compilare ed eseguire una query rispetto alla baseline delle prestazioni.

Se l'intelligence predefinita rileva un aumento significativo del tempo di compilazione o di esecuzione delle query che influisce sulle prestazioni del carico di lavoro, queste query vengono contrassegnate come problemi di riduzione delle prestazioni della durata delle query.

Il log di diagnostica di Intelligent Insights restituisce il codice hash della query per cui è stata rilevata una riduzione delle prestazioni. L'hash della query indica se la riduzione delle prestazioni è correlata a un aumento del tempo di compilazione o di esecuzione della query e l'aumento della durata della query.

Richieste di timeout

Il modello di riduzione delle prestazioni basato sulle richieste di timeout analizza le singole query e rileva l'aumento dei timeout a livello di esecuzione della query e i timeout delle richieste complessivi a livello di database rispetto al periodo della baseline delle prestazioni.

Alcune delle query potrebbero raggiungere il timeout anche prima di raggiungere la fase di esecuzione. Tramite il confronto tra i thread di lavoro interrotti e le richieste effettuate, le funzionalità di intelligence incorporate misurano e analizzano tutte le query che hanno raggiunto il database indipendentemente dal fatto che siano arrivate o meno alla fase di esecuzione.

Dopo che il numero di timeout per le query eseguite o il numero di processi di lavoro interrotti è aumentato fino a superare la soglia gestita dal sistema, un log di diagnostica viene popolato con analisi intelligenti.

Le informazioni generate contengono il numero di richieste che hanno raggiunto il timeout e il numero di query che hanno raggiunto il timeout. Viene fornita l'indicazione se la riduzione delle prestazioni è correlata all'aumento del timeout in fase di esecuzione o a livello complessivo di database. Quando l'aumento dei timeout viene considerato significativo per le prestazioni del database, queste query sono contrassegnate con l'indicazione di un problema di riduzione delle prestazioni basato sul timeout.

Tempi di attesa eccessivi

Il modello basato sui tempi di attesa eccessivi monitora le singole query di database e rileva le statistiche di attesa delle query insolitamente elevate che superano le soglie assolute gestite dal sistema. Le metriche dei tempi di attesa eccessive delle query seguenti vengono osservate usando, Query Store statistiche di attesa (sys.query_store_wait_stats):

  • Raggiungimento dei limiti delle risorse
  • Raggiungimento dei limiti delle risorse del pool elastico
  • Numero eccessivo di thread di sessioni o di processi di lavoro
  • Blocco eccessivo del database
  • Utilizzo elevato di memoria
  • Altre statistiche di attesa

Il raggiungimento dei limiti delle risorse o dei limiti delle risorse del pool elastico indica che il consumo di risorse disponibili in una sottoscrizione o nel pool elastico ha superato le soglie assolute, indicando una riduzione delle prestazioni del carico di lavoro. Un numero eccessivo di thread di sessioni o di processi di lavoro indica una condizione in cui il numero di thread di processi di lavoro o di sessioni avviate ha superato le soglie assolute, indicando una riduzione delle prestazioni del carico di lavoro.

Un blocco eccessivo del database indica una condizione in cui il numero di blocchi in un database ha superato una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro. Un uso elevato della memoria è una condizione in cui il numero di thread che richiedono concessioni di memoria ha superato una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro.

Il rilevamento di altre statistiche di attesa indica una condizione in cui le diverse metriche misurate tramite le statistiche di attesa di Query Store superano una soglia assoluta, indicando una riduzione delle prestazioni del carico di lavoro.

Dopo che sono stati rilevati tempi di attesa eccessivi, il log di diagnostica di Intelligent Insights restituisce, a seconda dei dati disponibili, i codici hash delle query responsabili e interessate dalla riduzione delle prestazioni, i dettagli delle metriche che comportano l'attesa delle query in esecuzione e i tempi di attesa misurati.

Richieste con errori

Il modello di riduzione delle prestazioni basato sulle richieste con errori monitora le singole query e rileva un aumento del numero di query che hanno generato errori rispetto al periodo della baseline. Questo modello monitora anche le eccezioni critiche che superano le soglie assolute gestite dall'intelligence incorporata. Il sistema prende automaticamente in considerazione il numero di richieste di query effettuate nel database e tutte le modifiche del carico di lavoro nel periodo monitorato.

Quando l'aumento misurato nelle richieste con errori in relazione al numero complessivo delle richieste effettuate viene considerato significativo per le prestazioni del carico di lavoro, le query interessate sono contrassegnate con l'indicazione di un problema di riduzione delle prestazioni basato sulle richieste con errori.

Il log di Intelligent Insights restituisce il numero di richieste con errori. Indica se la riduzione delle prestazioni è correlata all'aumento delle richieste con errori o al raggiungimento di una delle soglie di eccezioni critiche monitorate e il tempo misurato della riduzione delle prestazioni.

Nel caso in cui una delle eccezioni critiche monitorate superi le soglie assolute gestite dal sistema, viene generata un'analisi intelligente con informazioni dettagliate sull'eccezione critica.

Passaggi successivi