Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP: Azure SQL Database, Azure SQL Managed Instance
Waarschuwing
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.
Azure SQL Analytics (preview) is een geavanceerde cloudbewakingsoplossing voor het bewaken van de prestaties van al uw Azure SQL-databases op schaal en in meerdere abonnementen in één weergave. Azure SQL Analytics verzamelt en visualiseert belangrijke prestatiegegevens met ingebouwde intelligentie voor het oplossen van prestatieproblemen.
Met behulp van deze verzamelde metrische gegevens kunt u aangepaste bewakingsregels en waarschuwingen maken. Azure SQL Analytics helpt u bij het identificeren van problemen in elke laag van uw toepassingsstack. Azure SQL Analytics maakt gebruik van metrische gegevens van Azure Diagnostics , samen met Azure Monitor-weergaven om gegevens over al uw Azure SQL-databases in één Log Analytics-werkruimte weer te geven. Met Azure Monitor kunt u gestructureerde en ongestructureerde gegevens verzamelen, correleren en visualiseren.
Verbonden bronnen
Azure SQL Analytics is een cloudbewakingsoplossing die ondersteuning biedt voor het streamen van diagnostische telemetriegegevens voor al uw Azure SQL-databases. Omdat Azure SQL Analytics geen agents gebruikt om verbinding te maken met Azure Monitor, biedt dit geen ondersteuning voor het bewaken van on-premises of in virtuele machines gehoste SQL Server.
| Verbonden bron | Ondersteund | Beschrijving |
|---|---|---|
| Diagnostische instellingen | Ja | Azure-meter- en loggegevens worden rechtstreeks door Azure naar Azure Monitor Logs verzonden. |
| Azure Storage account | Nee. | Azure Monitor leest de gegevens niet uit een opslagaccount. |
| Windows-agents | Nee. | Directe Windows-agents worden niet gebruikt door Azure SQL Analytics. |
| Linux-agents | Nee. | Directe Linux-agents worden niet gebruikt door Azure SQL Analytics. |
| System Center Operations Manager-beheergroep | Nee. | Een directe verbinding van de Operations Manager-agent naar Azure Monitor wordt niet gebruikt door Azure SQL Analytics. |
Opties voor Azure SQL Analytics
De onderstaande tabel bevat ondersteunde opties voor twee versies van het Azure SQL Analytics-dashboard, één voor Azure SQL Database en de andere voor Azure SQL Managed Instance-databases.
| Azure SQL Analytics-optie | Beschrijving | Ondersteuning voor SQL Database | Ondersteuning voor SQL Managed Instance |
|---|---|---|---|
| Hulpmiddelen per type | Overzicht waarmee alle bewaakte resources worden geteld. | Ja | Ja |
| Inzichten | Het biedt een hiërarchisch doorklikmenu voor Intelligent Insights met betrekking tot prestaties. | Ja | Ja |
| Fouten | Biedt hiërarchische inzoomen op SQL-fouten die zijn opgetreden in de databases. | Ja | Ja |
| Onderbrekingen | Biedt een hiërarchische gedetailleerde weergave van SQL-timeouts die in de databases zijn opgetreden. | Ja | Nee. |
| Blokkeringen | Biedt een hiërarchisch overzicht van SQL-blokkeringen die in de databases zijn opgetreden. | Ja | Nee. |
| Databasewachttijden | Biedt een hiërarchische gedetailleerde weergave van SQL-wachtstatistieken op databaseniveau. Bevat samenvattingen van de totale wachttijd en de wachttijd per wachttype. | Ja | Nee. |
| Duur van de query | Biedt hiërarchische inzoomen op de uitvoeringsstatistieken van query's, zoals queryduur, CPU-gebruik, Gegevens-IO-gebruik, Logboek-IO-gebruik. | Ja | Ja |
| Querywachttijden | Biedt hiërarchische inzoomen op de querywachtstatistieken per wachtcategorie. | Ja | Ja |
Configuratie van Azure SQL Analytics (preview)
Gebruik het proces dat wordt beschreven in Azure Monitor-oplossingen toevoegen vanuit de galerie met oplossingen om Azure SQL Analytics (preview) toe te voegen aan uw Log Analytics-werkruimte.
Azure SQL Database configureren voor het streamen van diagnostische telemetriegegevens
Zodra u een Azure SQL Analytics-oplossing in uw werkruimte hebt gemaakt, moet u elke resource configureren die u wilt bewaken om de diagnostische telemetriegegevens naar Azure SQL Analytics te streamen. Volg gedetailleerde instructies op deze pagina:
- Schakel Azure Diagnostics in voor uw database om diagnostische telemetriegegevens naar Azure SQL Analytics te streamen.
De bovenstaande pagina bevat ook instructies voor het inschakelen van ondersteuning voor het bewaken van meerdere Azure-abonnementen vanuit één Azure SQL Analytics-werkruimte als één deelvenster met glas.
Azure SQL Analytics gebruiken (preview)
Navigeer naar uw SQL Analytics-implementatie vanaf de pagina Verouderde oplossingen in de Log Analytics-werkruimte.
Azure SQL Analytics biedt twee afzonderlijke weergaven: één voor het bewaken van SQL Database en de andere weergave voor het bewaken van SQL Managed Instance.
Azure SQL Analytics-gegevens weergeven
Het dashboard bevat het overzicht van alle databases die worden bewaakt via verschillende perspectieven. Voor verschillende perspectieven moet u ervoor zorgen dat de juiste metrische gegevens of logboeken in uw SQL-resources worden gestreamd naar de Log Analytics-werkruimte.
Als sommige metrische gegevens of logboeken niet naar Azure Monitor worden gestreamd, worden de tegels in Azure SQL Analytics niet gevuld met bewakingsgegevens.
SQL-databankweergave
Zodra de tegel Azure SQL Analytics voor de database is geselecteerd, wordt het bewakingsdashboard weergegeven.
Wanneer je een van de tegels selecteert, wordt er een gedetailleerd rapport geopend met het specifieke perspectief. Zodra het perspectief is geselecteerd, wordt het inzoomrapport geopend.
Elk perspectief in deze weergave biedt samenvattingen op het niveau van het abonnement, de server, de elastische pool en de database. Daarnaast toont elk perspectief een perspectief dat specifiek is voor het rapport aan de rechterkant. Als u een abonnement, server, pool of database selecteert in de lijst, gaat u verder met inzoomen.
Weergave van SQL Managed Instance
Zodra de tegel Azure SQL Analytics voor de databases is geselecteerd, wordt het bewakingsdashboard weergegeven.
Als u een van de tegels selecteert, wordt er een gedetailleerd rapport van het specifieke perspectief geopend. Zodra het perspectief is geselecteerd, wordt het inzoomrapport geopend.
Als u de weergave SQL Managed Instance selecteert, ziet u details over het exemplaargebruik, exemplaardatabases en telemetrie van de query's die worden uitgevoerd in het beheerde exemplaar.
Time-outs voor Azure SQL Analytics
Intelligent Insights-rapport
Met Azure SQL Database Intelligent Insights weet u wat er gebeurt met de prestaties van alle Azure SQL-databases. Alle verzamelde intelligente inzichten kunnen worden gevisualiseerd en geopend via het perspectief Inzichten.
Elastische pools en databaserapporten
Zowel elastische pools als databases hebben hun eigen specifieke rapporten waarin alle gegevens worden weergegeven die voor de resource in de opgegeven tijd worden verzameld.
Queryrapporten
Via de perspectieven voor queryduur en querywachttijden kunt u de prestaties van elke query correleren via het queryrapport. In dit rapport worden de queryprestaties voor verschillende databases vergeleken en kunt u eenvoudig databases aanwijzen die de geselecteerde query goed uitvoeren versus databases die traag zijn.
Machtigingen
Als u Azure SQL Analytics (preview) wilt gebruiken, moeten gebruikers een minimale machtiging krijgen voor de rol Lezer in Azure. Met deze rol kunnen gebruikers de querytekst echter niet zien of acties voor automatisch afstemmen uitvoeren. Meer permissieve rollen in Azure die het gebruik van Azure SQL Analytics in de volle mate toestaan, zijn Eigenaar, Inzender, SQL DB-inzender of INzender voor SQL Server. U kunt ook overwegen om een aangepaste rol te maken in de portal met specifieke machtigingen die alleen zijn vereist voor het gebruik van Azure SQL Analytics en zonder toegang tot het beheren van andere resources.
Een aangepaste rol maken in de portal
Opmerking
U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Zie Azure PowerShell migreren van AzureRM naar Az voor meer informatie over het migreren naar de Az PowerShell-module.
Aangezien sommige organisaties strikte machtigingsbeheer afdwingen in Azure, zoekt u het volgende PowerShell-script waarmee u een aangepaste rol 'SQL Analytics Monitoring Operator' kunt maken in Azure Portal, met de minimale lees- en schrijfmachtigingen die nodig zijn om Azure SQL Analytics te gebruiken voor de volledige omvang.
Vervang de "{SubscriptionId}" in het onderstaande script door uw Azure-abonnements-id en voer het script uit terwijl u bent aangemeld als Eigenaar of in de rol van Medewerker in Azure.
Connect-AzAccount
Select-AzSubscription {SubscriptionId}
$role = Get-AzRoleDefinition -Name Reader
$role.Name = "SQL Analytics Monitoring Operator"
$role.Description = "Lets you monitor database performance with Azure SQL Analytics as a reader. Does not allow change of resources."
$role.IsCustom = $true
$role.Actions.Add("Microsoft.SQL/servers/databases/read");
$role.Actions.Add("Microsoft.SQL/servers/databases/topQueries/queryText/*");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/write");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/write");
$role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/write");
$role.Actions.Add("Microsoft.Sql/servers/advisors/read");
$role.Actions.Add("Microsoft.Sql/servers/advisors/write");
$role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/read");
$role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/write");
$role.Actions.Add("Microsoft.Resources/deployments/write");
$role.AssignableScopes = "/subscriptions/{SubscriptionId}"
New-AzRoleDefinition $role
Zodra de nieuwe rol is gemaakt, wijst u deze rol toe aan elke gebruiker die u aangepaste machtigingen moet verlenen voor het gebruik van Azure SQL Analytics.
Gegevens analyseren en waarschuwingen maken
Gegevensanalyse in Azure SQL Analytics is gebaseerd op de Log Analytics-taal voor uw aangepaste query's en rapportage. Zoek een beschrijving van de beschikbare gegevens, verzameld uit de databasebron voor aangepaste query's in beschikbare metrische gegevens en logboeken.
Geautomatiseerde waarschuwingen in Azure SQL Analytics zijn gebaseerd op het schrijven van een Log Analytics-query waarmee een waarschuwing wordt geactiveerd op basis van een voorwaarde waaraan is voldaan. Hieronder vindt u enkele voorbeelden van Log Analytics-query's waarop waarschuwingen kunnen worden ingesteld in Azure SQL Analytics.
Waarschuwingen maken voor Azure SQL Database
U kunt eenvoudig waarschuwingen maken met de gegevens die afkomstig zijn van Azure SQL Database-resources. Hier volgen enkele nuttige logboekquery's die u kunt gebruiken met een logboekwaarschuwing:
Hoog CPU-gebruik
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/DATABASES/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat bewaakte databases basisgegevens streamen naar de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Vervang de waarde van MetricName
cpu_percentdoordtu_consumption_percentom hoge DTU-resultaten te verkrijgen.
Hoge CPU-belasting op elastische poolbronnen
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/ELASTICPOOLS/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat bewaakte databases metrische basisgegevens streamen naar de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Vervang de waarde van MetricName
cpu_percentdoordtu_consumption_percentom hoge DTU-resultaten te verkrijgen.
Opslag gemiddeld boven de 95% in de afgelopen 1 uur
let time_range = 1h;
let storage_threshold = 95;
AzureMetrics
| where ResourceId contains "/DATABASES/"
| where MetricName == "storage_percent"
| summarize max_storage = max(Average) by ResourceId, bin(TimeGenerated, time_range)
| where max_storage > storage_threshold
| distinct ResourceId
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat bewaakte databases basisgegevens streamen naar de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Voor deze query moet een waarschuwingsregel worden ingesteld om een waarschuwing uit te schakelen wanneer er resultaten (> 0 resultaten) uit de query bestaan, waarbij wordt aangegeven dat de voorwaarde bestaat op sommige databases. De uitvoer is een lijst van databasebronnen die zich boven de
storage_thresholdbevinden binnen de grenzen die doortime_rangezijn gedefinieerd. - De uitvoer is een lijst van databasebronnen die zich boven de
storage_thresholdbevinden binnen de grenzen die doortime_rangezijn gedefinieerd.
Waarschuwing over intelligente inzichten
Belangrijk
Als een database goed presteert en er geen Intelligent Insights is gegenereerd, mislukt deze query met een foutbericht: Kan scalaire expressies met de naam niet rootCauseAnalysis_soplossen. Dit gedrag wordt verwacht voor alle gevallen waarin er geen intelligente inzichten voor de database bestaan.
let alert_run_interval = 1h;
let insights_string = "hitting its CPU limits";
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| where TimeGenerated > ago(alert_run_interval)
| where rootCauseAnalysis_s contains insights_string
| distinct ResourceId
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat bewaakte databases het diagnostische logboek van SQLInsights streamen naar de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Voor deze query moet een waarschuwingsregel worden ingesteld om te worden uitgevoerd met dezelfde frequentie als
alert_run_intervalom dubbele resultaten te voorkomen. De regel moet worden ingesteld om de waarschuwing te activeren als er uit de query resultaten (c0/> 0 resultaten) komen. - Pas het
alert_run_intervaltijdsbereik aan om te controleren of de voorwaarde is opgetreden in databases die zijn geconfigureerd voor het streamen van SQLInsights-logboeken naar Azure SQL Analytics. - Pas de insights_string aan om de uitvoer van de hoofdoorzaakanalysetekst van Insights vast te leggen. Dit is dezelfde tekst die wordt weergegeven in de gebruikersinterface van Azure SQL Analytics die u kunt gebruiken vanuit de bestaande inzichten. U kunt ook de onderstaande query gebruiken om de tekst te zien van alle inzichten die in uw abonnement zijn gegenereerd. Gebruik de output van de query om de afzonderlijke tekenreeksen te verzamelen voor het instellen van waarschuwingen op Insights.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s
Waarschuwingen maken voor SQL Managed Instance
Opslag is hoger dan 90%
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
by ResourceId
| where calculated_storage_percentage > storage_percentage_threshold
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat het bewaakte beheerde exemplaar het streamen van het ResourceUsageStats-logboek heeft ingeschakeld voor de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Voor deze query moet een waarschuwingsregel worden ingesteld om een waarschuwing af te schakelen wanneer er resultaten (> 0 resultaten) uit de query bestaan, waarbij wordt aangegeven dat de voorwaarde bestaat op het beheerde exemplaar. De uitvoer is het opslagpercentageverbruik op het beheerde exemplaar.
Gemiddeld CPU-verbruik ligt boven de 95% in de afgelopen 1 uur
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by ResourceId
| where avg_cpu > cpu_percentage_threshold
Opmerking
- De vereiste van het instellen van deze waarschuwing is dat het bewaakte beheerde exemplaar het streamen van het ResourceUsageStats-logboek heeft ingeschakeld voor de Log Analytics-werkruimte die wordt gebruikt door Azure SQL Analytics.
- Voor deze query moet een waarschuwingsregel worden ingesteld om een waarschuwing af te schakelen wanneer er resultaten (> 0 resultaten) uit de query bestaan, waarbij wordt aangegeven dat de voorwaarde bestaat op het beheerde exemplaar. De uitvoer is het gemiddelde CPU-gebruikpercentage tijdens de gedefinieerde periode op het beheerde exemplaar.
Prijzen
Hoewel Azure SQL Analytics (preview) gratis te gebruiken is, worden er kosten in rekening gebracht voor het verbruik van diagnostische telemetrie boven de gratis eenheden voor gegevensverwerking die elke maand worden toegewezen. Raadpleeg Log Analytics prijzen voor meer informatie. De gratis eenheden van gegevensopname bieden gratis bewaking van verschillende databases per maand. Actievere databases met zwaardere workloads nemen meer gegevens op versus niet-actieve databases. U kunt uw gegevensopnameverbruik eenvoudig bewaken in Azure SQL Analytics door OMS Workspace te selecteren in het navigatiemenu van Azure SQL Analytics en vervolgens Gebruik en Geschatte kosten te selecteren.
Volgende stappen
- Gebruik logquery's in Azure Monitor om gedetailleerde Azure SQL-gegevens weer te geven.
- Maak uw eigen dashboards met Azure SQL-gegevens.
- Waarschuwingen maken wanneer specifieke Azure SQL-gebeurtenissen plaatsvinden.
- Azure SQL Database bewaken met Azure Monitor
- Azure SQL Managed Instance bewaken met Azure Monitor