Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Azure SQL Database, Azure SQL Managed Instance
Ostrzeżenie
Usługa Azure SQL Analytics (wersja zapoznawcza) to integracja z usługą Azure Monitor, w której wiele rozwiązań do monitorowania nie jest już aktywnie opracowywanych. Aby uzyskać więcej opcji monitorowania, zobacz Monitorowanie i dostrajanie wydajności w usługach Azure SQL Database i Azure SQL Managed Instance.
Usługa Azure SQL Analytics (wersja zapoznawcza) to zaawansowane rozwiązanie do monitorowania wydajności wszystkich baz danych Azure SQL Database na dużą skalę i w wielu subskrypcjach w jednym widoku. Usługa Azure SQL Analytics zbiera i wizualizuje kluczowe metryki wydajności za pomocą wbudowanej analizy na potrzeby rozwiązywania problemów z wydajnością.
Korzystając z tych zebranych metryk, można utworzyć niestandardowe reguły monitorowania i alerty. Usługa Azure SQL Analytics ułatwia identyfikowanie problemów w każdej warstwie stosu aplikacji. Usługa Azure SQL Analytics używa metryk Azure Diagnostics wraz z widokami usługi Azure Monitor do prezentowania danych dotyczących wszystkich baz danych Azure SQL w jednym obszarze roboczym usługi Log Analytics. Usługa Azure Monitor ułatwia zbieranie, korelowanie i wizualizowanie danych ze strukturą i bez struktury.
Połączone źródła
Azure SQL Analytics to rozwiązanie do monitorowania tylko w chmurze obsługujące przesyłanie strumieniowe danych telemetrycznych diagnostycznych dla wszystkich baz danych Azure SQL Database. Ponieważ usługa Azure SQL Analytics nie używa agentów do nawiązywania połączenia z usługą Azure Monitor, nie obsługuje monitorowania programu SQL Server hostowanego lokalnie ani na maszynach wirtualnych.
Połączone źródło | Wsparte | Opis |
---|---|---|
Ustawienia diagnostyki | Tak | Dane metryk i dzienników platformy Azure są wysyłane do dzienników usługi Azure Monitor bezpośrednio przez platformę Azure. |
Konto usługi Azure Storage | Nie. | Usługa Azure Monitor nie odczytuje żadnych danych z konta magazynu. |
Agenci systemu Windows | Nie. | Bezpośredni agenci systemu Windows nie są używane przez usługę Azure SQL Analytics. |
Agenci systemu Linux | Nie. | Bezpośredni agenci systemu Linux nie są używane przez usługę Azure SQL Analytics. |
System Center Operations Manager grupy zarządzania | Nie. | Bezpośrednie połączenie z agenta programu Operations Manager do usługi Azure Monitor nie jest używane przez usługę Azure SQL Analytics. |
Opcje usługi Azure SQL Analytics
W poniższej tabeli przedstawiono obsługiwane opcje dla dwóch wersji pulpitu nawigacyjnego usługi Azure SQL Analytics, jednej dla usługi Azure SQL Database i drugiej dla baz danych usługi Azure SQL Managed Instance.
Opcja usługi Azure SQL Analytics | Opis | Obsługa usługi SQL Database | Obsługa usługi SQL Managed Instance |
---|---|---|---|
Zasób według typu | Perspektywa, która zlicza wszystkie monitorowane zasoby. | Tak | Tak |
Spostrzeżenia | Umożliwia hierarchiczne zagłębianie się w funkcję Intelligent Insights dotyczącą wydajności. | Tak | Tak |
Błędy | Zapewnia hierarchiczne przechodzenie do szczegółów błędów SQL, które wystąpiły w bazach danych. | Tak | Tak |
Przerwy czasowe | Zapewnia hierarchiczne zagłębianie się w szczegóły dotyczące limitów czasu SQL, które wystąpiły w bazach danych. | Tak | Nie. |
Blokady | Zapewnia hierarchiczny przejrzysty wgląd w blokady SQL, które wystąpiły w bazach danych. | Tak | Nie. |
Opóźnienia w bazach danych | Zapewnia hierarchiczne zgłębianie szczegółów statystyk oczekiwania SQL na poziomie bazy danych. Zawiera podsumowania całkowitego czasu oczekiwania i czasu oczekiwania na typ oczekiwania. | Tak | Nie. |
Czas trwania zapytania | Zapewnia hierarchiczną analizę szczegółową statystyk wykonania zapytań, takich jak czas trwania zapytania, użycie procesora, użycie we/wy danych, użycie we/wy dziennika. | Tak | Tak |
Oczekiwanie zapytania | Umożliwia hierarchiczne zgłębianie statystyk czasu oczekiwania zapytania według kategorii oczekiwania. | Tak | Tak |
Konfiguracja usługi Azure SQL Analytics (wersja zapoznawcza)
Użyj procesu opisanego w artykule Dodawanie rozwiązań usługi Azure Monitor z galerii rozwiązań , aby dodać usługę Azure SQL Analytics (wersja zapoznawcza) do obszaru roboczego usługi Log Analytics.
Konfigurowanie usługi Azure SQL Database do przesyłania strumieniowego danych telemetrycznych diagnostycznych
Po utworzeniu rozwiązania Usługi Azure SQL Analytics w obszarze roboczym należy skonfigurować każdy zasób, który chcesz monitorować, aby przesyłać strumieniowo dane telemetryczne diagnostyki do usługi Azure SQL Analytics. Postępuj zgodnie ze szczegółowymi instrukcjami na tej stronie:
- Włącz usługę Azure Diagnostics dla bazy danych, aby przesyłać strumieniowo dane telemetryczne diagnostyczne do usługi Azure SQL Analytics.
Na powyższej stronie znajdują się również instrukcje dotyczące włączania obsługi monitorowania wielu subskrypcji platformy Azure z jednego obszaru roboczego usługi Azure SQL Analytics jako pojedynczego okienka szkła.
Korzystanie z usługi Azure SQL Analytics (wersja zapoznawcza)
Przejdź do wdrożenia usługi SQL Analytics na stronie Starsze rozwiązania obszaru roboczego usługi Log Analytics.
Usługa Azure SQL Analytics udostępnia dwa oddzielne widoki: jeden do monitorowania usługi SQL Database, a drugi widok monitorowania usługi SQL Managed Instance.
Wyświetlanie danych usługi Azure SQL Analytics
Pulpit nawigacyjny zawiera omówienie wszystkich baz danych monitorowanych w różnych perspektywach. Aby różne perspektywy działały, należy włączyć odpowiednie metryki lub dzienniki dotyczące zasobów SQL, które mają być przesyłane strumieniowo do obszaru roboczego usługi Log Analytics.
Jeśli niektóre metryki lub dzienniki nie są przesyłane strumieniowo do usługi Azure Monitor, kafelki w usłudze Azure SQL Analytics nie są wypełniane informacjami monitorowania.
Widok usługi SQL Database
Po wybraniu kafelka Azure SQL Analytics dla bazy danych zostanie wyświetlony pulpit nawigacyjny monitorowania.
Wybranie dowolnej płytki powoduje otwarcie szczegółowego raportu w określonej perspektywie. Po wybraniu perspektywy zostanie otwarty raport szczegółowy.
Każda perspektywa w tym widoku zawiera podsumowania na poziomie subskrypcji, serwera, elastycznej puli i bazy danych. Ponadto każda perspektywa przedstawia specyficzne ujęcie raportu widocznego po prawej stronie. Wybranie subskrypcji, serwera, puli lub bazy danych z listy kontynuuje przechodzenie do szczegółów.
Widok wystąpienia zarządzanego SQL
Po wybraniu kafelka usługi Azure SQL Analytics dla baz danych zostanie wyświetlony pulpit nawigacyjny monitorowania.
Wybranie dowolnego kafelka powoduje otwarcie raportu szczegółowego w określonej perspektywie. Po wybraniu perspektywy zostanie otwarty raport szczegółowy.
Wybranie widoku wystąpienia zarządzanego SQL zawiera szczegółowe informacje o wykorzystaniu wystąpienia, bazach danych wystąpień i telemetrii zapytań wykonywanych w wystąpieniu zarządzanym.
Raport usługi Intelligent Insights
Usługa Azure SQL Database Intelligent Insights informuje o tym, co dzieje się z wydajnością wszystkich baz danych Azure SQL Database. Wszystkie zebrane inteligentne wnioski można wizualizować i uzyskiwać do nich dostęp z perspektywy Insights.
Elastyczne pule i raporty bazy danych
Zarówno elastyczne pule, jak i bazy danych mają własne raporty, które pokazują wszystkie dane zebrane dla zasobu w określonym czasie.
Raporty zapytań
Podczas analizy czasu trwania i czasu oczekiwania zapytań można skorelować wydajność dowolnego zapytania w raporcie zapytania. Ten raport porównuje wydajność zapytań w różnych bazach danych i ułatwia wskazanie baz danych, które dobrze wykonują wybrane zapytania, a te, które są powolne.
Uprawnienia
Aby korzystać z usługi Azure SQL Analytics (wersja zapoznawcza), użytkownicy muszą mieć minimalne uprawnienia roli Czytelnik na platformie Azure. Ta rola nie zezwala jednak użytkownikom na wyświetlanie tekstu zapytania ani wykonywanie żadnych akcji automatycznego dostrajania. Więcej ról permissywnych na platformie Azure, które umożliwiają korzystanie z usługi Azure SQL Analytics w najszerszym zakresie, to właściciel, współautor, współautor bazy danych SQL lub współautor programu SQL Server. Warto również rozważyć utworzenie roli niestandardowej w portalu z określonymi uprawnieniami wymaganymi tylko do korzystania z usługi Azure SQL Analytics i bez dostępu do zarządzania innymi zasobami.
Tworzenie roli niestandardowej w portalu
Uwaga / Notatka
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Zobacz Instalowanie programu Azure PowerShell , aby rozpocząć pracę. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az programu PowerShell, zobacz Migrowanie programu Azure PowerShell z modułu AzureRM do modułu Az.
Uznając, że niektóre organizacje wymuszają ścisłe kontrole uprawnień na platformie Azure, znajdź następujący skrypt programu PowerShell umożliwiający utworzenie roli niestandardowej "Operator monitorowania usługi SQL Analytics" w witrynie Azure Portal z minimalnymi uprawnieniami do odczytu i zapisu wymaganymi do korzystania z usługi Azure SQL Analytics w najszerszym zakresie.
Zastąp element "{SubscriptionId}" w poniższym skrypcie identyfikatorem Twojej subskrypcji Azure i wykonaj skrypt, będąc zalogowanym jako rola Właściciela lub Współautora w platformie 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
Po utworzeniu nowej roli przypisz tę rolę każdemu użytkownikowi, którego musisz udzielić uprawnień niestandardowych do korzystania z usługi Azure SQL Analytics.
Analizowanie danych i tworzenie alertów
Analiza danych w usłudze Azure SQL Analytics jest oparta na języku usługi Log Analytics na potrzeby niestandardowego wykonywania zapytań i raportowania. Znajdź opis dostępnych danych zebranych z zasobu bazy danych na potrzeby wykonywania zapytań niestandardowych w dostępnych metrykach i dziennikach.
Automatyczne alerty w usłudze Azure SQL Analytics są oparte na pisaniu zapytania usługi Log Analytics, które wyzwala alert po spełnieniu warunku. Poniżej przedstawiono kilka przykładów zapytań usługi Log Analytics, na których można skonfigurować alerty w usłudze Azure SQL Analytics.
Tworzenie alertów dla usługi Azure SQL Database
Alerty można łatwo tworzyć przy użyciu danych pochodzących z zasobów usługi Azure SQL Database. Poniżej przedstawiono kilka przydatnych zapytań dziennika , których można użyć z alertem dziennika:
Wysokie zużycie procesora
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/DATABASES/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Uwaga / Notatka
- Wstępne wymaganie dotyczące konfigurowania tego alertu polega na tym, że monitorowane bazy danych przesyłają strumieniowo podstawowe metryki do obszaru roboczego usługi Log Analytics używanego przez usługę Azure SQL Analytics.
- Zamień wartość MetricName
cpu_percent
nadtu_consumption_percent
, aby uzyskać wysokie wyniki DTU.
Wysokie użycie procesora w pulach elastycznych
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/ELASTICPOOLS/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Uwaga / Notatka
- Wstępne wymaganie dotyczące konfigurowania tego alertu polega na tym, że monitorowane bazy danych przesyłają strumieniowo metryki podstawowe do obszaru roboczego usługi Log Analytics używanego przez usługę Azure SQL Analytics.
- Zastąp wartość
cpu_percent
wartościądtu_consumption_percent
, aby uzyskać wysokie wyniki DTU.
Magazyn średnio powyżej 95% w ciągu ostatnich 1 godzin
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
Uwaga / Notatka
- Wstępne wymaganie dotyczące konfigurowania tego alertu polega na tym, że monitorowane bazy danych przesyłają strumieniowo podstawowe metryki do obszaru roboczego usługi Log Analytics używanego przez usługę Azure SQL Analytics.
- To zapytanie wymaga skonfigurowania reguły alertu w celu wyzwolenia alertu, gdy istnieją wyniki (> 0 wyników) z zapytania, co oznacza, że warunek istnieje w niektórych bazach danych. Dane wyjściowe to lista zasobów bazy danych, które znajdują się ponad
storage_threshold
w obrębie zdefiniowanegotime_range
. - Dane wyjściowe to lista zasobów bazy danych, które znajdują się powyżej
storage_threshold
w ramach określonych przeztime_range
.
Alert dotyczący inteligentnych spostrzeżeń
Ważne
Jeśli baza danych działa prawidłowo i że nie wygenerowano żadnej funkcji Intelligent Insights, to zapytanie zakończy się niepowodzeniem z komunikatem o błędzie: Nie można rozpoznać wyrażenia skalarnego o nazwie rootCauseAnalysis_s
. To zachowanie jest oczekiwane we wszystkich przypadkach, w których nie ma inteligentnych szczegółowych informacji dla bazy danych.
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
Uwaga / Notatka
- Wstępne wymaganie dotyczące konfigurowania tego alertu polega na tym, że monitorowane bazy danych przesyłają strumieniowo dziennik diagnostyczny usługi SQLInsights do obszaru roboczego usługi Log Analytics używanego przez usługę Azure SQL Analytics.
- To zapytanie wymaga skonfigurowania reguły alertu w celu uruchomienia z taką samą częstotliwością, jak
alert_run_interval
w celu uniknięcia zduplikowanych wyników. Reguła powinna zostać skonfigurowana, aby wyzwalać alert, jeśli pojawią się wyniki (> 0 wyników) z zapytania. - Dostosuj element
alert_run_interval
, aby określić zakres czasu do sprawdzenia, czy warunek wystąpił w bazach danych, które są skonfigurowane do przesyłania logów SQLInsights do Azure SQL Analytics. - Dostosuj insights_string, aby przechwycić wyniki analizy głównej przyczyny 'Insights'. Jest to ten sam tekst wyświetlany w interfejsie użytkownika usługi Azure SQL Analytics, którego można użyć z istniejących analiz. Alternatywnie możesz użyć poniższego zapytania, aby wyświetlić tekst wszystkich Insights wygenerowanych na twojej subskrypcji. Użyj danych wyjściowych zapytania, aby zebrać odrębne ciągi na potrzeby konfigurowania alertów w usłudze Insights.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s
Tworzenie alertów dla usługi SQL Managed Instance
Magazyn jest powyżej 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
Uwaga / Notatka
- Warunkiem koniecznym skonfigurowania tego alertu jest, aby monitorowane wystąpienie zarządzane miało włączone przesyłanie strumieniowe dziennika ResourceUsageStats do obszaru roboczego usługi Log Analytics używanego przez Azure SQL Analytics.
- To zapytanie wymaga skonfigurowania reguły alertu w celu wyzwolenia alertu, gdy istnieją wyniki (> 0 wyników) z zapytania, co oznacza, że warunek istnieje w wystąpieniu zarządzanym. Dane wyjściowe to procentowe użycie magazynu w wystąpieniu zarządzanym.
Średnie użycie procesora przekracza 95% w ciągu ostatniej godziny.
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
Uwaga / Notatka
- Wstępne wymaganie skonfigurowania tego alertu polega na tym, że monitorowane wystąpienie zarządzane ma włączoną obsługę przesyłania strumieniowego dziennika ResourceUsageStats do obszaru roboczego usługi Log Analytics używanego przez usługę Azure SQL Analytics.
- To zapytanie wymaga skonfigurowania reguły alertu w celu wyzwolenia alertu, gdy istnieją wyniki (> 0 wyników) z zapytania, co oznacza, że warunek istnieje w wystąpieniu zarządzanym. Wynik to średnie procentowe zużycie procesora w zdefiniowanym okresie na wystąpieniu zarządzanym.
Ceny
Chociaż usługa Azure SQL Analytics (wersja zapoznawcza) jest bezpłatna, możesz zostać obciążony opłatami za użycie telemetrii diagnostycznej powyżej bezpłatnych jednostek pozyskiwania danych przydzielonych każdego miesiąca, więcej informacji znajdziesz w Cennik usługi Log Analytics. Bezpłatne jednostki pozyskiwania danych umożliwiają bezpłatne monitorowanie kilku baz danych każdego miesiąca. Bardziej aktywne bazy danych z cięższymi obciążeniami pozyskiwają więcej danych w porównaniu z bezczynnymi bazami danych. Możesz łatwo monitorować zużycie związane z pozyskiwaniem danych w usłudze Azure SQL Analytics, wybierając Obszar roboczy OMS w menu nawigacji Azure SQL Analytics, a następnie wybierając Użycie i szacowane koszty.
Dalsze kroki
- Użyj zapytań dziennika w usłudze Azure Monitor, aby przeglądać szczegółowe dane Azure SQL.
- Utwórz własne pulpity nawigacyjne z danymi usługi Azure SQL.
- Utwórz alerty po wystąpieniu określonych zdarzeń usługi Azure SQL.
- Monitorowanie usługi Azure SQL Database za pomocą usługi Azure Monitor
- Monitorowanie usługi Azure SQL Managed Instance za pomocą usługi Azure Monitor