Usare il log di Insights di diagnostica delle prestazioni di Database SQL di Azure e azure SQL Istanza gestita problemi di prestazioni

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

Questa pagina fornisce informazioni su come usare il log di diagnostica delle prestazioni generato da Intelligent Insights di problemi di prestazioni di database SQL di Azure e Azure SQL Istanza gestita, il relativo formato e i dati contenuti per le esigenze di sviluppo personalizzate. È possibile inviare questo log di diagnostica ai log di Monitoraggio di Azure , Hub eventi di Azure, Archiviazione di Azureo a una soluzione di terze parti per funzionalità di creazione DevOps avvisi e report personalizzati.

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.

Intestazione del log

Il log di diagnostica usa il formato JSON standard per restituire i risultati di Intelligent Insights. L'esatta proprietà relativa alla categoria per accedere al log di Intelligent Insights è un valore fisso "SQLInsights".

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. Categoria (Category), livello (Level) e nome operazione (OperationName) sono proprietà fisse il cui valore non cambia. Indicano che la voce nel log è informativa e che deriva 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à relativa all'identificazione del problema (issueId_d) rappresenta un modo per tenere traccia in modo univoco dei problemi di prestazioni fino a quando non vengono risolti. Più record di eventi nel log che segnalano lo stato dello stesso problema condividono lo stesso ID del problema.

Insieme all'ID del problema, il log di diagnostica segnala i timestamp di inizio (intervalStartTime_t) e di fine (intervalEndTme_t) dell'evento specifico correlato a un problema segnalato nel log di diagnostica.

La proprietà relativa al pool elastico (elasticPoolName_s) indica a quale pool elastico appartiene il database con il 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 specificato nella proprietà relativa al nome del 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 prestazioni rilevati tramite l'intelligenza artificiale integrata. I rilevamenti vengono forniti nelle proprietà all'interno del log 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 struttura della proprietà relativa ai rilevamenti seguente:

"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 proprietà relativa alla categoria (Category) descrive la categoria dei 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 del database SQL di Azure 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 restituiti
Raggiungimento dei limiti delle risorse
  • Risorse interessate
  • Hash di query
  • Percentuale consumo di risorse
  • Aumento del carico di lavoro
  • Numero di query la cui esecuzione è aumentata
  • Hash di query di query con il maggiore contributo all'aumento del carico di lavoro
  • Utilizzo elevato della memoria
  • Clerk di memoria
  • Blocco
  • Hash di query interessati
  • Hash di query di blocco
  • Valore di MAXDOP aumentato
  • Hash di query
  • Tempi di attesa CXP
  • Tempi di attesa
  • Contesa di latch di pagina
  • Hash di query di query che causano contesa
  • Indice mancante
  • Hash di query
  • Nuova query
  • Hash di query di nuove query
  • Statistiche di attesa non comune
  • Tipi di attesa non comune
  • Hash di query
  • Tempi di attesa della query
  • Contesa di TempDB
  • Hash di query di query che causano contesa
  • Attribuzione di query al tempo di attesa complessivo per la contesa di latch di pagina del database [%]
  • Carenza di DTU nel pool elastico
  • Pool elastico
  • Database con uso di DTU maggiore
  • Percentuale di DTU del pool usata dalla risorsa che consuma maggiormente
  • Regressione di piani
  • Hash di query
  • ID di piano appropriato
  • ID di piano non appropriato
  • Modifica del valore di configurazione in ambito database
  • Modifiche di configurazione in ambito database rispetto ai valori predefiniti
  • Client lento
  • Hash di query
  • Tempi di attesa
  • Downgrade del piano tariffario
  • Notifica di testo
  • Impatto

    La proprietà relativa all'impatto (Impact) indica quanto di un comportamento rilevato ha contribuito a generare il problema nel database. Il valore è compreso tra 1 e 3, dove 3 rappresenta il contributo massimo, 2 un contributo moderato e 1 un contributo minimo. Il valore di impatto può essere usato come input per l'automazione degli avvisi personalizzati, a seconda delle esigenze specifiche. La proprietà relativa alle query interessate (QueryHashes) specifica un elenco di hash di query che sono stati interessati dal rilevamento specifico.

    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 presentate come matrice di oggetti incorporati nella proprietà impact_s. La proprietà relativa all'impatto è costituita da entità e metriche. Le entità si riferiscono a una query specifica (Type: Query). L'hash di query univoco viene presentato come valore della 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 è possibile notare che la query con hash 0x9102EXZ4 ha mostrato un aumento della durata di esecuzione (metrica: DurationIncreaseSeconds). Il valore pari a 110 secondi indica che l'esecuzione di questa particolare query 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 indicata nella proprietà relativa alla metrica (metric) con i valori possibili: secondi, numero e percentuale. Il valore di una metrica misurata viene restituito nella proprietà relativa al valore (value).

    La proprietà DurationIncreaseSeconds indica l'unità di misura in secondi. Per CriticalErrorCount l'unità di misura è un numero che rappresenta un conteggio di 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 diciture sono di semplice comprensione e sono presenti tramite la proprietà relativa all'analisi delle cause radice (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 usare il log delle prestazioni Insights intelligent Monitoraggio di Azure con i log di Monitoraggio di Azure o una soluzione di terze parti per funzionalità personalizzate DevOps avvisi e creazione di report.

    Passaggi successivi