Dela via


Övervaka Azure SQL Database med Azure Monitor

Gäller för:Azure SQL Database

När du har kritiska appar och affärsprocesser som använder Azure-resurser är det bra att övervaka resursernas tillgänglighet, prestanda och drift.

I den här artikeln beskrivs övervakningsdata som genereras av Azure SQL Database. Azure SQL Database kan övervakas av Azure Monitor. Om du inte känner till funktionerna i Azure Monitor som är gemensamma för alla Azure-tjänster som använder den läser du Övervaka Azure-resurser med Azure Monitor.

Viktigt!

En uppsättning rekommenderade aviseringsregler finns i Övervaka Azure SQL Database med Azure Monitor-mått och aviseringar.

Övervaka översiktssidan i Azure-portalen

Visa dina Azure Monitor-mått för alla anslutna resurser genom att gå till sidan Azure Monitor direkt i Azure-portalen. På sidan Översikt i en databas väljer du Mått under rubriken Övervakning för att nå Azure Monitor.

Azure Monitor SQL Insights (förhandsversion)

Vissa tjänster i Azure har en fokuserad, fördefinierad övervakningsinstrumentpanel i Azure-portalen som kan aktiveras för att tillhandahålla en startpunkt för övervakning av din tjänst. Dessa särskilda instrumentpaneler kallas "insikter" och är inte aktiverade som standard. Mer information om hur du använder Azure Monitor SQL Insights för alla produkter i Azure SQL-serien finns i Övervaka dina SQL-distributioner med SQL Insights (förhandsversion).

När du har skapat en övervakningsprofil kan du konfigurera dina Azure Monitor SQL Insights för SQL-specifika mått för Azure SQL Database, Azure SQL Managed Instance och SQL Server på virtuella Azure-datorer.

Kommentar

Azure SQL Analytics (förhandsversion) är en integrering med Azure Monitor, där många övervakningslösningar inte längre är i aktiv utveckling. Fler övervakningsalternativ finns i Övervakning och prestandajustering i Azure SQL Database och Azure SQL Managed Instance.

Övervaka data

Azure SQL Database samlar in samma typer av övervakningsdata som andra Azure-resurser som beskrivs i Övervaka data från Azure-resurser.

Se Övervaka Azure SQL Database med Azure Monitor-referens för detaljerad information om mått och loggmått som skapats av Azure SQL Database.

Samling och routning

Plattformsmått och aktivitetsloggen samlas in och lagras automatiskt, men kan skickas till andra platser med hjälp av en diagnostikinställning.

Resursloggar samlas inte in och lagras förrän du skapar en diagnostikinställning och skickar dem till en eller flera platser. Resursloggar kallades tidigare diagnostikloggar.

Tillgängliga diagnostikinställningar är:

  • log: SQLInsights, AutomaticTuning, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics, Errors, DatabaseWaitStatistics, Timeouts, Blocks, Deadlocks
  • mått: Alla Azure Monitor-mått i kategorierna Basic och InstanceAndAppAdvanced
  • målinformation: Skicka till Log Analytics-arbetsytan, Arkivera till ett lagringskonto, Strömma till en händelsehubb, Skicka till partnerlösning

Mer information om tillgängliga resursloggar och diagnostik finns i Diagnostiktelemetri för export.

Se Skapa diagnostikinställning för att samla in plattformsloggar och mått i Azure för detaljerad information om hur du skapar en diagnostikinställning med hjälp av Azure-portalen, CLI eller PowerShell. När du skapar en diagnostikinställning anger du vilka kategorier av loggar som ska samlas in. Kategorierna för Azure SQL Database visas i referensen för Azure SQL Database-övervakningsdata.

Loggar grupperas i kategorigrupper. Kategorigrupper är en samling olika loggar som hjälper dig att uppnå olika övervakningsmål. Dessa grupper definieras dynamiskt och kan ändras med tiden när nya resursloggar blir tillgängliga och läggs till i kategorigruppen. Detta kan medföra ytterligare avgifter. Med kategorigruppen granskningsresurslogg kan du välja de resursloggar som krävs för att granska resursen. Mer information finns i Diagnostikinställningar i Azure Monitor: Resursloggar.

Analysera mått

Du kan analysera mått för Azure SQL Database tillsammans med mått från andra Azure-tjänster med hjälp av måttutforskaren genom att öppna Mått från monitormenyn i Azure-portalen. Se Komma igång med Azure Metrics Explorer för mer information om hur du använder verktyget.

Vanliga konfigurationer av aviseringsregler för Azure SQL Database finns i Rekommenderade aviseringsregler. En lista över de plattformsmått som samlats in för Azure SQL Database finns i Övervaka referensmått för Azure SQL Database-data.

Som referens kan du se en lista över alla resursmått som stöds i Azure Monitor.

Analysloggar

Data i Azure Monitor-loggar lagras i tabeller där varje tabell har en egen uppsättning unika egenskaper. Dessa data samlas eventuellt in via diagnostikinställningar.

Alla resursloggar i Azure Monitor har samma fält följt av tjänstspecifika fält. Det vanliga schemat beskrivs i Azure Monitor-resursloggschemat.

Aktivitetsloggen är en typ av plattformslogg i Azure som ger insikter om händelser på prenumerationsnivå. Du kan visa den separat eller dirigera den till Azure Monitor-loggar, där du kan göra mycket mer komplexa frågor med Log Analytics.

En lista över de typer av resursloggar som samlats in för Azure SQL Database finns i Resursloggar för Azure SQL Database.

En lista över de tabeller som används av Azure Monitor-loggar och som kan frågas av Log Analytics finns i Azure Monitor Logs-tabeller för Azure SQL Database.

Exempel på Kusto-frågor

Viktigt!

Om du väljer Loggar på övervakningsmenyn i en databas öppnas Log Analytics med frågeomfånget inställt på den aktuella databasen. Det innebär att loggfrågor endast innehåller data från den resursen. Om du vill köra en fråga som innehåller data från andra databaser eller data från andra Azure-tjänster väljer du LoggarAzure Monitor-menyn . Mer information finns i Log query scope and time range in Azure Monitor Log Analytics (Loggfrågeomfång och tidsintervall i Azure Monitor Log Analytics ).

Kommentar

Ibland kan det ta upp till 15 minuter mellan när en händelse genereras och när den visas på en Log Analytics-arbetsyta.

Använd följande frågor för att övervaka databasen. Du kan se olika alternativ som är tillgängliga beroende på din inköpsmodell.

Exempel A: Log_write_percent från den senaste timmen

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

Exempel B: SQL Server-väntetyper från de senaste 15 minuterna

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s

Exempel C: SQL Server-dödlägen från de senaste 60 minuterna

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

Exempel D: Genomsnittlig CPU-användning från den senaste timmen

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName

Aviseringar

Med Azure Monitor-aviseringar meddelas du proaktivt när viktiga tillstånd hittas i dina övervakningsdata. Dessa mått i Azure Monitor samlas alltid in. De gör att du kan identifiera och åtgärda problem i dina databaser eller elastiska pooler innan dina kunder märker dem. Du kan ange aviseringar för mått, loggar och aktivitetsloggen.

Om du skapar eller kör ett program i Azure kan Azure Monitor Application Insights erbjuda ytterligare typer av aviseringar.

Du kan också konfigurera aviseringar med Azure CLI eller PowerShell. Se till exempel Använda PowerShell för att övervaka och skala en enskild databas i Azure SQL Database.

I följande tabell visas vanliga och rekommenderade aviseringsregler för Azure SQL Database. Du kan se olika alternativ som är tillgängliga beroende på din inköpsmodell.

Signalnamn Operatör Sammansättningstyp Tröskelvärde beskrivning
DTU-procent Större än Genomsnitt 80 När den genomsnittliga DTU-procentandelen är större än 80 %
Logg-I/O-procent Större än Genomsnitt 80 När den genomsnittliga logg-io-procentandelen är större än 80 %
Dödlägen* Större än Antal 1 När antalet dödlägen är större än 1.
CPU-procent Större än Genomsnitt 80 När den genomsnittliga cpu-procentandelen är större än 80 %

* Aviseringar om dödlägen kan vara onödiga och bullriga i vissa program där dödlägen förväntas och hanteras korrekt.