Použití protokolu diagnostiky výkonu Intelligent Insights s problémy s výkonem služby Azure SQL Database a Azure SQL Managed Instance
Platí pro: Azure SQL Database Azure SQL Managed Instance
Tato stránka obsahuje informace o tom, jak používat protokol diagnostiky výkonu vygenerovaný službou Intelligent Insights služby Azure SQL Database a problémy s výkonem služby Azure SQL Managed Instance, jeho formát a data, která obsahuje pro potřeby vlastního vývoje. Tento protokol diagnostiky můžete odeslat do protokolů služby Azure Monitor, Azure Event Hubs, Azure Storage nebo řešení třetí strany pro vlastní možnosti upozorňování a vytváření sestav DevOps.
Poznámka:
Inteligentní přehledy jsou funkce Preview, která není dostupná v následujících oblastech: Západní Evropa, Severní Evropa, USA – západ 1 a USA – východ 1.
Hlavička protokolu
Protokol diagnostiky používá standardní formát JSON k výstupu zjištění Intelligent Insights. Přesná vlastnost kategorie pro přístup k protokolu Intelligent Insights je pevná hodnota SQLInsights, která nesouvisí s monitorováním služby Azure SQL Database pomocí služby Azure Monitor SQL Insights (Preview).
Záhlaví protokolu je běžné a skládá se z časového razítka (TimeGenerated), které ukazuje, kdy byla vytvořena položka. Obsahuje také ID prostředku (ResourceId), které odkazuje na konkrétní databázi, se kterou položka souvisí. Kategorie (Kategorie), úroveň (úroveň) a název operace (OperationName) jsou pevné vlastnosti, jejichž hodnoty se nemění. Označují, že položka protokolu je informativní a že pochází z 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 problému a ovlivněná databáze
Vlastnost identifikace problému (issueId_d) poskytuje způsob, jak jedinečně sledovat problémy s výkonem, dokud se nevyřeší. Několik záznamů událostí ve stavu generování sestav protokolu stejného problému bude sdílet stejné ID problému.
Společně s ID problému hlásí protokol diagnostiky časová razítka konkrétní události související s problémem hlášeným v diagnostickém protokolu (intervalStartTime_t) a koncové (intervalEndTme_t).
Vlastnost elastického fondu (elasticPoolName_s) označuje, do kterého elastického fondu databáze s problémem patří. Pokud databáze není součástí elastického fondu, tato vlastnost nemá žádnou hodnotu. Databáze, ve které byl zjištěn problém, je zpřístupněna ve vlastnosti název databáze (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"
Zjištěné problémy
Další část protokolu výkonu Intelligent Insights obsahuje problémy s výkonem, které byly zjištěny prostřednictvím integrované umělé inteligence. Detekce se zveřejňují ve vlastnostech v diagnostickém protokolu JSON. Tyto detekce se skládají z kategorie problému, dopadu problému, ovlivněných dotazů a metrik. Vlastnosti detekce můžou obsahovat několik zjištěných problémů s výkonem.
Zjištěné problémy s výkonem jsou hlášeny s následující strukturou vlastností detekce:
"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)
}]
V následující tabulce jsou uvedeny zjistitelné vzory výkonu a podrobnosti, které se vypíše do diagnostického protokolu.
Kategorie detekce
Vlastnost category (category) popisuje kategorii zjistitelných vzorů výkonu. Všechny možné kategorie zjistitelných vzorů výkonu najdete v následující tabulce. Další informace najdete v tématu Řešení potíží s výkonem databáze pomocí Intelligent Insights.
V závislosti na zjištěném problému s výkonem se podrobnosti vypíše v souboru diagnostického protokolu odpovídajícím způsobem.
Rozpoznatelné vzory výkonu | Výstup podrobností |
---|---|
Dosažení limitů prostředků | |
Zvýšení zatížení | |
Zatížení paměti | |
Uzamčení | |
Zvýšená hodnota MAXDOP | |
Kolize pro stránkování | |
Chybějící index | |
Nový dotaz | |
Neobvyklá statistika čekání | |
tempdb Tvrzení |
|
Nedostatek DTU elastického fondu | |
Regrese plánu | |
Změna hodnoty konfigurace s vymezeným oborem databáze | |
Pomalý klient | |
Downgrade cenové úrovně |
Dopad
Vlastnost impact (impact) popisuje, kolik zjištěného chování přispělo k problému, který má databáze. Dopad se pohybuje od 1 do 3, přičemž 3 je nejvyšší příspěvek, 2 jako střední a 1 jako nejnižší příspěvek. Hodnota dopadu se může použít jako vstup pro vlastní automatizaci upozorňování v závislosti na vašich konkrétních potřebách. Dotazy na vlastnost ovlivněné (QueryHashes) poskytují seznam hodnot hash dotazu, které byly ovlivněny konkrétní detekcí.
Ovlivněné dotazy
Další část protokolu Intelligent Insights obsahuje informace o konkrétních dotazech, které byly ovlivněny zjištěnými problémy s výkonem. Tyto informace jsou zpřístupněny jako pole objektů vložených do vlastnosti impact_s. Vlastnost impact se skládá z entit a metrik. Entity odkazují na konkrétní dotaz (typ: dotaz). Jedinečná hodnota hash dotazu je zpřístupněna pod vlastností value (Value). Za každým z dotazů, které byly zpřístupněny, následuje metrika a hodnota, která indikuje zjištěný problém s výkonem.
V následujícím příkladu protokolu se zjistil dotaz s hodnotou hash 0x9102EXZ4, aby měl zvýšenou dobu trvání provádění (Metric: DurationIncreaseSeconds). Hodnota 110 sekund značí, že spuštění tohoto konkrétního dotazu trvalo 110 sekund déle. Vzhledem k tomu, že lze zjistit více dotazů, může tento konkrétní oddíl protokolu obsahovat více položek dotazu.
"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)
}]
Metriky
Jednotka měření pro každou hlášenou metriku je poskytována ve vlastnosti metriky (metriky) s možnými hodnotami sekund, čísla a procenta. Hodnota měřené metriky je hlášena ve vlastnosti value (value).
DurationIncreaseSeconds vlastnost poskytuje měrnou jednotku v sekundách. Měrná jednotka CriticalErrorCount je číslo, které představuje počet chyb.
"metric" : "DurationIncreaseSeconds", // issue metric type – possible values: DurationIncreaseSeconds, CriticalErrorCount, WaitingSeconds
"value" : 102 // value of the measured metric (in this case seconds)
Doporučení pro analýzu a vylepšení původní příčiny
Poslední část protokolu výkonu Intelligent Insights se týká automatizované analýzy původní příčiny zjištěného problému se snížením výkonu. Informace se zobrazí ve vlastnosti analýzy původní příčiny (rootCauseAnalysis_s) popisné pro člověka. Pokud je to možné, doporučení ke zlepšení jsou zahrnutá v protokolu.
// 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."
Protokol výkonu Intelligent Insights můžete použít s protokoly služby Azure Monitor nebo řešením třetí strany pro vlastní možnosti upozorňování a vytváření sestav DevOps.
Další kroky
- Seznamte se s koncepty Intelligent Insights .
- Zjistěte, jak řešit problémy s výkonem služby Intelligent Insights.
- Zjistěte, jak monitorovat problémy s výkonem pomocí Azure SQL Analytics.
- Zjistěte, jak shromažďovat a využívat data protokolů z prostředků Azure.