Monitorowanie usługi Azure Database for MySQL — serwer elastyczny
DOTYCZY: Azure Database for MySQL — serwer elastyczny
Serwer elastyczny usługi Azure Database for MySQL zapewnia monitorowanie serwerów za pośrednictwem usługi Azure Monitor. Monitorowanie danych dotyczących serwerów ułatwia rozwiązywanie problemów i optymalizowanie pod kątem obciążenia.
W tym artykule przedstawiono różne dostępne metryki i dzienniki serwera dla serwera elastycznego, które zapewniają wgląd w zachowanie serwera.
Uwaga
Ten artykuł zawiera odwołania do terminu slave (element podrzędny), który nie jest już używany przez firmę Microsoft. Po usunięciu terminu z oprogramowania usuniemy go z tego artykułu.
Metryki
Metryki to wartości liczbowe, które opisują jakiś aspekt zasobów serwera w określonym czasie. Monitorowanie zasobów serwera ułatwia rozwiązywanie problemów i optymalizowanie obciążenia, umożliwiając monitorowanie najważniejszych elementów. Monitorowanie odpowiednich metryk pomaga zachować wydajność, niezawodność i dostępność serwera i aplikacji.
Elastyczny serwer usługi Azure Database for MySQL udostępnia różne metryki, aby zrozumieć, jak działa obciążenie i na podstawie tych danych, możesz zrozumieć wpływ na serwer i aplikację.
Wszystkie metryki platformy Azure mają częstotliwość wynoszącą jedną minutę, a każda metryka zapewnia 30 dni historii. Można skonfigurować alerty dotyczące metryk. Aby uzyskać szczegółowe wskazówki, zobacz Jak skonfigurować alerty. Inne zadania obejmują konfigurowanie zautomatyzowanych akcji, wykonywanie zaawansowanych analiz i historię archiwizacji. Aby uzyskać więcej informacji, zobacz Omówienie metryk platformy Azure.
Rozwiązywanie problemów z metrykami
Czasami mogą wystąpić problemy z tworzeniem, dostosowywaniem lub interpretowaniem wykresów w Eksploratorze metryk platformy Azure. Sytuacja wykresu pokazująca , że nie mogą wystąpić żadne dane z powodu różnych czynników. Mogą one obejmować dostawcę zasobów usługi Microsoft Insights, który nie jest zarejestrowany dla Twojej subskrypcji, lub brak odpowiednich praw dostępu do usługi Azure Database for MySQL — serwer elastyczny. Inne możliwości mogą być następujące: zasób nie wygenerował metryk w wybranym przedziale czasu lub wybrany zakres czasu przekracza 30 dni.
Kilka powodów, które należy wykonać, może spowodować to zachowanie:
- Dostawca zasobów Microsoft.Insights nie jest zarejestrowany: eksplorowanie metryk wymaga dostawcy zasobów Microsoft.Insights zarejestrowanego w subskrypcji. Zarejestruj serwer ręcznie, wykonując kroki opisane w temacie Dostawcy zasobów i typy platformy Azure.
- Niewystarczające prawa dostępu do zasobu: upewnij się, że masz wystarczające uprawnienia dla usługi Azure Database for MySQL — serwer elastyczny, z którego eksplorujesz metryki. Zasób nie emituje metryk w wybranym zakresie czasu: zmień czas wykresu na szerszy. Na platformie Azure kontrola dostępu oparta na rolach (RBAC) platformy Azure kontroluje dostęp do metryk. Aby eksplorować metryki dla dowolnego zasobu, musisz być członkiem roli Czytelnik monitorowania, Współautor monitorowania lub Współautor.
- Zasób nie emituje metryk w wybranym zakresie czasu: może to być spowodowane kilkoma przyczynami. Jedną z możliwości jest to, że zasób nie wygenerował metryk w wybranym przedziale czasu. Zmień czas wykresu na szerszy zakres, aby sprawdzić, czy to rozwiąże problem. Aby uzyskać bardziej szczegółowe informacje na temat rozwiązywania tego problemu, zapoznaj się z przewodnikiem rozwiązywania problemów z metrykami usługi Azure Monitor.
- Zakres czasu większy niż 30 dni: sprawdź, czy różnica między datami początkowymi i końcowymi w selektorze czasu nie przekracza interwału 30-dniowego. Aby uzyskać bardziej szczegółowe informacje na temat metryk rozwiązywania problemów, zapoznaj się z przewodnikiem rozwiązywania problemów z metrykami usługi Azure Monitor.
- Wskazanie linii kreskowanej: w usłudze Azure Monitor obecność linii przerywanej oznacza lukę w danych lub "wartość null" między dwoma punktami znanych danych ziarna czasu. Jest to celowy projekt, który pomaga w wykrywaniu brakujących punktów danych. Jeśli wykres wyświetla linie kreskowane, wskazuje brakujące dane i możesz zapoznać się z dokumentacją , aby uzyskać więcej informacji.
Aby uzyskać bardziej szczegółowe informacje na temat metryk rozwiązywania problemów, zapoznaj się z przewodnikiem rozwiązywania problemów z metrykami usługi Azure Monitor.
Uwaga
Metryki oznaczone jako przestarzałe mają zostać usunięte z witryny Azure Portal. Zaleca się zignorowanie tych metryk na potrzeby monitorowania serwera elastycznego usługi Azure Database for MySQL.
Lista metryk
Te metryki są dostępne dla elastycznego serwera usługi Azure Database for MySQL:
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Czas działania bazy danych MySQL | Uptime | Sekundy | Ta metryka wskazuje czas działania serwera MySQL. |
Procent procesora CPU hosta | cpu_percent | Procent | Procent procesora CPU hosta to całkowite wykorzystanie procesora CPU do przetwarzania wszystkich zadań na serwerze w wybranym okresie. Ta metryka obejmuje obciążenie wystąpienia elastycznego serwera usługi Azure Database for MySQL i procesu usługi Azure MySQL. Wysoki procent procesora CPU może pomóc w znalezieniu, czy serwer bazy danych ma większe obciążenie, niż może obsłużyć. Ta metryka jest równoważna całkowitemu wykorzystaniu procesora CPU podobnemu do wykorzystania procesora CPU na dowolnej maszynie wirtualnej. |
Wykorzystanie środków na użycie procesora CPU | cpu_credits_consumed | Count | Dotyczy to tylko środków na użycie procesora CPU z możliwością rozszerzenia na podstawie obciążenia. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych z serii B. |
Pozostałe środki na użycie procesora CPU | cpu_credits_remaining | Count | Jest to przeznaczone dla warstwy z możliwością skalowania Tylko pozostałe procesory są obliczane na podstawie obciążenia. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych z serii B. |
Sieć hosta w | network_bytes_ingress | Bajty | Łączna suma przychodzącego ruchu sieciowego na serwerze przez wybrany okres. Ta metryka obejmuje ruch do bazy danych i do elastycznych funkcji serwera usługi Azure Database for MySQL, takich jak monitorowanie, dzienniki itp. |
Sieć hosta wychodząca | network_bytes_egress | Bajty | Łączna suma wychodzącego ruchu sieciowego na serwerze przez wybrany okres. Ta metryka obejmuje ruch z bazy danych i z elastycznych funkcji serwera usługi Azure Database for MySQL, takich jak monitorowanie, dzienniki itp. |
Aktywne połączenia | active_connection | Count | Liczba aktywnych połączeń z serwerem. Aktywne połączenia to łączna liczba wątków połączonych z serwerem, która obejmuje również wątki z azure_superuser. |
Procent operacji we/wy magazynu | io_consumption_percent | Procent | Procent użycia operacji we/wy w wybranym okresie. Procent operacji we/wy jest przeznaczony zarówno dla operacji we/wy odczytu, jak i zapisu na sekundę. |
Liczba operacji we/wy magazynu | storage_io_count | Count | Łączna liczba operacji we/wy (zarówno odczytu, jak i zapisu) używanych przez serwer na minutę. |
Procent pamięci | memory_percent | Procent | Ta metryka reprezentuje procent pamięci zajmowanej przez proces serwera usługi Azure MySQL (mysqld). Ta metryka jest obliczana na podstawie łącznego rozmiaru pamięci (GB) dostępnego na serwerze elastycznym usługi Azure Database for MySQL. |
Łączna liczba połączeń | total_connections | Count | Liczba połączeń klientów z wystąpieniem serwera elastycznego usługi Azure Database for MySQL. Łączna liczba połączeń jest sumą połączeń przez klientów korzystających z protokołu TCP/IP w wybranym okresie. |
Przerwane połączenia | aborted_connections | Count | Łączna liczba nieudanych prób nawiązania połączenia z wystąpieniem serwera elastycznego usługi Azure Database for MySQL, na przykład nieudane połączenie z powodu nieprawidłowych poświadczeń. Aby uzyskać więcej informacji na temat przerwanych połączeń, możesz zapoznać się z tą dokumentacją. |
Zapytania | — zapytania | Count | Łączna liczba wykonanych zapytań na minutę na serwerze. Łączna liczba zapytań na minutę na serwerze z obciążenia bazy danych i procesów usługi Azure MySQL. |
Slow_queries | slow_queries | Count | Łączna liczba wolnych zapytań na serwerze w wybranym zakresie czasu. |
Aktywne transakcje | active_transactions | Count | Ta metryka reprezentuje łączną liczbę transakcji aktualnie uruchomionych w programie MySQL. Aktywne transakcje obejmują wszystkie transakcje, które zostały uruchomione, ale nie zostały jeszcze zatwierdzone lub wycofane. |
Metryki podziału magazynu
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Limit magazynu | storage_limit | Bajty | Maksymalny rozmiar magazynu skonfigurowany dla tego serwera. |
Procent magazynowania | storage_percent | Procent | Procent użycia magazynu poza maksymalnym dostępnym magazynem serwera. |
Używany magazyn | storage_used | Bajty | Ilość używanego miejsca do magazynowania. Magazyn używany przez usługę może obejmować pliki bazy danych, dzienniki transakcji i dzienniki serwera. |
Używany magazyn danych | data_storage_used | Bajty | Ilość miejsca do przechowywania plików bazy danych. |
Używany magazyn ibdata1 | ibdata1_storage_used | Bajty | Ilość miejsca do przechowywania pliku systemowego tablespace (ibdata1). |
Używany magazyn binlog | binlog_storage_used | Bajty | Ilość miejsca do przechowywania plików dziennika binarnego. |
Inne używane miejsce do magazynowania | other_storage_used | Bajty | Ilość miejsca używanego dla innych składników i plików metadanych. |
Używany magazyn kopii zapasowych | backup_storage_used | Bajty | Ilość używanego magazynu kopii zapasowych. |
Metryki replikacji
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Opóźnienie replikacji | replication_lag | Sekundy | Opóźnienie replikacji to liczba sekund, przez które replika znajduje się w repozytorium transakcji odebranych z serwera źródłowego. Ta metryka jest obliczana z "Seconds_behind_Master" z polecenia "SHOW SLAVE STATUS" i jest dostępna tylko dla serwerów repliki. Aby uzyskać więcej informacji, zobacz "Monitorowanie opóźnienia replikacji" |
Stan we/wy repliki | replica_io_running | Stan | Stan we/wy repliki wskazuje stan wątku we/wy replikacji. Wartość metryki to 1, jeśli wątek we/wy jest uruchomiony i 0, jeśli nie. |
Stan sql repliki | replica_sql_running | Stan | Stan sql repliki wskazuje stan wątku SQL replikacji. Wartość metryki to 1, jeśli wątek SQL jest uruchomiony i 0, jeśli nie. |
Stan operacji we/wy wysokiej dostępności | ha_io_running | Stan | Stan we/wy wysokiej dostępności wskazuje stan replikacji wysokiej dostępności. Wartość metryki to 1, jeśli wątek we/wy jest uruchomiony i 0, jeśli nie. |
Stan ha SQL | ha_sql_running | Stan | Stan ha SQL wskazuje stan replikacji wysokiej dostępności. Wartość metryki to 1, jeśli wątek SQL jest uruchomiony i 0, jeśli nie. |
Opóźnienie replikacji wysokiej dostępności | ha_replication_lag | Sekundy | Opóźnienie replikacji wysokiej dostępności to liczba sekund, w których serwer rezerwowy wysokiej dostępności znajduje się w celu odtworzenia transakcji odebranych z serwera źródłowego. Ta metryka jest obliczana z "Seconds_behind_Master" z polecenia "SHOW SLAVE STATUS" i jest dostępna tylko dla serwerów rezerwowych wysokiej dostępności. |
Uwaga
W przypadku replik do odczytu na serwerze elastycznym usługi Azure Database for MySQL wartość Slave_IO_Running/Replica_IO_Running z polecenia MySQL "SHOW SLAVE STATUS" lub "SHOW REPLICA STATUS" zostanie oznaczona jako "NIE" i powinna zostać zignorowana, ponieważ implementacja replik elastycznych usługi Azure Database for MySQL nie polega na nawiązaniu połączenia do komunikacji z serwerem źródłowym. Aby uzyskać prawdziwy stan wątku we/wy replik do odczytu, zapoznaj się z artykułem Stan we/wy repliki z obszaru Metryki w bloku Monitorowanie.
Metryki rozszerzone
Statystyki DML
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Com_select | Com_select | Count | Łączna liczba instrukcji select, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Com_update | Com_update | Count | Łączna liczba instrukcji aktualizacji wykonanych na serwerze w wybranym zakresie czasu. |
Com_insert | Com_insert | Count | Łączna liczba instrukcji insert wykonanych na serwerze w wybranym zakresie czasu. |
Com_delete | Com_delete | Count | Łączna liczba instrukcji usuwania wykonanych na serwerze w wybranym zakresie czasu. |
Statystyki języka DDL
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Com_create_db | Com_create_db | Count | Łączna liczba instrukcji tworzenia bazy danych, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Com_drop_db | Com_drop_db | Count | Łączna liczba instrukcji upuszczania bazy danych, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Com_create_table | Com_create_table | Count | Łączna liczba instrukcji tabeli create, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Com_drop_table | Com_drop_table | Count | Łączna liczba instrukcji tabeli upuszczania, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Com_Alter | Com_Alter | Count | Łączna liczba instrukcji alter table, które zostały wykonane na serwerze w wybranym zakresie czasu. |
Metryki innodb
Nazwa wyświetlana metryki | Metric | Jednostka | opis |
---|---|---|---|
Czas blokady wiersza bazy danych InnoDB | innodb_row_lock_time | Milisekundy | Czas blokady wiersza innoDB mierzy czas trwania w milisekundach dla blokad na poziomie wiersza innoDB. |
Oczekiwanie na blokadę wiersza bazy danych InnoDB | innodb_row_lock_waits | Count | Metryka blokady wierszy innoDB zlicza metryki, ile razy zapytanie musiało czekać na blokadę na poziomie wiersza bazy danych InnoDB. |
Innodb_buffer_pool_reads | Innodb_buffer_pool_reads | Count | Łączna liczba odczytów logicznych, których aparat InnoDB nie mógł spełnić z puli Innodb i musiał zostać pobrany z dysku. |
Innodb_buffer_pool_read_requests | Innodb_buffer_pool_read_requests | Count | Łączna liczba logicznych żądań odczytu do odczytu z puli Innodb. |
Innodb_buffer_pool_pages_free | Innodb_buffer_pool_pages_free | Count | Łączna liczba bezpłatnych stron w puli InnoDB. |
Innodb_buffer_pool_pages_data | Innodb_buffer_pool_pages_data | Count | Łączna liczba stron w puli InnoDB zawierającej dane. Liczba zawiera zarówno brudne, jak i czyste strony. |
Innodb_buffer_pool_pages_dirty | Innodb_buffer_pool_pages_dirty | Count | Łączna liczba stron w puli InnoDB zawierającej zanieczyszczone strony. |
Długość listy historii programu MySQL | trx_rseg_history_len | Count | Ta metryka oblicza liczbę zmian w bazie danych, w szczególności liczbę rekordów zawierających poprzednie zmiany. Jest to związane z szybkością zmian danych, co powoduje utworzenie nowych wersji wierszy. Rosnąca długość listy historii może mieć wpływ na wydajność bazy danych. |
Limity czasu blokady mySQL | lock_timeouts | Count | Ta metryka reprezentuje liczbę przypadków przekroczenia limitu czasu zapytania z powodu blokady. Zwykle występuje to, gdy zapytanie oczekuje na blokadę w wierszu lub tabeli, która jest przechowywana przez inne zapytanie przez dłuższy czas niż innodb_lock_wait_timeout ustawienie. |
Zakleszczenia blokady mySQL | lock_deadlock | Count | Ta metryka reprezentuje liczbę zakleszczeń w wystąpieniu serwera elastycznego usługi Azure Database for MySQL w wybranym okresie. |
Dzienniki serwera
Na serwerze elastycznym usługi Azure Database for MySQL użytkownicy mogą konfigurować i pobierać dzienniki serwera, aby ułatwić rozwiązywanie problemów. Po włączeniu tej funkcji wystąpienie serwera elastycznego usługi Azure Database for MySQL rozpoczyna przechwytywanie zdarzeń wybranego typu dziennika i zapisuje je w pliku. Następnie możesz użyć witryny Azure Portal i interfejsu wiersza polecenia platformy Azure, aby pobrać pliki do pracy z nimi. Funkcja dzienników serwera jest domyślnie wyłączona. Aby uzyskać informacje na temat włączania dzienników serwera, zobacz Jak włączyć i pobrać dzienniki serwera dla serwera elastycznego usługi Azure Database for MySQL.
Dzienniki serwera obsługują dzienniki wolnych zapytań i dzienniki błędów na potrzeby włączania i pobierania. Aby przeprowadzić analizę historyczną danych, w witrynie Azure Portal w okienku Ustawienia diagnostyki serwera dodaj ustawienie diagnostyczne w celu wysyłania dzienników do obszaru roboczego usługi Log Analytics, usługi Azure Storage lub centrów zdarzeń. Aby uzyskać więcej informacji, zobacz Konfigurowanie diagnostyki.
Przechowywanie dzienników serwera
Po włączeniu rejestrowania dla wystąpienia serwera elastycznego usługi Azure Database for MySQL dzienniki są dostępne do siedmiu dni od ich utworzenia. Jeśli całkowity rozmiar dostępnych dzienników przekracza 7 GB, najstarsze pliki zostaną usunięte do momentu udostępnienia miejsca. Limit magazynu 7 GB dla dzienników serwera jest dostępny bezpłatnie i nie można go rozszerzyć. Dzienniki są obracane co 24 godziny lub 500 MB, w zależności od tego, co nastąpi wcześniej.
Następne kroki
- Zobacz Jak skonfigurować alerty , aby uzyskać wskazówki dotyczące tworzenia alertu dotyczącego metryki.
- Jak włączyć i pobrać dzienniki serwera dla serwera elastycznego usługi Azure Database for MySQL z poziomu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure