Hybrydowe monitorowanie dostępności i wydajności

Azure Event Hubs
Azure Log Analytics
Azure Monitor
Azure Storage
Azure Virtual Machines

Ta architektura referencyjna pokazuje, jak za pomocą usługi Azure Monitor monitorować wydajność i dostępność obciążeń systemu operacyjnego działających na maszynach wirtualnych. Maszyny wirtualne mogą znajdować się na platformie Microsoft Azure, w środowiskach lokalnych lub w chmurach spoza platformy Azure.

Architektura

Diagram ilustrujący funkcje monitorowania i dostępności obciążeń usługi Azure Monitor dla systemu operacyjnego na platformie Azure, w środowiskach lokalnych i dostawców usług w chmurze innych firm. Dane są wysyłane do obszaru roboczego usługi Log Analytics. Dane są używane przez usługi Application Szczegółowe informacje, Analysis, Visualization, Alerts i Autoscale w ramach usługi Azure Monitor

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  • Lokalne biuro główne — maszyna wirtualna 1. Ten składnik jest aplikacją internetową z dostępem do Internetu i publiczną stroną internetową, a także zainstalowanymi agentami usługi Log Analytics i zależności. Aby uzyskać informacje o agentach, zapoznaj się z omówieniem agenta usługi Log Analytics i omówieniem agentów usługi Azure Monitor, agentem zależności.
  • Lokalne biuro główne — maszyna wirtualna 2. To środowisko logiki biznesowej nie ma dostępu do Internetu. Ma jednak zainstalowanych agentów Log Analytics i Dependency.
  • Lokalne biuro główne — maszyna wirtualna 3. Ten składnik jest magazynem danych bez dostępu do Internetu, ale z zainstalowanymi agentami usługi Log Analytics i zależności.
  • Lokalne biuro główne — brama usługi Log Analytics. Brama usługi Log Analytics zbiera dane dzienników i metryk z trzech lokalnych maszyn wirtualnych i dostarcza je do obszaru roboczego usługi Log Analytics za pośrednictwem protokołu TCP (Transmission Control Protocol) na porcie 443.
  • Lokalne biuro główne — zapora. Ruch do i ze środowiska lokalnego jest kierowany przez zaporę.
  • Brama. Brama zapewnia łączność z oddziałem firmy.
  • Lokalne biuro oddziału — maszyna wirtualna 4. Ten składnik jest aplikacją biznesową, która jest uruchomiona bez dostępu do Internetu, ale z zainstalowanymi agentami usługi Log Analytics i agentami zależności. Agent usługi Log Analytics zainstalowany na maszynie wirtualnej jest skonfigurowany do przesyłania danych bezpośrednio do obszaru roboczego usługi Log Analytics bez konieczności używania bramy usługi Log Analytics.
  • Lokalna oddział — brama. Ta brama łączy oddział z siedzibą lokalną za pośrednictwem wirtualnej sieci prywatnej (VPN).
  • Dostawca usług w chmurze innych firm — maszyna wirtualna 5. Ten składnik jest aplikacją internetową z dostępem do Internetu, publiczną stroną internetową oraz zainstalowanymi agentami usługi Log Analytics i zależności.
  • Dostawca usług w chmurze innych firm — maszyna wirtualna 6. Ten składnik jest środowiskiem magazynu danych bez dostępu do Internetu, ale z zainstalowanymi agentami usługi Log Analytics i zależności. Nie ma bezpośredniej łączności ze środowiskami dostawcy usług w chmurze innych firm do środowisk lokalnych.
  • Azure — VMSS. Jest to zestaw skalowania utworzony przy użyciu usługi Azure Virtual Machine Scale Sets. Uruchamia aplikację biznesową z zainstalowanymi agentami analizy dzienników i diagnostyki.
  • Azure — serwer aplikacji. Ten serwer ma jedną maszynę wirtualną z uruchomioną aplikacją biznesową z zainstalowaną usługą Log Analytics i agentami diagnostycznymi.
  • Metryki usługi Azure Monitor. Dane zbierane przez metryki usługi Azure Monitor są przechowywane w bazie danych szeregów czasowych zoptymalizowanych pod kątem analizowania danych ze znacznikami czasu. Przechowuje również metryki wysyłane z lokalnych maszyn wirtualnych i maszyn wirtualnych platformy Azure.
  • Azure Monitor — obszar roboczy usługi Log Analytics. Ten obszar roboczy przechowuje dzienniki wysyłane z lokalnych maszyn wirtualnych, maszyn wirtualnych platformy Azure i maszyn wirtualnych u dostawców usług w chmurze innych firm. Obszar roboczy to zasób platformy Azure, w którym dane są agregowane i służy jako granica administracyjna służąca do uzyskiwania dostępu do tych danych. Inne usługi Azure Monitor następnie łączą się z obszarem roboczym usługi Log Analytics i używają danych do różnych celów. Aby uzyskać więcej informacji, zobacz Projektowanie wdrożenia dzienników usługi Azure Monitor.
  • Azure Monitor — Szczegółowe informacje — Szczegółowe informacje aplikacji. Szczegółowe informacje aplikacji udostępnia analizy aplikacji i wgląd w ich użycie. W tej przykładowej architekturze test ping dostępności sprawdza dostępność lokalnej aplikacji internetowej. Reguły alertów są włączone w celu dostarczenia powiadomienia o nieudanym teście. Aby uzyskać więcej informacji, zobacz Co to jest aplikacja Szczegółowe informacje? i Monitorowanie dostępności dowolnej witryny internetowej.
  • Azure Monitor — Szczegółowe informacje — Azure Monitor dla maszyn wirtualnych. Azure Monitor dla maszyn wirtualnych monitoruje wydajność i kondycję maszyn wirtualnych oraz zestawów skalowania maszyn wirtualnych. Monitorowanie obejmuje uruchomione procesy i zależności od innych zasobów. W tym scenariuszu Azure Monitor dla maszyn wirtualnych zapewni wgląd w maszyny wirtualne. Aby uzyskać więcej informacji, zobacz Co to jest Azure Monitor dla maszyn wirtualnych?.
  • Azure Monitor — analiza. Dane dzienników i metryk z maszyn wirtualnych są odpytywane w metrykach usługi Azure Monitor i w obszarze roboczym usługi Log Analytics przy użyciu język zapytań Kusto (KQL). Wyniki zapewniają wgląd w infrastrukturę, topologię i zasoby. Aby uzyskać więcej informacji, zobacz Przykłady zapytań dzienników usługi Kusto: Omówienie i Dziennik usługi Azure Monitor.
  • Azure Monitor — wizualizacje. Usługa Azure Monitor używa narzędzi do wizualizacji do przeglądania składników aplikacji i infrastruktury oraz komunikacji między usługami w usłudze Azure Monitor. Narzędzia do wizualizacji obejmują mapę aplikacji w usłudze aplikacja systemu Azure Insight, funkcję Mapy Azure Monitor dla maszyn wirtualnych, skoroszyty usługi Azure Monitor i różne widoki pulpitów nawigacyjnych dostępne w usłudze Azure Monitor. Aby uzyskać więcej informacji, zobacz Use the Map feature of Azure Monitor dla maszyn wirtualnych to understand application components(Tworzenie i udostępnianie pulpitów nawigacyjnych danych usługi Log Analytics) oraz Azure Monitor Workbooks (Skoroszyty usługi Azure Monitor).
  • Azure Monitor — integracje. Usługa Azure Monitor integruje się z szeregiem narzędzi i rozszerzeń innych firm. Te narzędzia i rozszerzenia rozszerzają istniejące funkcje usługi Azure Monitor, takie jak analiza i wizualizacje.
  • Azure Monitor — Akcje — alerty. Odmiany danych metryk i dzienników mogą wskazywać na wystąpienie zdarzeń. Reguły definiują odmiany danych, które wyzwalają alerty, dostarczają powiadomienia i inicjują odpowiedzi korygujące. W tej architekturze po wyzwoleniu alertu elementy Runbook automatyzacji automatycznie korygują lokalne maszyny wirtualne i maszyny wirtualne platformy Azure. Dostępne są również akcje elementu webhook, integracja zarządzania usługami i inne typy akcji. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie alertów metryk i zarządzanie nimi przy użyciu usługi Azure Monitor i Tworzenie, wyświetlanie alertów dzienników i zarządzanie nimi przy użyciu usługi Azure Monitor.
  • Azure Monitor — akcje — skalowanie automatyczne. Automatyczne skalowanie dodaje lub usuwa wystąpienia maszyn wirtualnych zgodnie z deman, co zapewnia wydajność i zwiększa efektywność kosztu. W tej architekturze skalowanie automatyczne ma warunki zdefiniowane wokół średniego obciążenia procesora CPU (w procentach). Po spełnieniu warunków skalowanie automatyczne usługi Azure Monitor dostosuje zestaw skalowania zgodnie z zapotrzebowaniem. Aby uzyskać więcej informacji, zobacz Omówienie autoskalowania na platformie Microsoft Azure.

Składniki

Niniejsza architektura zawiera następujące składniki:

Zalecenia

Poniższe najlepsze rozwiązania to zalecenia dotyczące większości scenariuszy. Postępuj zgodnie z tymi praktykami, chyba że masz określone wymaganie, które je zastępuje.

Obszar roboczy usługi Log Analytics

Podczas projektowania obszaru roboczego usługi Log Analytics należy wziąć pod uwagę następujące zalecenia:

  • Umieść obszar roboczy i zasoby w tym samym regionie świadczenia usługi Azure, jeśli opóźnienie jest ważnym czynnikiem.
  • Zacznij od jednego obszaru roboczego usługi Log Analytics i zwiększ liczbę obszarów roboczych w miarę zmiany wymagań.
  • Jeśli masz rozproszone geograficznie zespoły i zasoby, może być potrzebny jeden obszar roboczy na region.
  • Obszar roboczy nie musi znajdować się w tej samej subskrypcji co uruchomione zasoby.

Alerty

W przypadku prostszych scenariuszy można użyć metryk do flagowania alertów, a nie dzienników. Metryki:

  • Podaj liczbę lub wartość liczbową dla zdarzeń, takich jak użycie procesora CPU, dostępna pamięć lub miejsce na dysku logicznym.
  • Mają małe opóźnienia.
  • Zapewnij większą stopień szczegółowości, na przykład interwały na sekundę lub minutę.
  • Powiadom Cię o problemie szybko.

Aby zebrać niestandardowe wskaźniki wydajności lub metryki specyficzne dla firmy w celu uzyskania szczegółowych informacji, użyj metryk niestandardowych. Aby uzyskać więcej informacji, zobacz Metryki niestandardowe w usłudze Azure Monitor (wersja zapoznawcza).

Alerty metryk nie są odpowiedzią we wszystkich sytuacjach. Nadal możesz chcieć używać alertów opartych na dziennikach, gdy potrzebujesz większej liczby dostosowań lub bardziej zaawansowanych korelacji.

Analiza i diagnostyka

Rozważ następujące zalecenia dotyczące analizy i diagnostyki:

  • Użyj dzienników do dokładniejszej analizy. Dzienniki mogą:

    • Podaj szczegółowe informacje o zdarzeniach (w porównaniu z metrykami).
    • Zdarza się sporadycznie.
    • Ułatwianie dokładniejszej diagnostyki po początkowej flagi metryki.
  • Dostosowywanie zbierania danych dzienników (podobnie jak metryki) przy użyciu interfejsu API modułu zbierającego dane HTTP w celu wysyłania danych dziennika do obszaru roboczego usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Wysyłanie danych dziennika do usługi Azure Monitor przy użyciu interfejsu API modułu zbierającego dane HTTP (publiczna wersja zapoznawcza).

  • Proaktywne analizowanie aplikacji za pomocą funkcji wykrywania inteligentnego usługi Application Insights. Wykrywanie inteligentne stosuje możliwości uczenia maszynowego platformy Azure i analizy statystycznej w celu wykrywania problemów, takich jak anomalie wydajności lub awarii, przecieki pamięci lub ogólne pogorszenie aplikacji. Aby uzyskać więcej informacji, zobacz Wykrywanie inteligentne w Szczegółowe informacje aplikacji.

  • Użyj Azure Monitor dla maszyn wirtualnych — mapuj, aby przejrzeć połączenia między serwerami, procesami, opóźnieniem połączenia przychodzącego i wychodzącego oraz portami w dowolnej architekturze połączonej z protokołem TCP. Nie jest wymagana żadna konfiguracja inna niż instalowanie agenta. Za pomocą Azure Monitor dla maszyn wirtualnych — mapa umożliwia interakcję z serwerami i kontaktowanie się z nimi jako połączonych systemów.

Zapytania usługi Log Analytics

Wykonywanie zapytań dotyczących danych w obszarze roboczym usługi Log Analytics przy użyciu języka KQL w celu wyszukiwania terminów, określonych zdarzeń lub stanów w celu identyfikowania trendów i analizowania wzorców. Użyj Eksploratora zapytań, aby przeglądać i wybierać wstępnie napisane zapytania, modyfikować je lub tworzyć własne. Zapytania można uruchamiać, zapisywać, udostępniać i eksportować z obszaru roboczego oraz przypinać ulubione zapytania do pulpitu nawigacyjnego w celu ponownego użycia.

Instalacja agenta

Instaluj agentów automatycznie i na dużą skalę, a nie indywidualnie, przy użyciu opcji automatyzacji, takich jak Azure Policy, Azure PowerShell, szablony usługi Resource Manager lub Konfiguracja żądanego stanu (DSC). Aby uzyskać więcej informacji, zobacz Włączanie Azure Monitor dla maszyn wirtualnych przy użyciu usługi Azure Policy, Włączanie Azure Monitor dla maszyn wirtualnych przy użyciu programu Azure PowerShell i Włączanie Azure Monitor dla maszyn wirtualnych dla hybrydowej maszyny wirtualnej — Konfiguracja żądanego stanu.

pulpit nawigacyjny

W przypadku krytycznych aplikacji utwórz widok pulpitu nawigacyjnego platformy Azure. Udostępnij lub udostępnij pulpit nawigacyjny na udostępnionym ekranie w czasie rzeczywistym osobom, które potrzebują krytycznych danych aplikacji.

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.

Niezawodność

Niezawodność gwarantuje, że aplikacja może spełnić zobowiązania, które należy wykonać dla klientów. Aby uzyskać więcej informacji, zobacz Omówienie filaru niezawodności.

Poniższe zagadnienia pomagają zapewnić dostępność w danym środowisku.

  • Testy dostępności. Test ping adresu URL używany w tej architekturze jest najprostszym testem dostępności zewnętrznym . Dostępne są jednak inne opcje, takie jak:
    • Wieloetapowy test internetowy. Odtwarza nagrania sekwencjonowanych żądań internetowych w celu przetestowania złożonych scenariuszy. Testy internetowe wieloetapowe są tworzone w programie Microsoft Visual Studio Enterprise, a następnie przekazywane do portalu w celu wykonania.
    • Niestandardowe testy dostępności śledzenia. TrackAvailability() Użyj metody , aby wysłać wyniki testu do usługi Application Szczegółowe informacje.
  • Alerty. Podczas tworzenia testu dostępności w usłudze Application Szczegółowe informacje powiadomienia o alertach zdarzeń są domyślnie włączone. Reguły alertów można edytować, określając typ powiadomienia i szczegóły w obszarze Alerty usługi Azure Monitor>.

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ń.

Poniższe elementy to zagadnienia dotyczące zwiększenia bezpieczeństwa środowiska.

  • Obszar roboczy usługi Log Analytics. Tryby dostępu są definiowane jako jeden z następujących kontekstów:
    • Kontekst obszaru roboczego. Wszystkie dzienniki, do których można uzyskać uprawnienia dostępu w obszarze roboczym. Jest to podejście dostępu w pionie. Na przykład zespół ds. zabezpieczeń może potrzebować dostępu do wszystkich danych zasobów z góry.
    • Kontekst zasobu. Zapytania dotyczące określonych zasobów można wykonywać tylko w dziennikach. Na przykład zespół aplikacji może uzyskać dostęp do dzienników dla określonego zasobu, nad którym pracuje.
  • Zabezpieczanie danych przesyłanych do usługi Log Analytics. Dane przesyłane są zabezpieczone przy użyciu minimalnej wersji protokołu Transport Layer Security (TLS) 1.2. Nie musisz jawnie włączać tej funkcji. Aby uzyskać więcej informacji, zobacz Zabezpieczenia danych usługi Log Analytics.
  • Zabezpieczanie danych magazynowanych w usłudze Log Analytics. Dane magazynowane w usłudze Log Analytics są zabezpieczone zgodnie z usługą Azure Storage przy użyciu 256-bitowego szyfrowania Advanced Encryption Standard (AES) domyślnie.
  • Wykrywanie inteligentne. Funkcja wykrywania inteligentnego w aplikacji Szczegółowe informacje umożliwia analizowanie danych telemetrycznych generowanych przez aplikację oraz wykrywanie problemów z zabezpieczeniami. Aby uzyskać więcej informacji, zobacz Pakiet wykrywania zabezpieczeń aplikacji (wersja zapoznawcza).
  • Integracja usługi Azure Monitor z narzędziami do zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM). Kierowanie danych monitorowania do centrum zdarzeń za pomocą usługi Azure Monitor w celu zintegrowania zewnętrznych narzędzi SIEM i monitorowania. Aby uzyskać więcej informacji, zobacz Stream Azure monitoring data to an event hub or external partner (Przesyłanie strumieniowe danych monitorowania platformy Azure do centrum zdarzeń lub partnera zewnętrznego).

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.

Poniższe elementy to zagadnienia dotyczące kontrolowania kosztów w danym środowisku i zarządzania nimi.

  • Azure Monitor. Koszty usługi Azure Monitor są oparte na użyciu, często określane jako płatność zgodnie z rzeczywistym użyciem.
  • Log Analytics. Płacisz za pozyskiwanie danych i przechowywanie danych. Możesz oszacować i przewidzieć liczbę maszyn wirtualnych oraz ilość danych (w gigabajtach), które mają być zbierane z każdej maszyny wirtualnej. Typowa maszyna wirtualna platformy Azure zużywa między 1 gigabajtami (GB) i 3 GB danych każdego miesiąca. Jeśli oceniasz użycie danych za pomocą dzienników usługi Azure Monitor, użyj statystyk danych z własnego środowiska i uzyskaj rabat z rezerwacjami pojemności.
  • Application Insights. Ten składnik jest rozliczany zgodnie z ilością danych telemetrycznych wysyłanych przez aplikację oraz liczbą uruchomionych testów internetowych.
  • Zapytania dotyczące metryk. Zapytania metryk są rozliczane według liczby wykonanych wywołań.
  • Alerty. Alerty są rozliczane na podstawie typu i liczby monitorowanych sygnałów.
  • Powiadomienia. Powiadomienia są rozliczane zgodnie z typem i liczbą wysyłanych powiadomień.
  • Azure Monitor. Sekcja Użycie i szacowane koszty w usłudze Azure Monitor szacuje miesięczne koszty na podstawie użycia z poprzednich 31 dni.
  • Aby uzyskać więcej informacji, zobacz Kalkulator cen i cen usługi Azure Monitor.

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.

Możliwości zarządzania

Poniżej przedstawiono zagadnienia dotyczące zwiększenia możliwości zarządzania środowiskiem.

DevOps

Poniżej przedstawiono zagadnienia dotyczące integrowania środowiska z procesami i rozwiązaniami DevOps.

  • Application Insights. Zintegruj Szczegółowe informacje aplikacji z usługą Azure Pipelines, aby zwiększyć wydajność i użyteczność. Szczegółowe informacje aplikacji może automatycznie wykrywać anomalie wydajności. Łączy się z różnymi narzędziami programistycznymi, takimi jak Usługi Azure DevOps Services i GitHub.
  • Instrumentacja aplikacji. Instrumentowanie aplikacji przez zmodyfikowanie kodu aplikacji w celu włączenia telemetrii za pomocą Szczegółowe informacje aplikacji. Następujące metody to metody instrumentowania aplikacji:
    • W czasie wykonywania. Instrumentacja aplikacji internetowej na serwerze w czasie wykonywania jest idealna dla wdrożonych już aplikacji, ponieważ nie trzeba aktualizować kodu. Odpowiednie scenariusze obejmują:
      • Aplikacje microsoft ASP.NET lub ASP.NET Core hostowane w usłudze Azure Web Apps
      • ASP.NET aplikacji hostowanych w usługach Microsoft Internet Information Services (IIS) na maszynie wirtualnej lub zestawie skalowania maszyn wirtualnych
      • ASP.NET aplikacji hostowanych w usługach IIS na lokalnej maszynie wirtualnej
      • Usługa Azure Functions oparta na języku Java
      • Node.JS aplikacji w usłudze App Services systemu Linux
      • Mikrousługi hostowane w usłudze AKS
    • W czasie opracowywania. Dodaj Szczegółowe informacje aplikacji do kodu, aby dostosować zbieranie danych telemetrycznych i wysłać więcej danych. Obsługiwane języki i platformy obejmują:
      • Aplikacje ASP.NET
      • aplikacje ASP.NET Core
      • Aplikacje konsolowe platformy .NET
      • Java
      • Node.js
      • Python
  • Użyj Połączenie or zarządzania usługami IT (ITSMC), aby nawiązać połączenie z zewnętrznymi narzędziami do zarządzania usługami IT (ITSM). ITSMC łączy platformę Azure z obsługiwanymi produktami i usługami ITSM, gdzie zwykle znajdują się elementy robocze związane z problemami. Aby uzyskać więcej informacji, zobacz Połączenie azure to ITSM tools using IT Service Management Połączenie or (Połączenie azure to ITSM tools using IT Service Management Połączenie or).

Efektywność wydajności

Wydajność to możliwość skalowania obciążenia w wydajny sposób w celu spełnienia wymagań, które użytkownicy umieszczają na nim. Aby uzyskać więcej informacji, zobacz Omówienie filaru wydajności.

Poniżej przedstawiono zagadnienia dotyczące skalowania środowiska.

  • Automatyzowanie instalacji i konfiguracji zasobów i aplikacji.
  • Aplikacje rozproszone geograficznie na dużą skalę. Śledzenie rozproszone w Szczegółowe informacje aplikacji służy do śledzenia zależności i wywołań między wieloma składnikami aplikacji, zasobami zaplecza i środowiskami mikrousług. Za pomocą funkcji śledzenia rozproszonego można debugować aplikacje, które są wywoływane przez granice procesów poza stosem lokalnym. (Nie musisz włączać Śledzenie rozproszone jest dostępne automatycznie w ramach Szczegółowe informacje aplikacji).
    • Dwie opcje korzystania z rozproszonych danych śledzenia to:
      • Środowisko diagnostyki transakcji. To środowisko jest podobne do stosu wywołań z dodanym wymiarem czasu. Środowisko diagnostyki transakcji zapewnia wgląd w jedną transakcję/żądanie. Pomocne jest znalezienie głównej przyczyny problemów z niezawodnością i wąskich gardeł wydajności dla poszczególnych żądań. Aby uzyskać więcej informacji, zobacz Co to jest śledzenie rozproszone?
      • Środowisko mapy aplikacji. Agreguje to wiele transakcji, aby pokazać, w jaki sposób systemy współdziałają topologicznie i zapewniają średnią wydajność i współczynniki błędów. Aby uzyskać więcej informacji, zobacz Application Map: Triage Distributed Applications (Mapa aplikacji: klasyfikacja aplikacji rozproszonych).

Następne kroki

Dowiedz się więcej o technologiach składników:

Zapoznaj się z powiązanymi architekturami: