Share via


Azure SQL Database bewaken met Azure Monitor

Van toepassing op: Azure SQL Database

Wanneer u kritieke toepassingen en bedrijfsprocessen hebt die afhankelijk zijn van Azure-resources, kunt u de beschikbaarheid, prestaties en werking van deze resources bewaken.

In dit artikel worden de bewakingsgegevens beschreven die zijn gegenereerd door Azure SQL Database. Azure SQL Database kan worden bewaakt door Azure Monitor. Als u niet bekend bent met de functies van Azure Monitor die gangbaar zijn voor alle Azure-services die deze gebruiken, leest u Bewaking van Azure-resources met Azure Monitor.

Belangrijk

Zie Azure SQL Database bewaken met metrische gegevens en waarschuwingen van Azure Monitor voor een set aanbevolen waarschuwingsregels.

Overzichtspagina bewaken in Azure Portal

Bekijk uw metrische gegevens van Azure Monitor voor alle verbonden resources door rechtstreeks in Azure Portal naar de Azure Monitor-pagina te gaan. Of selecteer op de pagina Overzicht van een database metrische gegevens onder de kop Bewaking om Azure Monitor te bereiken.

Azure Monitor SQL Insights (preview)

Sommige services in Azure hebben een vooraf gebouwd bewakingsdashboard in Azure Portal dat kan worden ingeschakeld om een beginpunt te bieden voor het bewaken van uw service. Deze speciale dashboards worden 'inzichten' genoemd en zijn niet standaard ingeschakeld. Zie Uw SQL-implementaties bewaken met SQL Insights (preview) voor meer informatie over het gebruik van Azure Monitor SQL Insights voor alle producten in de Azure SQL-serie.

Nadat u een bewakingsprofiel hebt gemaakt, kunt u uw Azure Monitor SQL Insights configureren voor sql-specifieke metrische gegevens voor Azure SQL Database, Azure SQL Managed Instance en SQL Server op Azure-VM's.

Notitie

Azure SQL Analytics (preview) is een integratie met Azure Monitor, waarbij veel bewakingsoplossingen niet langer actief zijn in ontwikkeling. Zie Bewaking en prestaties afstemmen in Azure SQL Database en Azure SQL Managed Instance voor meer bewakingsopties.

Gegevens controleren

Azure SQL Database verzamelt dezelfde soorten bewakingsgegevens als andere Azure-resources die worden beschreven in Bewakingsgegevens van Azure-resources.

Zie Azure SQL Database bewaken met Azure Monitor-referentie voor gedetailleerde informatie over de metrische gegevens en logboeken die zijn gemaakt door Azure SQL Database.

Verzameling en routering

Metrische platformgegevens en het activiteitenlogboek worden automatisch verzameld en opgeslagen, maar kunnen worden gerouteerd naar andere locaties met behulp van een diagnostische instelling.

Resourcelogboeken worden pas verzameld en opgeslagen wanneer u een diagnostische instelling maakt en deze naar een of meer locaties routeert. Resourcelogboeken werden voorheen diagnostische logboeken genoemd.

Beschikbare diagnostische instellingen zijn onder andere:

  • log: SQLInsights, AutomaticTuning, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics, Errors, DatabaseWaitStatistics, Timeouts, Blocks, Deadlocks
  • metrische gegevens: alle metrische gegevens van Azure Monitor in de categorieën Basic en InstanceAndAppAdvanced
  • doeldetails: Verzenden naar Log Analytics-werkruimte, Archiveren naar een opslagaccount, Stream naar een Event Hub, Verzenden naar partneroplossing

Zie Diagnostische telemetrie voor export voor meer informatie over de beschikbare resourcelogboeken en diagnostische gegevens.

Zie Diagnostische instelling maken voor het verzamelen van platformlogboeken en metrische gegevens in Azure voor het gedetailleerde proces voor het maken van een diagnostische instelling met behulp van Azure Portal, de CLI of PowerShell. Wanneer u een diagnostische instelling maakt, geeft u op welke categorieën logboeken moeten worden verzameld. De categorieën voor Azure SQL Database worden vermeld in de naslaginformatie over bewakingsgegevens van Azure SQL Database.

Logboeken worden gegroepeerd in categoriegroepen. Categoriegroepen zijn een verzameling verschillende logboeken om u te helpen bij het bereiken van verschillende bewakingsdoelen. Deze groepen worden dynamisch gedefinieerd en kunnen na verloop van tijd veranderen naarmate er nieuwe resourcelogboeken beschikbaar komen en worden toegevoegd aan de categoriegroep. Dit kan extra kosten in rekening brengen. Met de categoriegroep auditresourcelogboeken kunt u de resourcelogboeken selecteren die nodig zijn voor het controleren van uw resource. Zie Diagnostische instellingen in Azure Monitor: Resourcelogboeken voor meer informatie.

Metrische gegevens analyseren

U kunt metrische gegevens voor Azure SQL Database naast metrische gegevens van andere Azure-services analyseren met behulp van de Metrics Explorer door Metrische gegevens te openen vanuit het menu Monitor in Azure Portal. Raadpleeg Aan de slag met Azure Metrics Explorer voor meer informatie over het gebruik van dit hulpprogramma.

Zie Aanbevolen waarschuwingsregels voor standaardconfiguraties voor Azure SQL Database. Zie Metrische gegevens van Azure SQL Database bewaken voor een lijst met metrische platformgegevens die zijn verzameld voor Azure SQL Database.

Ter referentie ziet u een lijst met alle metrische resourcegegevens die worden ondersteund in Azure Monitor.

Logboeken analyseren

Gegevens in Azure Monitor-logboeken worden opgeslagen in tabellen waarin elke tabel een eigen set unieke eigenschappen heeft. Deze gegevens worden optioneel verzameld via diagnostische instellingen.

Alle resourcelogboeken in Azure Monitor hebben dezelfde velden, gevolgd door servicespecifieke velden. Het algemene schema wordt beschreven in het schema voor resourcelogboeken van Azure Monitor.

Het activiteitenlogboek is een type platformlogboek in Azure dat inzicht biedt in gebeurtenissen op abonnementsniveau. U kunt deze onafhankelijk bekijken of doorsturen naar Azure Monitor-logboeken, waar u veel complexere query's kunt uitvoeren met behulp van Log Analytics.

Zie Resourcelogboeken voor Azure SQL Database voor een lijst met de typen resourcelogboeken die zijn verzameld voor Azure SQL Database.

Zie Azure Monitor-logboeken voor Azure SQL Database voor een lijst met tabellen die door Azure Monitor-logboeken worden gebruikt en waarvoor query's kunnen worden uitgevoerd door Log Analytics.

Voorbeeldquery's voor Kusto

Belangrijk

Als u Logboeken selecteert in het menu Bewaking van een database, wordt Log Analytics geopend met het querybereik ingesteld op de huidige database. Dit betekent dat logboekquery's alleen gegevens uit die resource bevatten. Als u een query wilt uitvoeren die gegevens uit andere databases of gegevens uit andere Azure-services bevat, selecteert u Logboeken in het menu Azure Monitor . Zie Log-querybereik en tijdsbereik in Azure Monitor Log Analytics voor meer informatie.

Notitie

Soms kan het tot 15 minuten duren voordat een gebeurtenis wordt verzonden en wanneer deze wordt weergegeven in een Log Analytics-werkruimte.

Gebruik de volgende query's om uw database te bewaken. Mogelijk ziet u verschillende opties die beschikbaar zijn, afhankelijk van uw aankoopmodel.

Voorbeeld A: Log_write_percent van het afgelopen uur

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

Voorbeeld B: SQL Server-wachttypen uit de afgelopen 15 minuten

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

Voorbeeld C: SQL Server-impasses uit de afgelopen 60 minuten

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

Voorbeeld D: Gemiddeld CPU-gebruik van het afgelopen uur

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

Waarschuwingen

Met Azure Monitor-waarschuwingen wordt u proactief op de hoogte gesteld wanneer aan bepaalde belangrijke voorwaarden wordt voldaan in uw controlegegevens. Deze metrische gegevens in Azure Monitor worden altijd verzameld. Hiermee kunt u problemen in uw databases of elastische pools identificeren en oplossen voordat uw klanten ze merken. U kunt waarschuwingen instellen voor metrische gegevens, logboeken en het activiteitenlogboek.

Als u een toepassing in Azure maakt of uitvoert, kan Azure Monitor Application Insights aanvullende typen waarschuwingen bieden.

U kunt ook waarschuwingen configureren met de Azure CLI of PowerShell. Zie PowerShell bijvoorbeeld gebruiken om één database in Azure SQL Database te bewaken en te schalen.

De volgende tabel bevat algemene en aanbevolen waarschuwingsregels voor Azure SQL Database. Mogelijk ziet u verschillende opties die beschikbaar zijn, afhankelijk van uw aankoopmodel.

Signaalnaam Operator Aggregatietype Drempelwaarde Beschrijving
DTU-percentage Groter dan Gemiddeld 80 Wanneer het gemiddelde DTU-percentage groter is dan 80%
Io-percentage logboek Groter dan Gemiddeld 80 Wanneer het gemiddelde io-percentage voor logboeken groter is dan 80%
Deadlocks* Groter dan Tellen 1 Wanneer het aantal impasses groter is dan 1.
CPU-percentage Groter dan Gemiddeld 80 Wanneer het gemiddelde CPU-percentage groter is dan 80%

* Waarschuwingen over impasses zijn mogelijk onnodig en lawaaierig in sommige toepassingen waarbij impasses worden verwacht en correct worden afgehandeld.