Monitorowanie aplikacji internetowej na platformie Azure

Azure App Service
Azure Log Analytics
Azure Monitor

Ten scenariusz dotyczy usług monitorowania, których można używać i opisuje model przepływu danych do użycia z wieloma źródłami danych. Jeśli chodzi o monitorowanie, wiele narzędzi i usług współpracuje z wdrożeniami platformy Azure. W tym scenariuszu wybieramy łatwo dostępne usługi dokładnie dlatego, że są łatwe w użyciu. Inne opcje monitorowania zostały omówione w dalszej części tego artykułu.

Architektura

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

Ten scenariusz używa zarządzanego środowiska platformy Azure do hostowania aplikacji i warstwy danych. Dane przepływa przez scenariusz w następujący sposób:

  1. Użytkownik wchodzi w interakcję z aplikacją.
  2. Przeglądarka i usługa app service emitują dane telemetryczne.
  3. Aplikacja Szczegółowe informacje zbiera i analizuje dane dotyczące kondycji aplikacji, wydajności i użycia.
  4. Deweloperzy i administratorzy mogą przeglądać informacje o kondycji, wydajności i użyciu.
  5. Usługa Azure SQL Database emituje dane telemetryczne.
  6. Usługa Azure Monitor zbiera i analizuje metryki infrastruktury oraz limity przydziału.
  7. Usługa Log Analytics zbiera i analizuje dzienniki i metryki.
  8. Deweloperzy i administratorzy mogą przeglądać informacje o kondycji, wydajności i użyciu.

Elementy

  • aplikacja systemu Azure Service to usługa PaaS służąca do tworzenia i hostowania aplikacji na zarządzanych maszynach wirtualnych. Podstawowa infrastruktura obliczeniowa, na której są uruchamiane aplikacje, jest zarządzana. Usługa App Service zapewnia monitorowanie limitów przydziałów użycia zasobów i metryk aplikacji, rejestrowanie informacji diagnostycznych i alertów na podstawie metryk. Jeszcze lepiej, możesz użyć Szczegółowe informacje aplikacji do utworzenia testów dostępności na potrzeby testowania aplikacji z różnych regionów.
  • Szczegółowe informacje aplikacji to rozszerzalna usługa zarządzania wydajnością aplikacji (APM) dla deweloperów i obsługuje wiele platform. Monitoruje aplikację, wykrywa anomalie aplikacji, takie jak niska wydajność i błędy, i wysyła dane telemetryczne do witryny Azure Portal. Szczegółowe informacje aplikacji można również używać do rejestrowania, śledzenia rozproszonego i niestandardowych metryk aplikacji.
  • Usługa Azure Monitor udostępnia metryki i dzienniki infrastruktury na poziomie podstawowym dla większości usług na platformie Azure. Metryki można wchodzić w interakcje na kilka sposobów, w tym na wykresy w witrynie Azure Portal, uzyskiwać do nich dostęp za pośrednictwem interfejsu API REST lub wykonywać względem nich zapytania przy użyciu programu PowerShell lub interfejsu wiersza polecenia. Usługa Azure Monitor oferuje również swoje dane bezpośrednio w usłudze Log Analytics i innych usługach, w których można wykonywać zapytania i łączyć je z danymi z innych źródeł lokalnych lub w chmurze.
  • Usługa Log Analytics pomaga skorelować dane użycia i wydajności zebrane przez aplikację Szczegółowe informacje z danymi konfiguracji i wydajności w zasobach platformy Azure, które obsługują aplikację. W tym scenariuszu agent usługi Azure Log Analytics wypycha dzienniki inspekcji programu SQL Server do usługi Log Analytics. Zapytania można zapisywać i wyświetlać dane w bloku Usługi Log Analytics w witrynie Azure Portal.

Szczegóły scenariusza

Oferty platformy Azure jako usługi (PaaS) zarządzają zasobami obliczeniowymi i wpływają na sposób monitorowania wdrożeń. Platforma Azure obejmuje wiele usług monitorowania, z których każda wykonuje określoną rolę. Razem te usługi zapewniają kompleksowe rozwiązanie do zbierania, analizowania i działania na podstawie danych telemetrycznych z aplikacji i zasobów platformy Azure, z których korzystają.

Ten scenariusz dotyczy usług monitorowania, których można używać i opisuje model przepływu danych do użycia z wieloma źródłami danych. Jeśli chodzi o monitorowanie, wiele narzędzi i usług współpracuje z wdrożeniami platformy Azure. W tym scenariuszu wybieramy łatwo dostępne usługi dokładnie dlatego, że są łatwe w użyciu. Inne opcje monitorowania zostały omówione w dalszej części tego artykułu.

Potencjalne przypadki użycia

Inne istotne przypadki użycia to:

  • Instrumentacja aplikacji internetowej na potrzeby monitorowania telemetrii.
  • Zbieranie danych telemetrycznych frontonu i zaplecza dla aplikacji wdrożonej na platformie Azure.
  • Monitorowanie metryk i przydziałów skojarzonych z usługami na platformie Azure.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Omówienie filaru doskonałości operacyjnej.

Monitorowanie

Zalecaną praktyką jest dodawanie Szczegółowe informacje aplikacji do kodu podczas programowania przy użyciu zestawów SDK usługi Application Szczegółowe informacje i dostosowywanie poszczególnych aplikacji. Te zestawy SDK typu open source są dostępne dla większości platform aplikacji. Aby wzbogacić i kontrolować zbierane dane, uwzględnij użycie zestawów SDK zarówno na potrzeby testowania, jak i wdrażania produkcyjnego w procesie programowania. Głównym wymaganiem jest, aby aplikacja miała bezpośredni lub pośredni widok do punktu końcowego pozyskiwania aplikacji Szczegółowe informacje hostowanego z adresem dostępnym z Internetu. Następnie można dodać dane telemetryczne lub wzbogacić istniejącą kolekcję telemetrii.

Monitorowanie środowiska uruchomieniowego to kolejny łatwy sposób na rozpoczęcie pracy. Zbierane dane telemetryczne muszą być kontrolowane za pośrednictwem plików konfiguracji. Można na przykład uwzględnić metody środowiska uruchomieniowego, które umożliwiają narzędzia, takie jak Application Szczegółowe informacje Status Monitor, aby wdrożyć zestawy SDK w prawidłowym folderze i dodać odpowiednie konfiguracje, aby rozpocząć monitorowanie.

Podobnie jak Szczegółowe informacje aplikacji, usługa Log Analytics udostępnia narzędzia do analizowania danych między źródłami, tworzenia złożonych zapytań i wysyłania proaktywnych alertów w określonych warunkach. Dane telemetryczne można również wyświetlić w witrynie Azure Portal. Usługa Log Analytics dodaje wartość do istniejących usług monitorowania, takich jak Azure Monitor , i może również monitorować środowiska lokalne.

Zarówno Szczegółowe informacje aplikacji, jak i log analytics używają języka zapytań usługi Azure Log Analytics. Zapytania obejmujące wiele zasobów umożliwiają również analizowanie danych telemetrycznych zebranych przez usługę Application Szczegółowe informacje i Log Analytics w jednym zapytaniu.

Usługa Azure Monitor, Szczegółowe informacje aplikacji i usługa Log Analytics wysyłają alerty. Na przykład alerty usługi Azure Monitor dotyczące metryk na poziomie platformy, takich jak użycie procesora CPU, a usługa Application Szczegółowe informacje alerty dotyczące metryk na poziomie aplikacji, takich jak czas odpowiedzi serwera. Usługa Azure Monitor wysyła alerty dotyczące nowych zdarzeń w dzienniku aktywności platformy Azure, podczas gdy usługa Log Analytics może wysyłać alerty dotyczące metryk lub danych zdarzeń dla usług skonfigurowanych do jej używania. Ujednolicone alerty w usłudze Azure Monitor to nowe, ujednolicone środowisko alertów na platformie Azure, które korzysta z innej taksonomii.

Alternatywy

W tym artykule opisano wygodne dostępne opcje monitorowania z popularnymi funkcjami, ale masz wiele opcji, w tym opcję tworzenia własnych mechanizmów rejestrowania. Zalecaną praktyką jest dodanie usług monitorowania podczas tworzenia warstw w rozwiązaniu. Poniżej przedstawiono niektóre możliwe rozszerzenia i alternatywy:

Aby uzyskać więcej informacji, zobacz Monitorowanie metodyki DevOps w strukturze Azure Well-Architected Framework.

Skalowalność i dostępność

Ten scenariusz koncentruje się na rozwiązaniach PaaS do monitorowania w dużej części, ponieważ wygodnie obsługują dostępność i skalowalność dla Ciebie i są wspierane przez umowy dotyczące poziomu usług (SLA). Na przykład usługa App Services zapewnia gwarantowaną umowę SLA dla jej dostępności.

Szczegółowe informacje aplikacji ma limity liczby żądań, które można przetworzyć na sekundę. W przypadku przekroczenia limitu żądań może wystąpić ograniczanie komunikatów. Aby zapobiec ograniczaniu przepustowości, zaimplementuj filtrowanie lub próbkowanie , aby zmniejszyć szybkość danych

Zagadnienia dotyczące wysokiej dostępności aplikacji, którą uruchamiasz, są jednak odpowiedzialne za dewelopera. Aby uzyskać informacje na temat skalowania, zobacz zagadnienia dotyczące skalowalności w podstawowej architekturze referencyjnej aplikacji internetowej. Po wdrożeniu aplikacji można skonfigurować testy, aby monitorować jej dostępność przy użyciu aplikacji Szczegółowe informacje.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Poufne informacje i wymagania dotyczące zgodności wpływają na zbieranie, przechowywanie i przechowywanie danych. Dowiedz się więcej o tym, jak usługa Application Szczegółowe informacje i Log Analytics obsługują dane telemetryczne.

Mogą również mieć zastosowanie następujące zagadnienia dotyczące zabezpieczeń:

  • Opracuj plan obsługi danych osobowych, jeśli deweloperzy mogą zbierać własne dane lub wzbogacać istniejące dane telemetryczne.
  • Rozważ przechowywanie danych. Na przykład aplikacja Szczegółowe informacje przechowuje dane telemetryczne przez 90 dni. Archiwizowanie danych, do których chcesz uzyskiwać dostęp przez dłuższy czas przy użyciu usługi Microsoft Power BI, eksportu ciągłego lub interfejsu API REST. Obowiązują stawki magazynowania.
  • Ogranicz dostęp do zasobów platformy Azure, aby kontrolować dostęp do danych i kto może wyświetlać dane telemetryczne z określonej aplikacji. Aby ułatwić blokowanie dostępu do monitorowania telemetrii, zobacz Zasoby, role i kontrola dostępu w usłudze Application Szczegółowe informacje.
  • Rozważ, czy kontrolować dostęp do odczytu/zapisu w kodzie aplikacji, aby uniemożliwić użytkownikom dodawanie znaczników wersji lub tagów, które ograniczają pozyskiwanie danych z aplikacji. W przypadku Szczegółowe informacje aplikacji nie ma kontroli nad poszczególnymi elementami danych po wysłaniu ich do zasobu, więc jeśli użytkownik ma dostęp do dowolnych danych, ma dostęp do wszystkich danych w pojedynczym zasobie.
  • Dodaj mechanizmy ładu , aby w razie potrzeby wymusić zasady lub mechanizmy kontroli kosztów nad zasobami platformy Azure. Na przykład użyj usługi Log Analytics do monitorowania związanego z zabezpieczeniami, takiego jak zasady i kontrola dostępu oparta na rolach, lub użyj usługi Azure Policy do tworzenia, przypisywania i zarządzania definicjami zasad.
  • Aby monitorować potencjalne problemy z zabezpieczeniami i uzyskać centralny widok stanu zabezpieczeń zasobów platformy Azure, rozważ użycie Microsoft Defender dla Chmury.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Monitorowanie opłat może szybko się zwiększać. Rozważ z góry ceny, dowiedz się, co monitorujesz, i sprawdź skojarzone opłaty za każdą usługę. Usługa Azure Monitor udostępnia podstawowe metryki bez kosztów, podczas gdy monitorowanie kosztów usługi Application Szczegółowe informacje i Log Analytics zależy od ilości pozyskanych danych i liczby uruchomionych testów.

Aby ułatwić rozpoczęcie pracy, użyj kalkulatora cen, aby oszacować koszty. Zmień różne opcje cenowe, aby odpowiadały oczekiwanemu wdrożeniu.

Dane telemetryczne z Szczegółowe informacje aplikacji są wysyłane do witryny Azure Portal podczas debugowania i po opublikowaniu aplikacji. W celach testowych i w celu uniknięcia opłat instrumentacja jest ograniczona ilość danych telemetrycznych. Aby dodać więcej wskaźników, możesz podnieść limit telemetrii. Aby uzyskać bardziej szczegółową kontrolę, zobacz Próbkowanie w aplikacji Szczegółowe informacje.

Po wdrożeniu można obejrzeć strumień metryk na żywo wskaźników wydajności. Te dane nie są przechowywane — wyświetlasz metryki w czasie rzeczywistym, ale dane telemetryczne można zbierać i analizować później. Za dane transmisji strumieniowej na żywo nie są naliczane opłaty.

Opłaty za usługę Log Analytics są naliczane za każdy gigabajt (GB) danych pozyskanych do usługi. Pierwsze 5 GB danych pozyskanych do usługi Azure Log Analytics co miesiąc jest oferowane bezpłatnie, a dane są przechowywane bez opłat przez pierwsze 31 dni w obszarze roboczym usługi Log Analytics.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Zapoznaj się z tymi zasobami, które ułatwiają rozpoczęcie pracy z własnym rozwiązaniem do monitorowania: