Monitorowanie usługi Azure SQL Database przy użyciu metryk i alertów
Dotyczy: Azure SQL Database
Metryki usługi Azure Monitor umożliwiają monitorowanie użycia i kondycji zasobów bazy danych i puli elastycznej. Alerty umożliwiają wysyłanie powiadomień, gdy wartości metryk wskazują potencjalny problem.
Metryki
Metryka jest serią wartości liczbowych mierzonych w regularnych odstępach czasu, często używając jednostek, takich jak count
, percent
, bytes
itp. W zależności od charakteru metryki można użyć agregacji, takich jak total
, average
count
, , minimum
maximum
do obliczania wartości metryk w czasie. Niektóre metryki można podzielić według wymiarów. Każdy wymiar udostępnia dodatkowy kontekst wartości liczbowych.
Przykłady dostępnych metryk usługi Azure SQL Database to: CPU percentage
, Data space used
, Deadlocks
, Tempdb Percent Log Used
.
Zobacz Metryki bazy danych i metryki elastycznej puli, aby uzyskać wszystkie dostępne metryki w usłudze Azure SQL Database.
Uwaga
Niektóre metryki dotyczą tylko określonych typów baz danych lub elastycznych pul. Opis każdej metryki wskazuje, czy jest ona ograniczona do określonej bazy danych lub typu puli elastycznej, takich jak rdzenie wirtualne, hiperskala, bezserwerowa itp.
W portalu usługi Azure SQL Database kilka często używanych metryk jest wykresów na karcie Monitorowanie na stronie Przegląd. Metryki umożliwiają błyskawiczną ocenę zużycia zasobów i kondycji bazy danych lub elastycznej puli.
W obszarze Kluczowe metryki wybierz pozycję Zobacz wszystkie metryki lub dowolne miejsce na wykresie, aby otworzyć eksploratora metryk. Na stronie Metryki można wyświetlić wszystkie inne dostępne metryki dla zasobu bazy danych lub puli elastycznej. W Eksploratorze metryk można zmienić zakres czasu, stopień szczegółowości i typ agregacji wykresu, zmienić typ wykresu, rozwinąć zakres, aby uwzględnić metryki z innych zasobów platformy Azure, utworzyć reguły alertów itp. Eksplorator metryk można również otworzyć, wybierając pozycję menu Metryki w obszarze Monitorowanie w menu zasobów.
Monitorowanie baz danych i elastycznych pul przy użyciu metryk
Metryki umożliwiają monitorowanie użycia i kondycji zasobów bazy danych i puli elastycznej. Można na przykład:
- Ustawianie odpowiedniego rozmiaru bazy danych lub elastycznej puli na obciążenie aplikacji
- Wykrywanie stopniowego wzrostu zużycia zasobów i proaktywne skalowanie w górę bazy danych lub elastycznej puli
- Wykrywanie i rozwiązywanie problemu z wydajnością
W poniższej tabeli opisano często używane metryki w usłudze Azure SQL Database.
Nazwa metryki | Identyfikator metryki | opis |
---|---|---|
Procent użycia procesora CPU | cpu_percent |
Ta metryka pokazuje użycie procesora CPU w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako wartość procentowa. Aby uzyskać więcej informacji, zobacz Użycie zasobów według obciążeń użytkownika i procesów wewnętrznych. |
Procent użycia procesora CPU wystąpienia SQL | sql_instance_cpu_percent |
Ta metryka pokazuje całkowite użycie procesora PRZEZ obciążenia użytkownika i systemu wyrażone jako wartość procentowa. Ponieważ ta metryka i metryka procentowa procesora CPU są mierzone na różnych skalach, nie są one bezpośrednio porównywalne ze sobą. Aby uzyskać więcej informacji, zobacz Użycie zasobów według obciążeń użytkownika i procesów wewnętrznych. |
Procent operacji we/wy danych | physical_data_read_percent |
Ta metryka pokazuje użycie operacji we/wy pliku danych w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako wartość procentowa. Aby uzyskać więcej informacji, zobacz Zarządzanie we/wy danych. |
Procent operacji we/wy dziennika | log_write_percent |
Ta metryka pokazuje użycie przepływności zapisu dziennika transakcji w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako wartość procentowa. Aby uzyskać więcej informacji, zobacz Zarządzanie szybkością dzienników transakcji. |
Procent pracowników | workers_percent |
Ta metryka pokazuje zużycie wątków roboczych w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako wartość procentowa. |
Procent jednostek DTU | dtu_consumption_percent |
Ta metryka pokazuje użycie jednostek DTU w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako wartość procentowa. Procent jednostek DTU pochodzi z trzech innych metryk: procent procesora CPU, procent operacji we/wy danych i procent operacji we/wy dziennika. W dowolnym momencie procent jednostek DTU odpowiada najwyższej wartości spośród tych trzech metryk. |
Używane procesory CPU | cpu_used |
Ta metryka pokazuje użycie procesora CPU w kierunku limitu obciążenia użytkownika bazy danych lub elastycznej puli wyrażonej jako liczba rdzeni wirtualnych. Aby uzyskać więcej informacji, zobacz Diagnozowanie i rozwiązywanie problemów z wysokim użyciem procesora CPU w usłudze Azure SQL Database. |
Używane jednostki DTU | dtu_used |
Ta metryka przedstawia liczbę jednostek DTU używanych przez bazę danych lub pulę elastyczną. |
Rozliczane użycie procesora CPU aplikacji | app_cpu_billed |
W przypadku baz danych bezserwerowych ta metryka pokazuje ilość zasobów obliczeniowych (procesora CPU i pamięci) rozliczanych w sekundach rdzeni wirtualnych. Aby uzyskać więcej informacji, zobacz Rozliczenia w bezserwerowej warstwie obliczeniowej. |
Procent użycia procesora CPU aplikacji | app_cpu_percent |
W przypadku baz danych bezserwerowych ta metryka pokazuje użycie procesora CPU w kierunku maksymalnego limitu rdzeni wirtualnych pakietu aplikacji, wyrażonego jako wartość procentowa. Aby uzyskać więcej informacji, zobacz Monitorowanie w bezserwerowej warstwie obliczeniowej. |
Procent pamięci aplikacji | app_memory_percent |
W przypadku baz danych bezserwerowych ta metryka pokazuje zużycie pamięci w kierunku maksymalnego limitu pamięci pakietu aplikacji wyrażonego jako wartość procentowa. Aby uzyskać więcej informacji, zobacz Monitorowanie w bezserwerowej warstwie obliczeniowej. |
Liczba sesji | sessions_count |
Ta metryka przedstawia liczbę ustanowionych sesji użytkownika dla bazy danych lub elastycznej puli. |
Używane miejsce danych | storage |
W przypadku baz danych ta metryka pokazuje ilość miejsca do magazynowania używanego w plikach danych bazy danych. |
Używane miejsce danych | storage_used |
W przypadku pul elastycznych ta metryka przedstawia ilość miejsca do magazynowania używanego w plikach danych wszystkich baz danych w elastycznej puli. |
Przydzielone miejsce na dane | allocated_data_storage |
Ta metryka pokazuje ilość miejsca do magazynowania zajmowanego przez pliki danych bazy danych lub pliki danych wszystkich baz danych w elastycznej puli. Pliki danych mogą zawierać puste miejsce. W związku z tym miejsce na dane przydzielone, jeśli jest często wyższe niż miejsce na dane używane dla tej samej bazy danych lub elastycznej puli. Aby uzyskać więcej informacji, zobacz Zarządzanie miejscem na pliki dla baz danych w usłudze Azure SQL Database. |
Procent używanego miejsca na danych | storage_percent |
W przypadku baz danych ta metryka pokazuje ilość miejsca do magazynowania używanego w plikach danych bazy danych w kierunku limitu rozmiaru bazy danych. W przypadku elastycznych pul pokazuje ilość miejsca do magazynowania używanego w plikach danych wszystkich baz danych w elastycznej puli, wyrażoną jako wartość procentowa w stosunku do limitu rozmiaru danych elastycznej puli. Limit rozmiaru danych dla bazy danych lub elastycznej puli może być skonfigurowany poniżej maksymalnego limitu rozmiaru danych. Aby znaleźć maksymalny limit rozmiaru danych, zobacz Limity zasobów dla baz danych rdzeni wirtualnych, elastycznych pul rdzeni wirtualnych, baz danych JEDNOSTEK DTU i elastycznych pul jednostek DTU. |
Przydzielony procent miejsca na dane | allocated_data_storage_percent |
W przypadku pul elastycznych ta metryka pokazuje ilość miejsca do magazynowania zajmowanego przez pliki danych wszystkich baz danych w elastycznej puli w kierunku limitu rozmiaru danych puli, wyrażonego jako wartość procentowa. |
Używany dziennik procentu bazy danych Tempdb | tempdb_log_used_percent |
Ta metryka pokazuje zużycie miejsca dziennika transakcji w tempdb bazie danych w kierunku maksymalnego rozmiaru dziennika wyrażonego jako wartość procentowa. Aby uzyskać więcej informacji, zobacz tempdb w usłudze Azure SQL Database. |
Pomyślne połączenia | connection_successful |
Ta metryka pokazuje liczbę pomyślnie nawiązanych połączeń z bazą danych. Ta metryka może być podzielona przez dwa wymiary i SslProtocol ValidatedDriverNameAndVersion , aby wyświetlić liczbę połączeń przy użyciu określonej wersji protokołu szyfrowania lub użyć określonego sterownika klienta. |
Nieudane połączenia: błędy systemowe | connection_failed |
Ta metryka pokazuje liczbę prób nawiązania połączenia z bazą danych, która nie powiodła się z powodu błędów usługi wewnętrznej. Najczęściej takie błędy są przejściowe. Ta metryka może być podzielona przez dwa wymiary i Error ValidatedDriverNameAndVersion , aby wyświetlić liczbę nieudanych prób połączenia z powodu określonego błędu lub z określonego sterownika klienta. |
Nieudane połączenia: błędy użytkownika | connection_failed_user_error |
Ta metryka pokazuje liczbę prób nawiązania połączenia z bazą danych, która nie powiodła się z powodu błędów możliwych do naprawienia przez użytkownika, takich jak nieprawidłowe hasło lub połączenie zablokowane przez zaporę. Ta metryka może być podzielona przez dwa wymiary i Error ValidatedDriverNameAndVersion , aby wyświetlić liczbę nieudanych prób połączenia z powodu określonego błędu lub z określonego sterownika klienta. |
Zakleszczenia | deadlock |
Ta metryka pokazuje liczbę zakleszczeń w bazie danych. |
Dostępność | availability |
Dostępność jest określana na podstawie operacyjnej bazy danych dla połączeń. Dla każdego jednominutowego punktu danych możliwe wartości to 100% lub 0% . Aby uzyskać więcej informacji, zobacz Metryka dostępności. |
Metryki dostępności
Metryka Dostępność śledzi dostępność na poziomie pojedynczej usługi Azure SQL Database. Ta funkcja jest aktualnie dostępna jako funkcja podglądu.
Dostępność jest szczegółowa do jednej minuty przestoju połączenia. Dostępność jest określana na podstawie operacyjnej bazy danych dla połączeń. Minuta jest traktowana jako przestój lub niedostępna, jeśli wszystkie ciągłe próby nawiązania połączenia z bazą danych w ciągu minuty kończą się niepowodzeniem z powodu problemu z usługą. Jeśli występuje sporadycznie niedostępność, czas trwania ciągłej niedostępności musi przekroczyć granicę minuty, która ma zostać uznana za przestój. Zazwyczaj opóźnienie wyświetlania dostępności wynosi mniej niż trzy minuty.
Oto logika używana do obliczania dostępności dla każdego interwału co minutę:
- Jeśli istnieje co najmniej jedno pomyślne połączenie, dostępność wynosi 100%.
- Jeśli wszystkie połączenia kończą się niepowodzeniem z powodu błędów użytkownika, dostępność wynosi 100%.
- Jeśli nie ma żadnych prób nawiązania połączenia, dostępność wynosi 100%.
- Jeśli wszystkie połączenia kończą się niepowodzeniem z powodu błędów systemowych, dostępność wynosi 0%.
- Obecnie dane metryk dostępności nie są jeszcze obsługiwane dla bezserwerowej warstwy obliczeniowej i będą wyświetlane jako 100%.
W związku z tym metryka dostępności jest złożoną metryką pochodzącą z następujących istniejących metryk:
- Pomyślne połączenia
- Nieudane połączenia: błędy użytkownika
- Zablokowane przez zaporę
- Nieudane połączenia: błędy systemowe
Błędy użytkownika obejmują wszystkie połączenia, które kończą się niepowodzeniem z powodu konfiguracji użytkownika, obciążenia lub zarządzania. Błędy systemowe obejmują wszystkie połączenia, które kończą się niepowodzeniem z powodu przejściowych problemów związanych z usługą Azure SQL Database.
Przykłady błędów spowodowanych konfiguracją użytkownika:
Przykłady błędów spowodowanych obciążeniem użytkownika:
Przykłady błędów spowodowanych przez zarządzanie użytkownikami:
- Skalowanie w górę lub w dół bazy danych lub elastycznej puli
- Planowana lub nieplanowana replikacja geograficzna w trybie failover
- Planowana lub nieplanowana praca w trybie failover grupy trybu failover
- Pomocnicza baza danych geograficzna w stanie rozmieszczania
- Baza danych, która jest w stanie przywracania z powodu przywracania do punktu w czasie (PITR), przywracania długoterminowego (LTR) lub przywracania z usuniętej bazy danych
- Baza danych, która nie została jeszcze ukończona, jest kopiowana (kopia bazy danych)
Alerty
Możesz utworzyć reguły alertów, aby powiadomić Cię, że wartość jednej metryki lub wielu metryk znajduje się poza oczekiwanym zakresem.
Zakres reguły alertu można ustawić na wiele sposobów, aby odpowiadał twoim potrzebom. Na przykład zakres reguły alertu można ustawić na:
- Pojedyncza baza danych
- Elastyczna pula
- Wszystkie bazy danych lub elastyczne pule w grupie zasobów
- Wszystkie bazy danych lub elastyczne pule w subskrypcji w regionie świadczenia usługi Azure
- Wszystkie bazy danych lub elastyczne pule w subskrypcji we wszystkich regionach
Reguły alertów okresowo oceniają zagregowane wartości metryk w okresie wyszukiwania, porównując je z wartością progową. Możesz skonfigurować wartość progową, częstotliwość oceny i okres wyszukiwania.
Jeśli zostanie wyzwolona reguła alertu, otrzymasz powiadomienie zgodnie z preferencjami powiadomień określonymi w grupie akcji połączonej z regułą alertu. Możesz na przykład otrzymać wiadomość e-mail, wiadomość SMS lub powiadomienie głosowe. Reguła alertu może również wyzwalać akcje, takie jak elementy webhook, elementy Runbook automatyzacji, funkcje, aplikacje logiki itp. Alerty można zintegrować z obsługiwanymi produktami do zarządzania usługami IT.
Aby dowiedzieć się więcej na temat alertów usługi Azure Monitor, zobacz Omówienie alertów usługi Azure Monitor. Aby zapoznać się z alertami metryk, zapoznaj się z tematem Alerty metryk, Zarządzanie regułami alertów i grupami akcji.
Zalecane reguły alertów
Metryki i optymalne progi używane w regułach alertów różnią się w szerokim spektrum obciążeń klientów w usłudze Azure SQL Database.
Zalecane alerty w poniższej tabeli stanowią punkt wyjścia, który ułatwia zdefiniowanie optymalnej konfiguracji alertów dla zasobów usługi Azure SQL Database. W zależności od wymagań konfiguracja może się różnić od tego przykładu. Możesz użyć różnych progów, częstotliwości oceny lub okresów wyszukiwania. Możesz utworzyć dodatkowe alerty 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 alertu | Kiedy należy ocenić | Sugerowana ważność |
---|---|---|---|---|
Wysokie użycie procesora CPU przez użytkownika | Procent użycia procesora CPU | Próg: Agregacja: Static Average Operator: Greater than Wartość progowa: 90 |
Sprawdź co: 1 minute okres wyszukiwania: 10 minutes |
2 — Ostrzeżenie |
Wysokie całkowite użycie procesora CPU | Procent użycia procesora CPU wystąpienia SQL | Próg: Agregacja: Static Average Operator: Greater than Wartość progowa: 90 |
Sprawdź co: 1 minute okres wyszukiwania: 10 minutes |
2 — Ostrzeżenie |
Wysokie użycie procesów roboczych | Procent pracowników | Próg: Agregacja: Static Minimum Operator: Greater than Wartość progowa: 60 |
Sprawdź co: 1 minute okres wyszukiwania: 5 minutes |
1 — Błąd |
Wysokie użycie operacji we/wy danych | Procent operacji we/wy danych | Próg: Agregacja: Static Average Operator: Greater than Wartość progowa: 90 |
Sprawdź co: 1 minute okres wyszukiwania: 15 minutes |
3 — Informacyjny |
Mała ilość miejsca na dane | Procent używanego miejsca na danych | Próg: Agregacja: Static Minimum Operator: Greater than Wartość progowa: 95 |
Sprawdź co: 15 minute okres wyszukiwania: 15 minutes |
1 — Błąd |
Mała tempdb ilość miejsca w dzienniku |
Używany dziennik procentu bazy danych Tempdb | Próg: Agregacja: Static Minimum Operator: Greater than Wartość progowa: 60 |
Sprawdź co: 1 minute okres wyszukiwania: 5 minutes |
1 — Błąd |
Zakleszczenia | Zakleszczenia | Próg: Agregacja: Dynamic Total Operator: Greater than Czułość progowa: Medium |
Sprawdź co: 15 minutes okres wyszukiwania: 1 hour |
3 — Informacyjny |
Nieudane połączenia (błędy użytkownika) | Nieudane połączenia: błędy użytkownika | Próg: Agregacja: Dynamic Total Operator: Greater than Czułość progowa: Medium |
Sprawdź co: 5 minutes okres wyszukiwania: 15 minutes |
2 — Ostrzeżenie |
Nieudane połączenia (błędy systemowe) | Nieudane połączenia: błędy systemowe | Próg: Agregacja: Static Total Operator: Jednostka: Greater than Count Wartość progowa: 10 |
Sprawdź co: 1 minute okres wyszukiwania: 5 minutes |
2 — Ostrzeżenie |
Nietypowa szybkość połączenia | Pomyślne połączenia | Próg: Agregacja: Dynamic Total Operator: Greater or Less than Czułość progowa: Low |
Sprawdź co: 5 minutes okres wyszukiwania: 15 minutes |
2 — Ostrzeżenie |
Niektóre z zalecanych reguł alertów używają progów dynamicznych do wykrywania nietypowych wzorców metryk, które mogą wymagać uwagi. Reguły alertów oparte na progach dynamicznych nie są wyzwalane do momentu zebrania wystarczających danych historycznych w celu ustanowienia normalnych wzorców. Aby uzyskać więcej informacji, zobacz Dynamiczne progi w alertach dotyczących metryk.
Domyślnie alerty metryk są stanowe. Oznacza to, że po wyzwoleniu reguły alertu alert zostanie wyzwolony tylko raz. Alert pozostaje w fired
stanie, dopóki nie zostanie rozwiązany, w którym momencie resolved
zostanie wysłane powiadomienie. Reguła alertu wyzwala nowy alert tylko po rozwiązaniu poprzedniego alertu. Alerty stanowe unikają częstych powiadomień o trwającym stanie. Aby uzyskać więcej informacji na temat alertów stanowych i bezstanowych, zobacz Alerty i stan.
Powiązana zawartość
- Przegląd metryk usługi Azure Monitor
- Monitorowanie obciążeń usługi Azure SQL za pomocą obserwatora bazy danych (wersja zapoznawcza)
- Analizowanie metryk za pomocą eksploratora metryk usługi Azure Monitor
- Agregacja i wyświetlanie metryk usługi Azure Monitor — objaśnione
- Omówienie alertów usługi Azure Monitor
- Samouczek: Tworzenie alertu metryk dla zasobu platformy Azure
- Najlepsze rozwiązania dotyczące alertów w usłudze Azure Monitor
- Rozwiązywanie problemów z alertami usługi Azure Monitor
- Monitorowanie i dostrajanie wydajności usługi Azure SQL Database i wystąpienia zarządzanego Azure SQL
- Konfigurowanie eksportu przesyłania strumieniowego danych telemetrycznych usługi SQL Managed Instance i usługi Azure SQL Database