Monitorowanie usługi Azure Functions

W tym artykule opisano:

  • Typy danych monitorowania, które można zbierać dla tej usługi.
  • Sposoby analizowania tych danych.

Uwaga

Jeśli znasz już tę usługę i/lub usługę Azure Monitor i chcesz wiedzieć, jak analizować dane monitorowania, zobacz sekcję Analizowanie pod koniec tego artykułu.

Jeśli masz krytyczne aplikacje i procesy biznesowe korzystające z zasobów platformy Azure, musisz monitorować i otrzymywać alerty dla systemu. Usługa Azure Monitor zbiera i agreguje metryki i dzienniki z każdego składnika systemu. Usługa Azure Monitor zapewnia wgląd w dostępność, wydajność i odporność oraz powiadamia o problemach. 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.

Wyniki analiz

Niektóre usługi na platformie Azure mają wbudowany pulpit nawigacyjny monitorowania w witrynie Azure Portal, który zapewnia punkt wyjścia do monitorowania usługi. Te pulpity nawigacyjne są nazywane szczegółowymi informacjami i można je znaleźć w Szczegółowe informacje Hub of Azure Monitor w witrynie Azure Portal.

Szczegółowe dane dotyczące aplikacji

Usługa Azure Functions oferuje wbudowaną integrację z usługą Application Szczegółowe informacje do monitorowania wykonań funkcji. Aby uzyskać szczegółowe informacje na temat sposobu integrowania, konfigurowania i używania usługi Application Szczegółowe informacje do monitorowania usługi Azure Functions, zobacz następujące artykuły:

Typy zasobów

Platforma Azure używa koncepcji typów zasobów i identyfikatorów, aby zidentyfikować wszystko w subskrypcji. Usługa Azure Monitor podobnie organizuje podstawowe dane monitorowania w metryki i dzienniki na podstawie typów zasobów, nazywanych również przestrzeniami nazw. Różne metryki i dzienniki są dostępne dla różnych typów zasobów. Usługa może być skojarzona z więcej niż jednym typem zasobu.

Typy zasobów są również częścią identyfikatorów zasobów dla każdego zasobu uruchomionego na platformie Azure. Na przykład jeden typ zasobu dla maszyny wirtualnej to Microsoft.Compute/virtualMachines. Aby uzyskać listę usług i skojarzonych z nimi typów zasobów, zobacz Dostawcy zasobów.

Aby uzyskać więcej informacji na temat typów zasobów dla usługi Azure Functions, zobacz Dokumentacja danych monitorowania usługi Azure Functions.

Magazyn danych

W przypadku usługi Azure Monitor:

  • Dane metryk są przechowywane w bazie danych metryk usługi Azure Monitor.
  • Dane dziennika są przechowywane w magazynie dzienników usługi Azure Monitor. Log Analytics to narzędzie w witrynie Azure Portal, które może wykonywać zapytania dotyczące tego magazynu.
  • Dziennik aktywności platformy Azure to oddzielny magazyn z własnym interfejsem w witrynie Azure Portal.

Opcjonalnie możesz kierować dane metryki i dziennika aktywności do magazynu dzienników usługi Azure Monitor. Następnie możesz użyć usługi Log Analytics, aby wykonać zapytanie o dane i skorelować je z innymi danymi dziennika.

Wiele usług może używać ustawień diagnostycznych do wysyłania danych metryk i dzienników do innych lokalizacji przechowywania poza usługą Azure Monitor. Przykłady obejmują usługę Azure Storage, hostowane systemy partnerskie i systemy partnerskie spoza platformy Azure przy użyciu usługi Event Hubs.

Aby uzyskać szczegółowe informacje na temat sposobu przechowywania danych przez usługę Azure Monitor, zobacz Azure Monitor data platformy.

Metryki platformy usługi Azure Monitor

Usługa Azure Monitor udostępnia metryki platformy dla większości usług. Te metryki to:

  • Definiowane indywidualnie dla każdej przestrzeni nazw.
  • Przechowywane w bazie danych metryk szeregów czasowych usługi Azure Monitor.
  • Lekki i zdolny do obsługi alertów niemal w czasie rzeczywistym.
  • Służy do śledzenia wydajności zasobu w czasie.

Kolekcja: usługa Azure Monitor automatycznie zbiera metryki platformy. Nie jest wymagana żadna konfiguracja.

Routing: zazwyczaj można również kierować metryki platformy do dzienników usługi Azure Monitor/ usługi Log Analytics, aby móc wykonywać zapytania względem nich przy użyciu innych danych dziennika. Aby uzyskać więcej informacji, zobacz ustawienie diagnostyczne Metryki. Aby uzyskać informacje na temat konfigurowania ustawień diagnostycznych dla usługi, zobacz Tworzenie ustawień diagnostycznych w usłudze Azure Monitor.

Aby uzyskać listę wszystkich metryk, które można zebrać dla wszystkich zasobów w usłudze Azure Monitor, zobacz Obsługiwane metryki w usłudze Azure Monitor.

Aby uzyskać listę dostępnych metryk dla usługi Azure Functions, zobacz Dokumentacja danych monitorowania usługi Azure Functions.

Uwaga

Metryki usługi App Service (Microsoft.Web/sites) nie są dostępne, gdy aplikacja funkcji działa w systemie Linux w planie Zużycie.

Dzienniki zasobów usługi Azure Monitor

Dzienniki zasobów zapewniają wgląd w operacje wykonywane przez zasób platformy Azure. Dzienniki są generowane automatycznie, ale należy skierować je do dzienników usługi Azure Monitor, aby je zapisać lub wysłać do nich zapytanie. Dzienniki są zorganizowane w kategoriach. Dana przestrzeń nazw może mieć wiele kategorii dziennika zasobów.

Kolekcja: dzienniki zasobów nie są zbierane i przechowywane do momentu utworzenia ustawienia diagnostycznego i kierowania dzienników do co najmniej jednej lokalizacji. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Istnieje wiele sposobów tworzenia i konserwacji ustawień diagnostycznych, w tym witryny Azure Portal, programowo i choć usługi Azure Policy.

Routing: sugerowaną wartością domyślną jest kierowanie dzienników zasobów do dzienników usługi Azure Monitor, co umożliwia wykonywanie zapytań względem nich przy użyciu innych danych dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i niektórzy partnerzy monitorowania firmy Microsoft. Aby uzyskać więcej informacji, zobacz Dzienniki zasobów platformy Azure i lokalizacje docelowe dziennika zasobów.

Aby uzyskać szczegółowe informacje na temat zbierania, przechowywania i routingu dzienników zasobów, zobacz Ustawienia diagnostyczne w usłudze Azure Monitor.

Aby uzyskać listę wszystkich dostępnych kategorii dzienników zasobów w usłudze Azure Monitor, zobacz Obsługiwane dzienniki zasobów w usłudze Azure Monitor.

Wszystkie dzienniki zasobów w usłudze Azure Monitor mają te same pola nagłówka, a następnie pola specyficzne dla usługi. Typowy schemat jest opisany w schemacie dziennika zasobów usługi Azure Monitor.

Usługa Azure Functions integruje się z dziennikami usługi Azure Monitor w celu monitorowania funkcji. Aby uzyskać szczegółowe instrukcje dotyczące konfigurowania ustawień diagnostycznych w celu konfigurowania i kierowania dzienników zasobów, zobacz Tworzenie ustawień diagnostycznych w usłudze Azure Monitor.

Zrzut ekranu przedstawiający dodawanie ustawienia diagnostycznego dla usługi Azure Functions.

Aby uzyskać dostępne kategorie dzienników zasobów, skojarzone z nimi tabele usługi Log Analytics i schematy dzienników dla usługi Azure Functions, zobacz Dokumentacja danych monitorowania usługi Azure Functions.

Dziennik aktywności platformy Azure

Dziennik aktywności zawiera zdarzenia na poziomie subskrypcji, które śledzą operacje dla każdego zasobu platformy Azure widoczne spoza tego zasobu; na przykład utworzenie nowego zasobu lub uruchomienie maszyny wirtualnej.

Kolekcja: zdarzenia dziennika aktywności są generowane automatycznie i zbierane w osobnym magazynie do wyświetlania w witrynie Azure Portal.

Routing: możesz wysyłać dane dziennika aktywności do dzienników usługi Azure Monitor, aby móc analizować je wraz z innymi danymi dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i niektórzy partnerzy monitorowania firmy Microsoft. Aby uzyskać więcej informacji na temat kierowania dziennika aktywności, zobacz Omówienie dziennika aktywności platformy Azure.

Inne dzienniki

Usługa Azure Functions oferuje również możliwość zbierania więcej niż dzienniki zasobów usługi Azure Monitor. Aby wyświetlić niemal w czasie rzeczywistym strumień plików dziennika aplikacji generowanych przez funkcję działającą na platformie Azure, możesz nawiązać połączenie z usługą Application Szczegółowe informacje i użyć strumienia metryk na żywo. Możesz też użyć wbudowanego przesyłania strumieniowego dzienników platformy App Service, aby wyświetlić strumień plików dziennika aplikacji. Aby uzyskać więcej informacji, zobacz Włączanie dzienników wykonywania przesyłania strumieniowego w usłudze Azure Functions.

Analizowanie danych monitorowania

Istnieje wiele narzędzi do analizowania danych monitorowania.

Narzędzia usługi Azure Monitor

Usługa Azure Monitor obsługuje następujące podstawowe narzędzia:

  • Eksplorator metryk — narzędzie w witrynie Azure Portal, które umożliwia wyświetlanie i analizowanie metryk dla zasobów platformy Azure. Aby uzyskać więcej informacji, zobacz Analizowanie metryk za pomocą Eksploratora metryk usługi Azure Monitor.

  • Log Analytics — narzędzie w witrynie Azure Portal, które umożliwia wykonywanie zapytań i analizowanie danych dzienników przy użyciu języka zapytań Kusto (KQL). Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.

  • Dziennik aktywności, który zawiera interfejs użytkownika w witrynie Azure Portal do wyświetlania i podstawowych wyszukiwań. Aby przeprowadzić bardziej szczegółową analizę, musisz kierować dane do dzienników usługi Azure Monitor i uruchamiać bardziej złożone zapytania w usłudze Log Analytics.

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

  • Pulpity nawigacyjne, które umożliwiają łączenie różnych rodzajów danych w jednym okienku w witrynie Azure Portal.
  • Skoroszyty, dostosowywalne raporty, które można utworzyć w witrynie Azure Portal. Skoroszyty mogą zawierać tekst, metryki i zapytania dziennika.
  • Grafana to otwarte narzędzie platformy, które wyróżnia się na operacyjnych pulpitach nawigacyjnych. 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.

Narzędzia eksportu usługi Azure Monitor

Dane z usługi Azure Monitor można pobrać do innych narzędzi przy użyciu następujących metod:

  • Metryki: użyj interfejsu API REST dla metryk , aby wyodrębnić dane metryk z bazy danych metryk usługi Azure Monitor. Interfejs API obsługuje wyrażenia filtrów w celu uściślinia pobranych danych. Aby uzyskać więcej informacji, zobacz Dokumentacja interfejsu API REST usługi Azure Monitor.

  • Dzienniki: użyj interfejsu API REST lub skojarzonych bibliotek klienckich.

  • Inną opcją jest eksportowanie danych obszaru roboczego.

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

Analizowanie metryk dla usługi Azure Functions

W poniższych przykładach metryki usługi Azure Monitor ułatwiają oszacowanie kosztów uruchamiania aplikacji funkcji w planie Zużycie. Aby dowiedzieć się więcej na temat szacowania kosztów planu zużycie, zobacz Szacowanie kosztów planu zużycie.

Eksplorator metryk usługi Azure Monitor umożliwia wyświetlanie danych związanych z kosztami dla aplikacji funkcji planu zużycie w formacie graficznym.

  1. W witrynie Azure Portal przejdź do aplikacji funkcji.

  2. W panelu po lewej stronie przewiń w dół do pozycji Monitorowanie i wybierz pozycję Metryki.

  3. W obszarze Metryka wybierz pozycję Liczba wykonań funkcji i Sumuj dla agregacji. Spowoduje to dodanie sumy liczby wykonań w wybranym okresie do wykresu.

    Definiowanie metryki aplikacji funkcji do dodania do wykresu

  4. Wybierz pozycję Dodaj metryki i powtórz kroki 2–4, aby dodać jednostki wykonywania funkcji do wykresu.

Wynikowy wykres zawiera sumy dla obu metryk wykonywania w wybranym zakresie czasu, co w tym przypadku wynosi dwie godziny.

Wykres liczby wykonań funkcji i jednostek wykonywania

Ponieważ liczba jednostek wykonywania jest o wiele większa niż liczba wykonań, wykres pokazuje tylko jednostki wykonywania.

Ten wykres przedstawia w sumie 1,11 miliarda Function Execution Units zużytego w okresie dwugodzinnym mierzonym w mb-milisekundach. Aby przekonwertować na GB-s, podziel przez 1024000. W tym przykładzie aplikacja funkcji zużywała 1110000000 / 1024000 = 1083.98 GB-s. Możesz użyć tej wartości i pomnożyć bieżącą cenę czasu wykonania na stronie cennika usługi Functions, co daje koszt tych dwóch godzin, przy założeniu, że już użyto dowolnych bezpłatnych dotacji czasu wykonania.

Analizowanie dzienników dla usługi Azure Functions

Usługa Azure Functions zapisuje wszystkie dzienniki w tabeli FunctionAppLogs w obszarze LogManagement w obszarze roboczym usługi Log Analytics, w którym są wysyłane dane. Zapytania Kusto umożliwiają wykonywanie zapytań dotyczących danych.

Zrzut ekranu przedstawiający okno Zapytanie dla usługi Azure Functions w obszarze roboczym usługi Log Analytics.

Zapytania usługi Kusto

Dane monitorowania można analizować w magazynie dzienników usługi Azure Monitor /Log Analytics przy użyciu języka zapytań Kusto (KQL).

Ważne

Po wybraniu pozycji Dzienniki z menu usługi w portalu usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżącą usługę. Ten zakres oznacza, że zapytania dziennika będą zawierać tylko dane z tego typu zasobu. Jeśli chcesz uruchomić zapytanie zawierające dane z innych usług platformy Azure, wybierz pozycję Dzienniki z menu usługi Azure Monitor . Aby uzyskać szczegółowe informacje, zobacz Zakres zapytań dzienników i zakres czasu w usłudze Azure Monitor Log Analytics .

Aby uzyskać listę typowych zapytań dotyczących dowolnej usługi, zobacz interfejs zapytań usługi Log Analytics.

Następujące przykładowe zapytania mogą ułatwić monitorowanie wszystkich dzienników aplikacji funkcji:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

Następujące przykładowe zapytanie może ułatwić monitorowanie dzienników określonej aplikacji funkcji:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Następujące przykładowe zapytanie może ułatwić monitorowanie wyjątków we wszystkich dziennikach aplikacji funkcji:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

Następujące przykładowe zapytanie może ułatwić monitorowanie wyjątków w dziennikach określonej aplikacji funkcji:

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Alerty

Alerty usługi Azure Monitor proaktywnie powiadamiają o znalezieniu określonych warunków w danych monitorowania. Alerty umożliwiają identyfikowanie i rozwiązywanie problemów w systemie przed ich zauważeniem przez klientów. Aby uzyskać więcej informacji, zobacz Alerty usługi Azure Monitor.

Istnieje wiele źródeł typowych alertów dotyczących zasobów platformy Azure. Przykłady typowych alertów dotyczących zasobów platformy Azure można znaleźć w temacie Przykładowe zapytania alertów dziennika. Witryna Alerty bazowe usługi Azure Monitor (AMBA) udostępnia częściowo zautomatyzowaną metodę implementowania ważnych alertów metryk platformy, pulpitów nawigacyjnych i wytycznych. Witryna ma zastosowanie do stale powiększającego się podzestawu usług platformy Azure, w tym wszystkich usług, które są częścią strefy docelowej platformy Azure (ALZ).

Typowy schemat alertu standandaryzuje użycie powiadomień o alertach usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz Wspólny schemat alertów.

Typy alertów

Możesz otrzymywać alerty dotyczące dowolnej metryki lub źródła danych dziennika na platformie danych usługi Azure Monitor. Istnieje wiele różnych typów alertów w zależności od usług, które monitorujesz i zbieranych danych monitorowania. Różne typy alertów mają różne zalety i wady. Aby uzyskać więcej informacji, zobacz Wybieranie odpowiedniego typu alertu monitorowania.

Poniższa lista zawiera opis typów alertów usługi Azure Monitor, które można utworzyć:

  • Alerty metryk oceniają metryki zasobów w regularnych odstępach czasu. Metryki mogą być metrykami platformy, metrykami niestandardowymi, dziennikami z usługi Azure Monitor przekonwertowanym na metryki lub metrykami usługi Application Szczegółowe informacje. Alerty metryk mogą również stosować wiele warunków i progów dynamicznych.
  • Alerty dzienników umożliwiają użytkownikom używanie zapytania usługi Log Analytics do oceny dzienników zasobów z wstępnie zdefiniowaną częstotliwością.
  • Alerty dziennika aktywności są wyzwalane, gdy wystąpi nowe zdarzenie dziennika aktywności zgodne ze zdefiniowanymi warunkami. Alerty usługi Resource Health i alerty usługi Service Health to alerty dziennika aktywności, które zgłaszają kondycję usługi i zasobów.

Niektóre usługi platformy Azure obsługują również alerty wykrywania inteligentnego, alerty Prometheus lub zalecane reguły alertów.

W przypadku niektórych usług można monitorować na dużą skalę, stosując tę samą regułę alertu metryki do wielu zasobów tego samego typu, które istnieją w tym samym regionie świadczenia usługi Azure. Poszczególne powiadomienia są wysyłane dla każdego monitorowanego zasobu. Aby uzyskać informacje o obsługiwanych usługach i chmurach platformy Azure, zobacz Monitorowanie wielu zasobów przy użyciu jednej reguły alertu.

Uwaga

Jeśli tworzysz lub uruchamiasz aplikację działającą w usłudze, usługa Azure Monitor application insights może oferować więcej typów alertów.

Reguły alertów usługi Azure Functions

W poniższej tabeli wymieniono typowe i zalecane reguły alertów dla usługi Azure Functions. Są to tylko zalecane alerty. Alerty można ustawić dla dowolnej metryki, wpisu dziennika lub wpisu dziennika aktywności wymienionego w dokumentacji dotyczącej danych monitorowania dla usługi Azure Functions.

Typ alertu Warunek opis
Metric Średnie połączenia Gdy liczba połączeń przekracza ustawioną wartość
Metric HTTP 404 Gdy odpowiedzi HTTP 404 przekraczają ustawioną wartość
Metric Błędy serwera HTTP Gdy błędy HTTP 5xx przekraczają ustawioną wartość
Dziennik aktywności Tworzenie lub aktualizowanie aplikacji funkcji Po utworzeniu lub zaktualizowaniu aplikacji
Dziennik aktywności Usuwanie aplikacji funkcji Gdy aplikacja zostanie usunięta
Dziennik aktywności Ponowne uruchamianie aplikacji funkcji Po ponownym uruchomieniu aplikacji
Dziennik aktywności Zatrzymywanie aplikacji funkcji Po zatrzymaniu aplikacji

Zalecenia doradcy

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.

Aby uzyskać więcej informacji na temat monitorowania usługi Azure Functions, zobacz następujące artykuły: