Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Database SQL di Azure
Istanza gestita di SQL di Azure
Questo articolo spiega come usare il log di diagnostica generato da Intelligent Insights per rilevare i problemi di riduzione delle prestazioni del database SQL di Azure e dell’Istanza gestita di SQL di Azure. Ne illustra anche il formato e i dati in esso contenuti per chi ha esigenze di sviluppo personalizzato. Il log di diagnostica può essere inviato al Log di Monitoraggio di Azure, Hub eventi di Azure, Archiviazione di Azure, oppure a una soluzione di terze parti per funzionalità di avvisi e report di DevOps personalizzate.
Nota
Intelligent Insights è una funzionalità di anteprima non disponibile nelle seguenti aree: Europa occidentale, Europa settentrionale, Stati Uniti occidentali 1 e Stati Uniti orientali 1.
Intestazione del log
Il log di diagnostica usa il formato JSON standard per restituire i risultati di Intelligent Insights.
La proprietà di categoria esatta per l'accesso a un log di Intelligent Insights è il valore fisso "SQLInsights", non correlato a SQL Insights, che è stato ritirato.
L'intestazione del log è comune ed è costituita dal timestamp (TimeGenerated
) che indica quando è stata creata una voce. Include anche un ID risorsa (ResourceId
) che fa riferimento al database specifico a cui si riferisce la voce. La categoria (Category
), il livello (Level
) e il nome dell'operazione (OperationName
) sono proprietà fisse i cui valori non cambiano. Indicano che il registro del log è di carattere informativo e che proviene da Intelligent Insights (SQLInsights
).
"TimeGenerated" : "2017-9-25 11:00:00", // time stamp of the log entry
"ResourceId" : "database identifier", // value points to a database resource
"Category": "SQLInsights", // fixed property
"Level" : "Informational", // fixed property
"OperationName" : "Insight", // fixed property
ID del problema e database interessato
La proprietà di identificazione del problema (issueId_d
) consente di tenere traccia in modo univoco dei problemi di prestazioni fino a quando non viene risolto. Più record di eventi nel log che segnalano lo stato dello stesso problema condividono lo stesso ID del problema.
Insieme all'ID problema, il log di diagnostica segnala i timestamp di inizio (intervalStartTime_t
) e fine (intervalEndTme_t
) dell'evento specifico correlato a un problema segnalato nel log di diagnostica.
La proprietà pool elastico (elasticPoolName_s
) indica a quale pool elastico appartiene il database con un problema. Se il database non fa parte di un pool elastico, questa proprietà non include alcun valore. Il database in cui è stato rilevato un problema viene divulgato nella proprietà nome database (databaseName_s
).
"intervalStartTime_t": "2017-9-25 11:00", // start of the issue reported time stamp
"intervalEndTme_t":"2017-9-25 12:00", // end of the issue reported time stamp
"elasticPoolName_s" : "", // resource elastic pool (if applicable)
"databaseName_s" : "db_name", // database name
"issueId_d" : 1525, // unique ID of the issue detected
"status_s" : "Active" // status of the issue – possible values: "Active", "Verifying", and "Complete"
Problemi rilevati
La sezione successiva del log delle prestazioni di Intelligent Insights contiene i problemi di riduzione delle prestazioni rilevati tramite l'intelligenza artificiale integrata. I rilevamenti vengono indicati nelle proprietà all'interno del registro di diagnostica JSON. Questi rilevamenti consistono nella categoria di un problema, l'impatto dei problemi, le query interessate e le metriche. Le proprietà relative ai rilevamenti possono contenere più problemi di prestazioni rilevati.
I problemi di prestazioni rilevati vengono segnalati con la seguente struttura della proprietà di rilevamento:
"detections_s" : [{
"impact" : 1 to 3, // impact of the issue detected, possible values 1-3 (1 low, 2 moderate, 3 high impact)
"category" : "Detectable performance pattern", // performance issue detected, see the table
"details": <Details outputted> // details of an issue (see the table)
}]
Nella tabella seguente vengono descritti i dettagli e i modelli di prestazioni rilevabili restituiti nel log di diagnostica.
Categoria di rilevamento
La category
proprietà descrive la categoria di modelli di prestazioni rilevabili. Vedere la tabella seguente per tutte le possibili categorie di modelli di prestazioni rilevabili. Per altre informazioni, vedere Risolvere i problemi di prestazioni con Intelligent Insights.
I dettagli restituiti nel file del log di diagnostica variano a seconda del problema di prestazioni rilevato.
Modelli di prestazioni rilevabili | Dettagli visualizzati |
---|---|
Raggiungimento dei limiti delle risorse | |
Aumento del carico di lavoro | |
Pressione sulla memoria | |
Blocco | |
Valore di MAXDOP aumentato | |
Contenzione di pagelatch | |
Indice mancante | |
Nuova query | |
Statistiche di attesa non comune | |
tempdb Contesa |
|
Carenza di DTU nel pool elastico | |
Regressione di piani | |
Modifica del valore di configurazione in ambito database | |
Client lento | |
Downgrade del livello tariffario |
Impatto
La impact
proprietà descrive la quantità di comportamento rilevato che ha contribuito al problema riscontrato da un database. Gli impatti variano da 1 a 3, con 3 come il contributo più alto, 2 come moderato, e 1 come il contributo più basso. Il valore di impatto può essere usato come input per l'automazione degli avvisi personalizzati, a seconda delle esigenze specifiche. Le query delle proprietà interessate (QueryHashes
) forniscono un elenco degli hash delle query influenzati da un particolare rilevamento.
Query interessate
La sezione successiva del log di Intelligent Insights include informazioni sulle query specifiche che sono state interessate dai problemi di prestazioni rilevati. Queste informazioni vengono divulgate come matrice di oggetti incorporati nella impact_s
proprietà . La proprietà relativa all'impatto è costituita da entità e metriche. Le entità fanno riferimento a una query specifica (Type: Query
). L'hash univoco della query è riportato sotto la proprietà Value
. Ognuna delle query fornite è inoltre seguita da una metrica e un valore che indica un problema di prestazioni rilevato.
Nell'esempio di log seguente la query con l'hash 0x9102EXZ4
è stata rilevata per avere una durata maggiore dell'esecuzione (Metric: DurationIncreaseSeconds
). Il valore di 110
secondi indica che l'esecuzione di questa query specifica ha richiesto 110 secondi in più. È possibile rilevare più query in quanto questa specifica sezione del log può includere più voci di query.
"impact" : [{
"entity" : {
"Type" : "Query", // type of entity - query
"Value" : "query hash value", // for example "0x9102EXZ4" query hash value },
"Metric" : "DurationIncreaseSeconds", // measured metric and the measurement unit (in this case seconds)
"Value" : 110 // value of the measured metric (in this case seconds)
}]
Metriche
L'unità di misura per ogni metrica segnalata viene fornita nella metric
proprietà con i valori possibili di secondi, numero e percentuale. Il valore di una metrica misurata viene segnalato nella value
proprietà .
La DurationIncreaseSeconds
proprietà fornisce l'unità di misura in secondi. L'unità CriticalErrorCount
di misura è un numero che rappresenta un conteggio degli errori.
"metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
"value" : 102 // value of the measured metric (in this case seconds)
Analisi delle cause radice dei problemi e consigli per migliorare
L'ultima parte del log delle prestazioni di Intelligent Insights riguarda l'analisi automatica delle cause radice del problema di diminuzione delle prestazioni identificato. Le informazioni sono visualizzate in linguaggio comprensibile nella proprietà di analisi delle cause principali (rootCauseAnalysis_s
). I consigli di miglioramento sono inclusi nel log, ove possibile.
// example of reported root cause analysis of the detected performance issue, in a human-readable format
"rootCauseAnalysis_s" : "High data IO caused performance to degrade. It seems that this database is missing some indexes that could help."
È possibile utilizzare il log delle prestazioni di Intelligent Insights con log di Azure Monitor o una soluzione di terze parti per funzionalità personalizzate di avvisi e reportistica DevOps.
Contenuti correlati
- Intelligent Insights per monitorare e risolvere i problemi relativi alle prestazioni del database (anteprima)
- Risolvere i problemi di prestazioni con Intelligent Insights - Database SQL di Azure e Istanza gestita di SQL di Azure
- Monitorare i problemi di prestazioni usando Analisi SQL di Azure
- raccogliere e usare i dati di log dalle risorse di Azure