Udostępnij przez


Monitorowanie bazy danych Azure SQL za pomocą metryk i alertów

Dotyczy:Azure SQL Database

Możesz użyć Azure Monitor metryk, aby monitorować zużycie zasobów i kondycję bazy danych oraz elastycznej puli. Możesz użyć alertów do wysyłania powiadomień, gdy wartości metryk wskazują na potencjalny problem.

Metryki

Metryka to seria wartości numerycznych mierzonych w regularnych odstępach czasu, często z użyciem jednostek takich jak count, percent, bytes itp. W zależności od charakteru metryki, można stosować agregacje takie jak total, count, average, minimum, maximum do obliczania wartości metryki w określonym czasie. Możesz podzielić niektóre metryki według wymiarów. Każdy wymiar dostarcza dodatkowego kontekstu dla wartości liczbowych.

Przykłady dostępnych metryk Azure SQL Database to: CPU percentage, Data space used, Deadlocks, Tempdb Percent Log Used.

Zobacz metryki bazy danych i metryki puli elastycznej dla wszystkich dostępnych metryk w usłudze Azure SQL Database.

Uwaga

Niektóre metryki mają zastosowanie tylko do określonych typów baz danych lub pul elastycznych. Opis każdej metryki wymienia, czy jej użycie jest ograniczone do określonego typu bazy danych lub puli elastycznej, takiego jak vCore, Hyperscale, serverless itp.

W portalu Azure SQL Database kilka powszechnie używanych metryk jest wyświetlanych na karcie Monitorowanie strony Przegląd. Metryki pozwalają ocenić zużycie zasobów i kondycję bazy danych lub elastycznej puli na pierwszy rzut oka.

Zrzut ekranu z portalu Azure przedstawiający wykres metryk na stronie przeglądu bazy danych Azure SQL.

Pod główne metryki, wybierz zobacz wszystkie metryki lub w dowolnym miejscu na wykresie, aby otworzyć eksplorator metryk. Na stronie Metrics możesz zobaczyć wszystkie inne dostępne metryki dla bazy danych lub zasobu elastycznej puli. W eksploratorze metryk możesz zmienić zakres czasu, szczegółowość i typ agregacji na wykresie, zmienić typ wykresu, rozszerzyć zakres, aby uwzględnić metryki z innych zasobów Azure, tworzyć zasady alertów itp. Możesz także otworzyć eksplorator metryk, wybierając pozycję menu Metryki w obszarze Monitorowanie w menu zasobów.

Używaj metryk do monitorowania baz danych i pul elastycznych

Możesz używać metryk do monitorowania zużycia zasobów i ich kondycji w bazach danych oraz pulach elastycznych. Na przykład, możesz:

  • Dostosuj rozmiar bazy danych lub elastycznego zasobu do obciążenia aplikacji
  • Wykryj stopniowy wzrost zużycia zasobów i proaktywnie zwiększ skalę bazy danych lub elastycznej puli.
  • Wykryj i rozwiąż problem z wydajnością

Poniższa tabela opisuje powszechnie używane metryki w bazie danych Azure SQL.

Nazwa miary Metryka ID Opis
Procent użycia procesora CPU cpu_percent Ten wskaźnik pokazuje zużycie CPU w odniesieniu do limitu obciążenia użytkownika baz danych lub elastycznego puli, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz Resource consumption by user workloads and internal processes.
SQL procent użycia CPU sql_instance_cpu_percent Ten wskaźnik pokazuje całkowite zużycie procesora przez obciążenia użytkownika i systemu, wyrażone jako procent. Ponieważ ta metryka i metryka procentu CPU są mierzone na różnych skalach, nie można ich bezpośrednio ze sobą porównać. Aby uzyskać więcej informacji, zobacz Resource consumption by user workloads and internal processes.
Procent danych IO physical_data_read_percent Ten wskaźnik pokazuje zużycie IO pliku danych w stosunku do limitu obciążenia użytkownika bazy danych lub puli elastycznej, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz Data IO governance.
Procent operacji we/wy dziennika log_write_percent Ten wskaźnik pokazuje wykorzystanie przepustowości zapisu dziennika transakcji w stosunku do limitu obciążenia użytkownika dla bazy danych lub elastycznej puli, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz Zarządzanie stawką dziennika transakcji.
Procent pracowników workers_percent Ta metryka pokazuje zużycie wątków worker w stosunku do limitu obciążenia użytkownika w bazie danych lub elastycznej puli, wyrażone jako procent.
Procent DTU dtu_consumption_percent Ten wskaźnik pokazuje zużycie DTU w stosunku do limitu obciążenia użytkownika dla bazy danych lub elastycznej puli, wyrażone jako procent. Procent DTU jest obliczany na podstawie trzech innych miar: procent CPU, procent wejścia-wyjścia danych oraz procent wejścia-wyjścia dziennika. W dowolnym momencie, procent DTU odpowiada najwyższej wartości wśród tych trzech metryk.
Zużycie procesora cpu_used Ta metryka pokazuje zużycie CPU w stosunku do limitu obciążenia roboczego użytkownika bazy danych lub elastycznej puli, wyrażone jako liczba vCores. Aby uzyskać więcej informacji, zobacz Diagnozowanie i rozwiązywanie problemów z wysokim zużyciem CPU w bazie danych Azure SQL.
Użyto DTU dtu_used ** Ten wskaźnik pokazuje liczbę DTU używanych przez bazę danych lub pulę elastyczną.
Opłata za procesor aplikacji app_cpu_billed Dla baz danych bezserwerowych ten wskaźnik pokazuje ilość mocy obliczeniowej (CPU i pamięci) rozliczanej, wyrażanej w sekundy vCore. Aby uzyskać więcej informacji, zobacz Billing in the serverless compute tier.
Procent użycia CPU aplikacji app_cpu_percent Dla baz danych bezserwerowych, ten wskaźnik pokazuje zużycie CPU w odniesieniu do maksymalnego limitu vCore pakietu aplikacji, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz Monitorowanie w warstwie obliczeniowej bezserwerowej.
Procent pamięci aplikacji app_memory_percent Dla baz danych bezserwerowych, ten wskaźnik pokazuje zużycie pamięci w stosunku do maksymalnego limitu pamięci pakietu aplikacji, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz Monitorowanie w warstwie obliczeniowej bezserwerowej.
Liczba sesji sessions_count Ta metryka pokazuje liczbę ustanowionych sesji użytkowników dla bazy danych lub elastycznej puli.
Wykorzystana przestrzeń danych storage Dla baz danych, metryka ta pokazuje ilość miejsca na dysku wykorzystywanego w plikach danych bazy danych.
Wykorzystana przestrzeń danych storage_used Dla pul elastycznych ten wskaźnik pokazuje ilość miejsca na dane używanego w plikach danych wszystkich baz danych w elastycznej puli.
Przestrzeń danych przydzielona allocated_data_storage Ta metryka pokazuje ilość miejsca na dysku zajmowanego przez pliki danych bazy danych lub przez pliki danych wszystkich baz danych w elastycznej puli. Pliki danych mogą zawierać puste miejsce. Z tego powodu, przydzielona przestrzeń danych jest często większa niż wykorzystana przestrzeń danych dla tej samej bazy danych lub puli elastycznej. Aby uzyskać więcej informacji, zobacz Zarządzanie przestrzenią plików dla baz danych w Azure SQL Database.
Procent używanej przestrzeni danych storage_percent Dla baz danych, ta metryka pokazuje ilość miejsca zajmowanego przez pliki danych bazy danych w stosunku do limitu rozmiaru danych tej bazy. Dla puli elastycznej pokazuje ilość miejsca na przechowywanie danych używaną w plikach danych wszystkich baz danych w puli elastycznej, wyrażoną jako procent w stosunku do limitu rozmiaru danych puli elastycznej. Limit rozmiaru danych dla bazy danych lub puli elastycznej może być ustawiony niżej niż maksymalny limit rozmiaru danych. Aby znaleźć maksymalny limit rozmiaru danych, zobacz limity zasobów dla baz danych vCore, puli elastycznych vCore, baz danych DTU i puli elastycznych DTU.
Procent przydzielonej przestrzeni danych allocated_data_storage_percent W przypadku pul elastycznych, ta metryka pokazuje ilość przestrzeni dyskowej zajmowanej przez pliki danych wszystkich baz danych w puli elastycznej w odniesieniu do limitu rozmiaru danych dla puli, wyrażoną jako procent.
Procent użycia dziennika Tempdb tempdb_log_used_percent Ten wskaźnik pokazuje zużycie przestrzeni dziennika transakcji w bazie danych tempdb w stosunku do maksymalnego rozmiaru dziennika, wyrażone jako procent. Aby uzyskać więcej informacji, zobacz tempdb w bazie danych Azure SQL.
Udane połączenia connection_successful Ta metryka pokazuje liczbę pomyślnie nawiązanych połączeń z bazą danych. Ta metryka może być podzielona na dwa wymiary: SslProtocol i ValidatedDriverNameAndVersion, aby zobaczyć liczbę połączeń przy użyciu konkretnej wersji protokołu szyfrowania lub konkretnego sterownika klienta.
Nieudane połączenia: błędy systemu connection_failed Metryka ta pokazuje liczbę prób połączenia z bazą danych, które nie powiodły się z powodu wewnętrznych błędów serwisowych. Najczęściej takie błędy są przejściowe. Ta metryka może być podzielona według dwóch wymiarów, Error i ValidatedDriverNameAndVersion, aby zobaczyć liczbę nieudanych prób połączenia spowodowanych określonym błędem lub pochodzących od konkretnego sterownika klienta.
Nieudane połączenia: Błędy użytkownika connection_failed_user_error Ta metryka pokazuje liczbę prób połączeń z bazą danych, które nie powiodły się z powodu błędów możliwych do skorygowania przez użytkownika, takich jak nieprawidłowe hasło lub połączenie zablokowane przez firewall. Ta metryka może być podzielona według dwóch wymiarów, Error i ValidatedDriverNameAndVersion, aby zobaczyć liczbę nieudanych prób połączenia spowodowanych określonym błędem lub pochodzących od konkretnego sterownika klienta.
Zakleszczenia deadlock Metryka ta pokazuje liczbę zakleszczeń w bazie danych.
dostępność availability Dostępność jest ustalana na podstawie tego, czy baza danych jest operacyjna dla połączeń. Dla każdego punktu danych z jedną minutą, możliwe wartości to albo 100% albo 0%. Więcej informacji można znaleźć w metryce dostępności.
Opóźnienie replikacji (wersja zapoznawcza) replication_lag_seconds Opóźnienie replikacji to przedział czasu w sekundach od momentu zatwierdzenia transakcji w lokalizacji podstawowej i potwierdzenia przez pomocniczą, że aktualizacja dziennika transakcji została utrwalone. Ta wartość jest dostępna tylko w podstawowej bazie danych. Aby uzyskać więcej informacji na temat celu punktu odzyskiwania i celu punktu odzyskiwania, zobacz Ciągłość działania w usłudze Azure SQL Database

Wskaźnik dostępności

Metryka dostępności śledzi dostępność na poziomie poszczególnych baz danych Azure SQL.

Dostępność jest szczegółowa do jednej minuty przerwy w połączeniu. Dostępność jest ustalana na podstawie tego, czy baza danych jest operacyjna dla połączeń. Minuta jest uznawana za czas przestoju lub niedostępności, jeśli wszystkie ciągłe próby użytkowników nawiązania połączenia z bazą danych w danej minucie nie powiodą się z powodu problemu z usługą. Jeśli występują okresowe niedostępności, czas trwania ciągłej niedostępności musi przekroczyć granicę minuty, aby był uznany za czas przestoju. Typowo opóźnienie w wyświetlaniu dostępności wynosi mniej niż trzy minuty.

Oto logika używana do obliczania dostępności dla każdej jednominutowej przerwy czasowej:

  • Jeśli istnieje przynajmniej jedno udane połączenie, dostępność wynosi 100%.
  • Jeśli wszystkie połączenia nie powiodą się z powodu błędów użytkownika, dostępność wynosi 100%.
  • Jeśli nie ma prób połączeń, dostępność wynosi 100%.
  • Jeśli wszystkie połączenia zawodzą z powodu błędów systemu, dostępność wynosi 0%.
  • Obecnie dane metryk dostępności nie są obsługiwane w przypadku bezserwerowej warstwy obliczeniowej, a wyświetlana wartość to 100%.

Metryka dostępności jest więc metryką złożoną wyprowadzoną z następujących istniejących metryk:

  • Udane połączenia
  • Nieudane połączenia: Błędy użytkownika
  • Zablokowano przez Zaporę Sieciową
  • Nieudane połączenia: błędy systemu

Błędy użytkownika obejmują wszystkie połączenia, które zawodzą z powodu konfiguracji użytkownika, obciążenia roboczego lub zarządzania. Błędy systemowe obejmują wszystkie połączenia, które zawodzą z powodu chwilowych problemów związanych z usługą Azure SQL Database.

Powiadomienia

Możesz tworzyć reguły alertów, aby powiadamiały Cię, że wartość jednej metryki lub kilku metryk znajduje się poza oczekiwanym zakresem.

Możesz określić zakres reguły alertu na różne sposoby, aby dostosować go do swoich potrzeb. Na przykład, zakres reguły alertu można ustawić na:

  • Pojedyncza baza danych
  • Elastyczna pula
  • Wszystkie bazy danych lub pule elastyczne w grupie zasobów
  • Wszystkie bazy danych lub pule elastyczne w subskrypcji w obrębie regionu Azure
  • Wszystkie bazy danych lub pule elastyczne w subskrypcji we wszystkich regionach

Zasady alertów okresowo oceniają zagregowane wartości metryk wstecz, porównując je z wartością progową. Możesz skonfigurować wartość progową, częstotliwość oceny oraz okres wsteczny.

Jeśli zasada alertu zostanie uruchomiona, zostaniesz powiadomiony zgodnie z preferencjami powiadomień, które określasz w powiązanej z zasadą alertu grupie działań. Na przykład możesz otrzymać wiadomość e-mail, SMS lub powiadomienie głosowe. Reguła alertu może również uruchamiać działania takie jak webhooki, runbooki automatyzacji, funkcje, aplikacje logiki itp. Możesz zintegrować alerty z obsługiwanymi produktami do zarządzania usługami IT.

Aby dowiedzieć się więcej o alertach Azure Monitor, zobacz przegląd alertów Azure Monitor. Aby zapoznać się z alertami metrycznymi, przejrzyj Alerty metryczne, Zarządzaj regułami alertów i Grupy akcji.

Metryki i optymalne progi do wykorzystania w zasadach ostrzegawczych różnią się w szerokim spektrum obciążeń roboczych klientów w Azure SQL Database.

Zalecane alerty przedstawione w poniższej tabeli stanowią punkt wyjścia, który pomoże Ci zdefiniować optymalną konfigurację powiadomień dla zasobów Azure SQL Database. W zależności od twoich wymagań, twoja konfiguracja może różnić się od tego przykładu. Możesz używać różnych progów, częstotliwości oceniania lub okresów przeglądowych. Możesz zdecydować się na utworzenie dodatkowych alertów lub użyć różnych konfiguracji reguł alertów dla różnych aplikacji i środowisk.

Oto przykłady typowych konfiguracji reguł alertów.

Nazwa reguły alertu Metryka (sygnał) Logika alertów Kiedy oceniać Sugerowana dotkliwość
Wysokie zużycie CPU przez użytkownika Procent użycia procesora CPU Próg: Static
Agregacja: Average
Operator: Greater than
Wartość progowa: 90
Sprawdź co: 1 minute
Okres wsteczny: 10 minutes
2 - Ostrzeżenie
Wysokie całkowite użycie procesora CPU SQL procent użycia CPU Próg: Static
Agregacja: Average
Operator: Greater than
Wartość progowa: 90
Sprawdź co: 1 minute
Okres wsteczny: 10 minutes
2 - Ostrzeżenie
Wysokie wykorzystanie pracowników Procent pracowników Próg: Static
Agregacja: Minimum
Operator: Greater than
Wartość progowa: 60
Sprawdź co: 1 minute
Okres wsteczny: 5 minutes
1 - Błąd
Wysokie wykorzystanie danych wejścia/wyjścia (I/O) Procent danych IO Próg: Static
Agregacja: Average
Operator: Greater than
Wartość progowa: 90
Sprawdź co: 1 minute
Okres wsteczny: 15 minutes
3 - Informacyjny
Mało miejsca na dane Procent używanej przestrzeni danych Próg: Static
Agregacja: Minimum
Operator: Greater than
Wartość progowa: 95
Sprawdź co: 15 minute
Okres wsteczny: 15 minutes
1 - Błąd
Niska przestrzeń dziennika tempdb Procent użycia dziennika Tempdb Próg: Static
Agregacja: Minimum
Operator: Greater than
Wartość progowa: 60
Sprawdź co: 1 minute
Okres wsteczny: 5 minutes
1 - Błąd
Zakleszczenia Zakleszczenia Próg: Dynamic
Agregacja: Total
Operator: Greater than
Czułość progu: Medium
Sprawdź co: 15 minutes
Okres wsteczny: 1 hour
3 - Informacyjny
Nieudane połączenia (błędy użytkownika) Nieudane połączenia: Błędy użytkownika Próg: Dynamic
Agregacja: Total
Operator: Greater than
Czułość progu: Medium
Sprawdź co: 5 minutes
Okres wsteczny: 15 minutes
2 - Ostrzeżenie
Nieudane połączenia (błędy systemowe) Nieudane połączenia: błędy systemu Próg: Static
Agregacja: Total
Operator: Greater than
Jednostka: Count
Wartość progowa: 10
Sprawdź co: 1 minute
Okres wsteczny: 5 minutes
2 - Ostrzeżenie
Anomalna szybkość połączenia Udane połączenia Próg: Dynamic
Agregacja: Total
Operator: Greater or Less than
Czułość progu: Low
Sprawdź co: 5 minutes
Okres wsteczny: 15 minutes
2 - Ostrzeżenie

Niektóre z zalecanych reguł alertów używają dynamicznych progów do wykrywania anormalnych wzorców metryk, które mogą wymagać uwagi. Zasady alarmowania oparte na dynamicznych progach nie są uruchamiane, dopóki nie zostanie zebrana wystarczająca ilość danych historycznych, aby ustalić normalne wzorce. Aby uzyskać więcej informacji, zobacz Dynamic thresholds in metric alerts.

Domyślnie, alerty metryczne są stanowe. To oznacza, że gdy reguła alertu zostanie uruchomiona, alert jest wyzwalany tylko raz. Alert pozostaje w stanie fired do momentu rozwiązania, po czym wysyłane jest powiadomienie resolved. Reguła alertu wyzwala nowy alert tylko wtedy, gdy poprzedni alert zostanie rozwiązany. Alerty stanowe unikają częstych powiadomień o trwającym stanie. Aby uzyskać więcej informacji o alertach z pamięcią stanową i bez pamięci stanowej, zobacz Alerty i stan.