Udostępnij za pośrednictwem


Monitorowanie usługi Azure Database for MySQL — serwer elastyczny

Usługa Azure Monitor zbiera i agreguje metryki i dzienniki z systemu w celu monitorowania dostępności, wydajności i odporności oraz powiadamiania o problemach wpływających na system. Do konfigurowania i wyświetlania danych monitorowania można użyć witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure, interfejsu API REST lub bibliotek klienckich.

Różne metryki i dzienniki są dostępne dla różnych typów zasobów. W tym artykule opisano typy danych monitorowania, które można zbierać dla tej usługi i sposoby analizowania tych danych.

Monitorowanie jest niezbędne do utrzymania kondycji, wydajności i zabezpieczeń wystąpień usługi Azure Database for MySQL — serwer elastyczny. Usługa Azure Monitor udostępnia kompleksowe rozwiązanie do zbierania, analizowania i działania na danych telemetrycznych z serwerów MySQL. W tym artykule opisano dostępne kluczowe funkcje monitorowania, w tym metryki, dzienniki, alerty i narzędzia do wizualizacji, które ułatwiają aktywne zarządzanie obciążeniami bazy danych.

Zbieranie danych za pomocą usługi Azure Monitor

W tej tabeli opisano sposób zbierania danych w celu monitorowania usługi oraz czynności, które można wykonać z danymi po zebraniu:

Dane do zbierania Opis Jak zbierać i kierować dane Gdzie wyświetlić dane Obsługiwane dane
Dane metryczne Metryki to wartości liczbowe, które opisują aspekt systemu w określonym punkcie w czasie. Metryki mogą być agregowane przy użyciu algorytmów, w porównaniu z innymi metrykami i analizowane pod kątem trendów w czasie. — Zbierane automatycznie w regularnych odstępach czasu.
— Niektóre metryki platformy można kierować do obszaru roboczego usługi Log Analytics w celu wykonywania zapytań dotyczących innych danych. Sprawdź ustawienie eksportu DS dla każdej metryki, aby ustalić, czy możesz użyć ustawienia diagnostycznego do przekierowywania danych metrycznych.
Eksplorator metryk Azure Database for MySQL — metryki serwera elastycznego obsługiwane przez usługę Azure Monitor
Dane dziennika zasobów Dzienniki to zarejestrowane zdarzenia systemowe z sygnaturą czasową. Dzienniki mogą zawierać różne typy danych i mieć strukturę lub dowolny tekst. Dane dziennika zasobów można kierować do obszarów roboczych usługi Log Analytics na potrzeby wykonywania zapytań i analizy. Utwórz konfigurację diagnostyczną do zbierania i kierowania danych dziennika zasobów. Log Analytics Azure Database for MySQL — dane dziennika zasobów serwera elastycznego obsługiwane przez usługę Azure Monitor
Dane dziennika aktywności Dziennik aktywności usługi Azure Monitor zapewnia wgląd w zdarzenia na poziomie subskrypcji. Dziennik aktywności zawiera takie informacje, jak czas modyfikacji zasobu lub uruchomienia maszyny wirtualnej. — Zbierane automatycznie.
- Utwórz ustawienie diagnostyczne w obszarze roboczym usługi Log Analytics bez opłat.
dziennika aktywności

Aby uzyskać listę wszystkich danych obsługiwanych przez usługę Azure Monitor, zobacz:

Znane problemy

Nie można wygenerować metryk serwera, gdy parametr serwera dla character_set_server jest ustawiony na UTF16. Dzieje się tak, ponieważ zadanie zbierania metryk opiera się na łączniku C# MySQL, który ma problemy ze zgodnością z utF16. Zalecamy klientom użycie alternatywnego zestawu znaków i ponowne uruchomienie serwera po zaktualizowaniu konfiguracji w celu przywrócenia funkcji metryk.

Wbudowane monitorowanie usługi Azure Database for MySQL — serwer elastyczny

Usługa Azure Database for MySQL — serwer elastyczny oferuje wbudowane zasoby do monitorowania.

Dzienniki serwera

W usłudze Azure Database for MySQL — elastyczny serwer 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 Włączanie i pobieranie dzienników serwera dla usługi Azure Database for MySQL — serwer elastyczny

Dzienniki serwera obsługują włączanie i pobieranie dzienników wolnych zapytań i dzienników błędów. 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.

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.

Dzienniki wolnych zapytań w usłudze Azure Database for MySQL — serwer elastyczny

Na serwerze elastycznym usługi Azure Database for MySQL dziennik wolnych zapytań jest dostępny dla użytkowników w celu skonfigurowania i uzyskania dostępu. Dzienniki wolnych zapytań są domyślnie wyłączone i można je włączyć, aby ułatwić identyfikowanie wąskich gardeł wydajności podczas rozwiązywania problemów.

Aby uzyskać więcej informacji na temat dziennika wolnych zapytań MySQL, zobacz sekcję dzienników wolnych zapytań w dokumentacji aparatu MySQL.

Konfigurowanie rejestrowania wolnych zapytań

Domyślnie dziennik wolnych zapytań jest wyłączony. Aby włączyć dzienniki, ustaw slow_query_log parametr serwera na . Ten parametr można skonfigurować przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Inne parametry, które można dostosować do kontrolowania zachowania rejestrowania wolnych zapytań, obejmują:

  • long_query_time: zarejestruj zapytanie, jeśli ukończenie zapytania trwa dłużej niż long_query_time (w sekundach). Wartość domyślna to 10 sekund. Parametr long_query_time serwera jest stosowany globalnie do wszystkich nowo ustanowionych połączeń w programie MySQL. Nie ma to jednak wpływu na wątki, które są już połączone. Zalecamy ponowne nawiązanie połączenia z serwerem Azure Database for MySQL Flexible Server z aplikacji lub ponowne uruchomienie serwera, aby wyczyścić wątki ze starszymi wartościami long_query_time i zastosować zaktualizowaną wartość parametru.
  • log_slow_admin_statements: określa, czy instrukcje administracyjne (np. ALTER_TABLE, ANALYZE_TABLE) są rejestrowane.
  • log_queries_not_using_indexes: określa, czy zapytania, które nie używają indeksów, są rejestrowane.
  • log_throttle_queries_not_using_indexes: ogranicza liczbę nieindeksowanych zapytań, które można zapisywać w dzienniku powolnych zapytań. Ten parametr ma wpływ, gdy log_queries_not_using_indexes jest ustawiony na WARTOŚĆ WŁĄCZONE

Ważne

Jeśli tabele nie są indeksowane, ustawienie log_queries_not_using_indexes i log_throttle_queries_not_using_indexes parametrów na ON może mieć wpływ na wydajność bazy danych MySQL. Wszystkie zapytania uruchamiane względem tych nieindeksowanych tabel są zapisywane w dzienniku wolnych zapytań.

Zapoznaj się z dokumentacją dziennika wolnych zapytań MySQL, aby uzyskać pełne opisy parametrów dziennika wolnych zapytań.

Uzyskiwanie dostępu do dzienników wolnych zapytań

Dzienniki wolnych zapytań są zintegrowane z ustawieniami diagnostycznymi usługi Azure Monitor. Po włączeniu dzienników wolnych zapytań w instancji elastycznego serwera Azure Database for MySQL, można je wysyłać do dzienników Azure Monitor, Event Hubs lub Azure Storage. Aby dowiedzieć się więcej na temat ustawień diagnostycznych, zobacz dokumentację dzienników diagnostycznych. Aby dowiedzieć się więcej na temat włączania ustawień diagnostycznych w witrynie Azure Portal, zobacz artykuł dotyczący portalu dzienników wolnych zapytań.

Uwaga / Notatka

Konta usługi Premium Storage nie są obsługiwane, jeśli wysyłasz dzienniki do usługi Azure Storage za pośrednictwem diagnostyki i ustawień.

W poniższej tabeli opisano dane wyjściowe dziennika wolnych zapytań. W zależności od metody wyjściowej uwzględnione pola i kolejność ich wyświetlania mogą się różnić.

Własność Opis
TenantId Twój identyfikator dzierżawy
SourceSystem Azure
TimeGenerated [UTC] Sygnatura czasowa zarejestrowania dziennika w formacie UTC
Type Typ dziennika. Zawsze AzureDiagnostics
SubscriptionId Identyfikator GUID subskrypcji, do którego należy serwer
ResourceGroup Nazwa grupy zasobów, do którego należy serwer
ResourceProvider Nazwa dostawcy zasobów. Zawsze MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Adres URI zasobu
Resource Nazwa serwera
Category MySqlSlowLogs
OperationName LogEvent
Logical_server_name_s Nazwa serwera
start_time_t [UTC] Czas rozpoczęcia zapytania
query_time_s Łączny czas w sekundach wykonywania zapytania
lock_time_s Łączny czas w sekundach, w których zapytanie zostało zablokowane
user_host_s Nazwa użytkownika
rows_sent_s Liczba wysłanych wierszy
rows_examined_s Liczba zbadanych wierszy
last_insert_id_s last_insert_id
insert_id_s Wstaw identyfikator
sql_text_s Pełne zapytanie
server_id_s Identyfikator serwera
thread_id_s Identyfikator wątku
\_ResourceId Adres URI zasobu

Uwaga / Notatka

W przypadku sql_text_s log jest obcinany, jeśli przekracza 2 048 znaków.

Śledzenie aktywności bazy danych za pomocą dzienników inspekcji

Serwer elastyczny usługi Azure Database for MySQL zapewnia użytkownikom możliwość konfigurowania dzienników inspekcji. Dzienniki inspekcji mogą służyć do śledzenia aktywności na poziomie bazy danych, w tym połączeń, administratorów, Zdarzeń DDL i DML. Te typy dzienników są często używane na potrzeby zapewniania zgodności.

Konfigurowanie rejestrowania inspekcji

Ważne

Zalecamy rejestrowanie tylko typów zdarzeń i użytkowników wymaganych do celów inspekcji. Takie podejście pomaga zapewnić, że wydajność serwera nie jest mocno dotknięta i zbierana jest minimalna ilość danych.

Domyślnie dzienniki inspekcji są wyłączone. Aby je włączyć, ustaw audit_log_enabled parametr serwera na . Włącz dzienniki inspekcji przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Inne parametry, które można dostosować do kontrolowania zachowania rejestrowania inspekcji, obejmują:

  • audit_log_events: steruje zdarzeniami, które mają być rejestrowane. Zapoznaj się z poniższą tabelą, aby zapoznać się z konkretnymi zdarzeniami inspekcji.
  • audit_log_include_users: użytkownicy programu MySQL, którzy mają być dołączani do rejestrowania. Wartość domyślna tego parametru jest pusta, która obejmuje wszystkich użytkowników do rejestrowania. Ten parametr ma wyższy priorytet niż audit_log_exclude_users. Maksymalna długość parametru to 512 znaków. Na przykład wartość wieloznacznych symboli dev* obejmuje wszystkich użytkowników z wpisami zaczynającymi się od słowa kluczowego dev takiego jak dev1,dev_user,dev_2. Innym przykładem wprowadzania symboli wieloznacznych dla dołączania użytkownika jest *dev w tym przykładzie wszyscy użytkownicy kończący się wartością "dev", taką jak "stage_dev,prod_dev,user_dev" są uwzględnione w wpisach dziennika inspekcji. Ponadto użycie znaku (?) zapytania jako symbolu wieloznakowego jest dozwolone we wzorcach.
  • audit_log_exclude_users: użytkownicy mySQL, którzy mają zostać wykluczeni z rejestrowania. Maksymalna długość parametru wynosi 512 znaków. Wpisy z symbolami wieloznacznymi dla użytkownika są również akceptowane w celu wykluczenia użytkowników w dziennikach inspekcji. Na przykład wartość symbolu stage* wieloznakowego wyklucza wszystkich użytkowników z wpisami rozpoczynającymi się od słowa kluczowego stage , takiego jak stage1,stage_user,stage_2. Innym przykładem wprowadzania symboli wieloznacznych dla wykluczania użytkownika jest *com. W tym przykładzie wszyscy użytkownicy kończący się wartością com są wykluczeni z wpisów dziennika inspekcji. Ponadto użycie znaku (?) zapytania jako symbolu wieloznakowego jest dozwolone we wzorcach.

Uwaga / Notatka

audit_log_include_users ma wyższy priorytet niż audit_log_exclude_users. Na przykład jeśli audit_log_include_users = demouser iaudit_log_exclude_users = demouser , użytkownik jest uwzględniony w dziennikach inspekcji, ponieważ audit_log_include_users ma wyższy priorytet.

Zdarzenie Opis
CONNECTION - Inicjowanie połączenia
- Kończenie połączenia
CONNECTION_V2 — Inicjowanie połączenia (kod błędu pomyślnej lub nieudanej próby)
- Kończenie połączenia
DML_SELECT Zapytania SELECT
DML_NONSELECT ZAPYTANIA INSERT/DELETE/UPDATE
DML DML = DML_SELECT + DML_NONSELECT
DDL Zapytania takie jak "DROP DATABASE"
DCL Zapytania takie jak "UDZIEL UPRAWNIENIA"
ADMIN Zapytania takie jak "SHOW STATUS"
GENERAL Wszystkie w DML_SELECT, DML_NONSELECT, DML, DDL, DCL i ADMIN
TABLE_ACCESS - Instrukcje odczytu tabeli, takie jak SELECT lub INSERT INTO ... WYBRAĆ
- Instrukcje usuwania tabeli, takie jak DELETE lub TRUNCATE TABLE
- Instrukcje wstawiania tabeli, takie jak INSERT lub REPLACE
- Instrukcje aktualizacji tabeli, takie jak UPDATE

Uzyskiwanie dostępu do dzienników inspekcji

Dzienniki inspekcji są zintegrowane z ustawieniami diagnostycznymi usługi Azure Monitor. Po włączeniu dzienników inspekcji na serwerze elastycznym można je emitować do dzienników usługi Azure Monitor, usługi Azure Event Hubs lub usługi Azure Storage. Aby dowiedzieć się więcej na temat ustawień diagnostycznych, zobacz dokumentację dzienników diagnostycznych. Aby dowiedzieć się więcej na temat włączania ustawień diagnostycznych w witrynie Azure Portal, zobacz artykuł w portalu dziennika inspekcji.

Uwaga / Notatka

Konta usługi Premium Storage nie są obsługiwane w przypadku wysyłania dzienników do usługi Azure Storage za pośrednictwem diagnostyki i ustawień.

W zależności od metody wyjściowej uwzględnione pola i kolejność ich wyświetlania mogą się różnić.

Połączenie:

Własność Opis
TenantId Twój identyfikator dzierżawy
SourceSystem Azure
TimeGenerated [UTC] Sygnatura czasowa zarejestrowania dziennika w formacie UTC
Type Typ dziennika. Zawsze AzureDiagnostics
SubscriptionId Identyfikator GUID subskrypcji, do którego należy serwer
ResourceGroup Nazwa grupy zasobów, do którego należy serwer
ResourceProvider Nazwa dostawcy zasobów. Zawsze MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Adres URI zasobu
Resource Nazwa serwera w wielkim przypadku
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s Nazwa serwera
event_class_s connection_log
event_subclass_s CONNECT, DISCONNECT, CHANGE USER
connection_id_d Unikatowy identyfikator połączenia wygenerowany przez program MySQL
host_s Pusty
ip_s Adres IP klienta nawiązującego połączenie z bazą danych MySQL
user_s Nazwa użytkownika wykonującego zapytanie
db_s Nazwa bazy danych połączonej z
\_ResourceId Adres URI zasobu
status_d Wpis kodu błędu połączenia dla zdarzenia CONNECTIONS_V2.

Ogólne:

Poniższy schemat dotyczy typów zdarzeń: OGÓLNE, DML_SELECT, DML_NONSELECT, DML, DDL, DCL i ADMIN.

Uwaga / Notatka

W przypadku sql_text_s log jest obcinany, jeśli przekracza 2 048 znaków.

Własność Opis
TenantId Twój identyfikator dzierżawy
SourceSystem Azure
TimeGenerated [UTC] Sygnatura czasowa zarejestrowania dziennika w formacie UTC
Type Typ dziennika. Zawsze AzureDiagnostics
SubscriptionId Identyfikator GUID subskrypcji, do którego należy serwer
ResourceGroup Nazwa grupy zasobów, do którego należy serwer
ResourceProvider Nazwa dostawcy zasobów. Zawsze MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Adres URI zasobu
Resource Nazwa serwera w wielkim przypadku
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s Nazwa serwera
event_class_s general_log
event_subclass_s LOG, , ERRORRESULT (dostępne tylko dla programu MySQL 5.6)
event_time Czas rozpoczęcia zapytania w znaczniku czasu UTC
error_code_d Kod błędu, jeśli zapytanie nie powiodło się. 0 oznacza brak błędu
thread_id_d Identyfikator wątku, który wykonał zapytanie
host_s Pusty
ip_s Adres IP klienta nawiązującego połączenie z bazą danych MySQL
user_s Nazwa użytkownika wykonującego zapytanie
sql_text_s Pełny tekst zapytania
\_ResourceId Adres URI zasobu

Dostęp do tabeli:

Uwaga / Notatka

W przypadku sql_text_s log jest obcinany, jeśli przekracza 2 048 znaków.

Własność Opis
TenantId Twój identyfikator dzierżawy
SourceSystem Azure
TimeGenerated [UTC] Sygnatura czasowa zarejestrowania dziennika w formacie UTC
Type Typ dziennika. Zawsze AzureDiagnostics
SubscriptionId Identyfikator GUID subskrypcji, do którego należy serwer
ResourceGroup Nazwa grupy zasobów, do którego należy serwer
ResourceProvider Nazwa dostawcy zasobów. Zawsze MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Adres URI zasobu
Resource Nazwa serwera w wielkim przypadku
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s Nazwa serwera
event_class_s table_access_log
event_subclass_s READ, INSERT, UPDATElub DELETE
connection_id_d Unikatowy identyfikator połączenia wygenerowany przez program MySQL
db_s Nazwa bazy danych, do których uzyskiwano dostęp
table_s Nazwa dostępnej tabeli
sql_text_s Pełny tekst zapytania
\_ResourceId Adres URI zasobu

Korzystanie ze skoroszytów usługi Azure Monitor

Serwer elastyczny usługi Azure Database for MySQL jest teraz zintegrowany ze skoroszytami usługi Azure Monitor. Dzięki skoroszytom zyskujesz elastyczną kanwę do analizowania danych i tworzenia rozbudowanych raportów wizualnych w witrynie Azure Portal. Skoroszyty umożliwiają korzystanie z wielu źródeł danych na platformie Azure i łączenie ich w ujednolicone, interakcyjne środowiska. Szablony skoroszytów służą jako wyselekcjonowane raporty, które wielu użytkowników i zespołów projektuje do elastycznego ponownego użycia.

Po otwarciu szablonu tworzysz skoroszyt przejściowy wypełniony zawartością szablonu. Dzięki tej integracji serwer łączy się ze skoroszytami i kilkoma szablonami przykładowymi, które mogą ułatwić monitorowanie usługi na dużą skalę. Możesz edytować te szablony, dostosować je do swoich wymagań i przypiąć je do pulpitu nawigacyjnego, aby utworzyć ukierunkowany i zorganizowany widok zasobów platformy Azure.

Serwer elastyczny usługi Azure Database for MySQL ma trzy dostępne szablony:

  • Omówienie: wyświetla podsumowanie wystąpienia i metryki najwyższego poziomu, które ułatwiają wizualizowanie i zrozumienie wykorzystania zasobów na serwerze. Ten szablon wyświetla następujące widoki:

    • Podsumowanie serwera
    • Podsumowanie bazy danych
    • Metryki połączenia
    • Metryki wydajności
    • Metryki magazynu
  • Inspekcja: wyświetla podsumowanie i szczegóły zdarzeń inspekcji, które są zbierane dla serwera. Ten szablon wyświetla następujące widoki:

    • Akcje administracyjne w usłudze
    • Podsumowanie inspekcji
    • Podsumowanie zdarzeń połączenia inspekcji
    • Inspekcja zdarzeń połączenia
    • Podsumowanie dostępu do tabel
    • Zidentyfikowane błędy
  • Szczegółowe informacje o wydajności zapytań: przedstawia podsumowanie i szczegóły obciążenia zapytań w wystąpieniu, długotrwałe zapytanie, analizę wolnych zapytań i metryki połączenia. Ten szablon wyświetla następujące widoki:

    • Ładowanie zapytań
    • Łączna liczba aktywnych połączeń
    • Trend wolnych zapytań (>10 sekund czasu zapytania)
    • Szczegóły wolnych zapytań
    • Lista pierwszych pięciu najdłuższych zapytań
    • Podsumowywanie wolnych zapytań według minimalnej, maksymalnej, średniej i czasu zapytania odchylenia standardowego

Możesz również edytować i dostosowywać te szablony zgodnie z wymaganiami. Aby uzyskać więcej informacji, zobacz Skoroszyty platformy Azure.

Uzyskiwanie dostępu do szablonów skoroszytów

Aby wyświetlić szablony w witrynie Azure Portal, przejdź do okienka Monitorowanie dla serwera elastycznego usługi Azure Database for MySQL, a następnie wybierz pozycję Skoroszyty.

Zrzut ekranu przedstawiający szablony

Listę szablonów można również wyświetlić, przechodząc do okienka Szablony publiczne.

Diagram przedstawiający szablony

Analizowanie danych przy użyciu narzędzi usługi Azure Monitor

Te narzędzia usługi Azure Monitor są dostępne w witrynie Azure Portal, aby ułatwić analizowanie danych monitorowania:

Narzędzia, które umożliwiają bardziej złożoną wizualizację, obejmują:

  • Panele, które umożliwiają łączenie różnych rodzajów danych w jednym okienku w portalu Azure.
  • Skoroszyty, dostosowywalne raporty, które można utworzyć w witrynie Azure Portal. Skoroszyty mogą zawierać tekst, metryki danych i zapytania dziennika.
  • Grafana to otwarte narzędzie platformowe, które wyróżnia się w tworzeniu dashboardów operacyjnych. Za pomocą narzędzia Grafana można tworzyć pulpity nawigacyjne zawierające dane z wielu źródeł innych niż usługa Azure Monitor.
  • Power BI, usługa analizy biznesowej, która udostępnia interaktywne wizualizacje w różnych źródłach danych. Usługę Power BI można skonfigurować tak, aby automatycznie importować dane dziennika z usługi Azure Monitor, aby korzystać z tych wizualizacji.

Eksportowanie danych usługi Azure Monitor

Dane z usługi Azure Monitor można wyeksportować do innych narzędzi przy użyciu:

Aby rozpocząć pracę z interfejsem API REST usługi Azure Monitor, zobacz Przewodnik po interfejsie API REST monitorowania platformy Azure.

Używanie zapytań Kusto do analizowania danych dziennika

Dane dziennika usługi Azure Monitor można analizować przy użyciu języka zapytań Kusto (KQL). Aby uzyskać więcej informacji, zobacz Zapytania dzienników w usłudze Azure Monitor.

Możesz użyć dzienników powolnych zapytań, aby znaleźć kandydatów do optymalizacji. Po przekazaniu dzienników wolnych zapytań do usługi Azure Monitor za pośrednictwem dzienników diagnostycznych, można przeprowadzić dalszą analizę wolnych zapytań. Te przykładowe zapytania mogą pomóc Ci zacząć. Pamiętaj, aby zaktualizować je przy użyciu nazwy serwera.

  • Zapytania dłuższe niż 10 sekund na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>'
    | where Category == 'MySqlSlowLogs'
    | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s
    | where query_time_d > 10
    
  • Lista pierwszych pięciu najdłuższych zapytań na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>'
    | where Category == 'MySqlSlowLogs'
    | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s
    | order by query_time_d desc
    | take 5
    
  • Podsumowywanie wolnych zapytań według minimalnej, maksymalnej, średniej i czasu zapytania odchylenia standardowego na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>'
    | where Category == 'MySqlSlowLogs'
    | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s
    | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by Resource
    
  • Wykres dystrybucji wolnych zapytań na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>'
    | where Category == 'MySqlSlowLogs'
    | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s
    | summarize count() by Resource , bin(TimeGenerated, 5m)
    | render timechart
    
  • Wyświetlanie zapytań dłuższych niż 10 sekund we wszystkich wystąpieniach serwera elastycznego usługi Azure Database for MySQL z włączonymi dziennikami diagnostycznymi

    AzureDiagnostics
    | where Category == 'MySqlSlowLogs'
    | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s
    | where query_time_d > 10
    

W przypadku dzienników inspekcji, po przekierowaniu ich do dzienników usługi Azure Monitor za pomocą dzienników diagnostycznych, można przeprowadzić dalszą analizę zdarzeń inspekcji. Te przykładowe zapytania mogą pomóc Ci zacząć. Pamiętaj, aby zaktualizować je przy użyciu nazwy serwera.

  • Wyświetlanie listy zdarzeń OGÓLNYCH na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>' //Server name must be in Upper case
    | where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
    | order by TimeGenerated asc nulls last
    
  • Wyświetl listę CONNECTION_V2 zdarzeń na określonym serwerze, status_d kolumna określa kod błędu połączenia klienta napotkany przez aplikację kliencką podczas nawiązywania połączenia.

    AzureDiagnostics
    | where Resource  == '<your server name>' //Server name must be in Upper case
    | where Category == 'MySqlAuditLogs' and event_subclass_s == "CONNECT"
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, user_s, ip_s, status_d
    | order by TimeGenerated asc nulls last
    
  • Wyświetlanie listy zdarzeń POŁĄCZENIA na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>' //Server name must be in Upper case
    | where Category == 'MySqlAuditLogs' and event_class_s == "connection_log"
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
    | order by TimeGenerated asc nulls last
    
  • Podsumowywanie zdarzeń inspekcji na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>' //Server name must be in Upper case
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
    | summarize count() by event_class_s, event_subclass_s, user_s, ip_s
    
  • Wykres dystrybucji typów zdarzeń inspekcji na określonym serwerze

    AzureDiagnostics
    | where Resource  == '<your server name>' //Server name must be in Upper case
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
    | summarize count() by Resource, bin(TimeGenerated, 5m)
    | render timechart
    
  • Wyświetlanie listy zdarzeń inspekcji we wszystkich wystąpieniach serwera elastycznego usługi Azure Database for MySQL z włączonymi dziennikami diagnostycznymi dla dzienników inspekcji

    AzureDiagnostics
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
    | order by TimeGenerated asc nulls last
    

Używanie alertów usługi Azure Monitor do powiadamiania o problemach

Alerty usługi Azure Monitor umożliwiają identyfikowanie i rozwiązywanie problemów w systemie oraz proaktywne powiadamianie o znalezieniu określonych warunków w danych monitorowania przed ich zauważeniem przez klientów. Możesz otrzymywać alerty dotyczące dowolnej metryki lub źródła danych dziennika na platformie danych usługi Azure Monitor. Istnieją różne typy alertów usługi Azure Monitor w zależności od usług, które monitorujesz i zbieranych danych monitorowania. Zobacz Wybieranie właściwego typu reguły alertu.

Aby zapoznać się z przykładami typowych alertów dotyczących zasobów platformy Azure, zobacz Przykładowe zapytania dziennika alertów.

Implementowanie alertów na dużą skalę

W przypadku niektórych usług można monitorować na dużą skalę, stosując tę samą regułę alertu metrycznego do wielu zasobów tego samego typu w tym samym regionie Azure. Alerty bazowe usługi Azure Monitor (AMBA) zapewniają częściowo zautomatyzowaną metodę implementowania ważnych alertów metryk platformy, dashboardów i wytycznych na dużą skalę.

Uzyskiwanie spersonalizowanych zaleceń przy użyciu usługi Azure Advisor

W przypadku niektórych usług, jeśli podczas operacji zasobów wystąpią krytyczne warunki lub nieuchronne zmiany, na stronie Przegląd usługi w portalu zostanie wyświetlony alert. Więcej informacji i zalecanych poprawek alertu można znaleźć w temacie Zalecenia usługi Advisor w obszarze Monitorowanie w menu po lewej stronie. Podczas normalnych operacji nie są wyświetlane żadne zalecenia doradcy.

Aby uzyskać więcej informacji na temat usługi Azure Advisor, zobacz Omówienie usługi Azure Advisor.