Rozwiązywanie problemów z siecią przy użyciu metryk i dzienników usługi Network Watcher
Aby szybko zdiagnozować problem, musisz rozumieć informacje dostępne w dziennikach usługi Azure Network Watcher.
W swojej firmie inżynieryjnej chcesz umożliwić pracownikom jak najszybsze diagnozowanie i rozwiązywanie dowolnych problemów z konfiguracją sieci. Chcesz zapewnić, że będą oni wiedzieć, jakie informacje są dostępne w dziennikach.
W tym module skupisz się na dziennikach przepływu, dziennikach diagnostycznych i analizie ruchu. Dowiesz się, jak te narzędzia mogą ułatwić rozwiązywanie problemów z siecią platformy Azure.
Użycie i przydziały
Z każdego zasobu platformy Microsoft Azure można korzystać do momentu osiągnięcia limitu przydziału. Każda subskrypcja ma oddzielne limity przydziału, a użycie jest śledzone dla poszczególnych subskrypcji. Wymagane jest tylko jedno wystąpienie usługi Network Watcher na subskrypcję na region. To wystąpienie zapewnia wgląd w użycie i limity przydziału, aby można było sprawdzać, czy istnieje ryzyko osiągnięcia limitu przydziału.
Aby wyświetlić informacje o użyciu i limitach przydziału, przejdź do pozycji Wszystkie usługi>Sieci>Network Watcher, a następnie wybierz pozycję Użycie i limitu przydziału. Zobaczysz szczegółowe dane oparte na użyciu i lokalizacji zasobów. Przechwytywane są dane dla następujących metryk:
- Interfejsy sieciowe
- Sieciowe grupy zabezpieczeń
- Sieci wirtualne
- Publiczne adresy IP
Oto przykład przedstawiający użycie i limity przydziału w portalu:
Dzienniki
Dzienniki diagnostyczne sieci zapewniają szczegółowe dane. Będziesz używać tych danych do lepszego zrozumienia problemów z łącznością i wydajnością. W usłudze Network Watcher są trzy narzędzia do wyświetlania dzienników:
- Dzienniki przepływów sieciowych grup zabezpieczeń
- Dzienniki diagnostyczne
- Analiza ruchu
Przyjrzyjmy się każdemu z tych narzędzi.
Dzienniki przepływów sieciowych grup zabezpieczeń
W dziennikach przepływu sieciowej grupy zabezpieczeń można wyświetlić informacje o ruchu przychodzącym i wychodzącym IP w sieciowych grupach zabezpieczeń. Dzienniki przepływu pokazują przepływy wychodzące i przychodzące dla poszczególnych reguł na podstawie karty sieciowej stosowanej przez przepływ. Dzienniki przepływu sieciowej grupy zabezpieczeń pokazują, czy ruch był dozwolony lub blokowany, na podstawie przechwyconych informacji 5-tuple. Te informacje obejmują:
- Źródłowy adres IP
- Port źródłowy
- Docelowy adres IP
- Port docelowy
- Protokół
Ten diagram przedstawia przepływ pracy sieciowej grupy zabezpieczeń.
Dzienniki przepływu przechowują dane w pliku JSON. Uzyskanie szczegółowych informacji z tych danych przez ręczne przeszukiwanie plików dzienników może być trudne, szczególnie jeśli na platformie Azure ma się wdrożoną dużą infrastrukturę. Aby rozwiązać ten problem, użyj usługi Power BI.
W usłudze Power BI można wizualizować dzienniki przepływu sieciowej grupy zabezpieczeń na wiele sposobów. Na przykład:
- Najczęściej komunikujące się lokalizacje (adres IP)
- Przepływy według kierunku (przychodzące i wychodzące)
- Przepływy według decyzji (dozwolone i zablokowane)
- Przepływy według portu docelowego
Do analizowania dzienników możesz też używać narzędzi typu open source, takich jak Elastic Stacks, Grafana i Graylog.
Uwaga
Dzienniki przepływu sieciowej grupy zabezpieczeń nie obsługują kont magazynu w klasycznej witrynie Azure Portal.
Dzienniki diagnostyczne
W usłudze Network Watcher dzienniki diagnostyczne to centralne miejsce do włączania i wyłączania dzienników dla zasobów sieciowych platformy Azure. Te zasoby mogą obejmować sieciowe grupy zabezpieczeń, publiczne adresy IP, moduły równoważenia obciążenia i bramy aplikacji. Po włączeniu potrzebnych dzienników możesz używać narzędzi do wykonywania zapytań i wyświetlania wpisów dziennika.
Dzienniki diagnostyczne możesz importować do usługi Power BI i innych narzędzi, aby je analizować.
Analiza ruchu
Narzędzie Analiza ruchu pozwala badać aktywność użytkowników i aplikacji w sieciach w chmurze.
To narzędzie daje wgląd w aktywność sieci w różnych subskrypcjach. Możesz diagnozować zagrożenia bezpieczeństwa, takie jak otwarte porty, maszyny wirtualne komunikujące się ze znanymi nieprawidłowymi sieciami oraz wzorce przepływu ruchu. Narzędzie Analiza ruchu analizuje dzienniki przepływu sieciowych grup zabezpieczeń w różnych regionach i subskrypcjach platformy Azure. Tych danych możesz używać do optymalizowania wydajności sieci.
To narzędzie wymaga usługi Log Analytics. Obszar roboczy usługi Log Analytics musi istnieć w obsługiwanym regionie.
Scenariusze przypadków użycia
Teraz przyjrzyjmy się pewnym scenariuszom przypadków użycia, w których mogą być przydatne metryki i dzienniki usługi Azure Network Watcher.
Raporty klientów dotyczące niskiej wydajności
Aby rozwiązać problemy z niską wydajnością, musisz określić główną przyczynę problemu:
- Czy na serwerze jest zbyt dużo ograniczania ruchu?
- Czy rozmiar maszyny wirtualnej jest odpowiedni dla danego zadania?
- Czy progi skalowalności są ustawione odpowiednio?
- Czy pojawiają się złośliwe ataki?
- Czy konfiguracja magazynu maszyny wirtualnej jest poprawna?
Najpierw sprawdź, czy rozmiar maszyny wirtualnej jest odpowiedni dla danego zadania. Następnie włącz funkcję Diagnostyka Azure na maszynie wirtualnej, aby uzyskać bardziej szczegółowe dane dotyczące określonych metryk, takich jak użycie procesora CPU i użycie pamięci. Aby włączyć diagnostykę maszyny wirtualnej za pośrednictwem portalu, przejdź do pozycji Maszyna wirtualna, wybierz pozycję Ustawienia diagnostyki, a następnie włącz diagnostykę.
Załóżmy, że masz maszynę wirtualną, która działała prawidłowo. Jednak wydajność tej maszyny wirtualnej ostatnio spadła. Aby ustalić, czy istnieją wąskie gardła zasobów, musisz przejrzeć przechwycone dane.
Zacznij od przedziału czasu przechwyconych danych przed, w trakcie i po raportowanym problemie, aby uzyskać dokładny obraz wydajności. Te wykresy mogą też być przydatne do porównywania odmiennego zachowania zasobów w tym samym okresie. Sprawdzisz:
- Wąskie gardła procesora CPU
- Wąskie gardła pamięci
- Wąskie gardła dysku
Wąskie gardła procesora CPU
Podczas przeglądania problemów z wydajnością możesz sprawdzić trendy, aby zrozumieć, czy mają one wpływ na serwer. Skorzystaj z wykresów monitorowania w portalu, aby wychwycić trendy. Na wykresach monitorowania mogą pojawiać się różnego rodzaju wzorce:
- Odizolowane skoki. Skok może być związany z zaplanowanym zadaniem lub oczekiwanym zdarzeniem. Jeśli wiesz, o które zadanie chodzi, to czy działa ono na wymaganym poziomie wydajności? Jeśli wydajność jest odpowiednia, zwiększanie wydajności może nie być konieczne.
- Skokowy wzrost i stałe użycie. Ten trend może być spowodowany nowym obciążeniem. Włącz monitorowanie na maszynie wirtualnej, aby ustalić, jakie procesy powodują obciążenie. Zwiększone zużycie może być spowodowane nieefektywnym kodem lub normalnym użyciem nowego obciążenia. Jeśli użycie jest normalne, to czy proces działa na wymaganym poziomie wydajności?
- Stałe użycie. Czy maszyna wirtualna zawsze zachowywała się w ten sposób? Jeśli tak, zidentyfikuj procesy używające większości zasobów i rozważ zwiększenie pojemności.
- Stały wzrost. Czy widzisz stały wzrost użycia? Jeśli tak, ten trend może wskazywać na nieefektywny kod lub proces obsługujący większe obciążenie użytkowników.
Jeśli obserwujesz wysokie użycie procesora CPU, możesz wykonać następujące czynności:
- Zwiększ rozmiar maszyny wirtualnej w celu skalowania do większej liczby rdzeni.
- Dokładniej zbadaj problem. Zlokalizuj odpowiednią aplikację oraz proces i na tej podstawie rozwiąż problemy.
Jeśli przeskalujesz maszynę wirtualną w górę, a procesor CPU nadal działa na poziomie powyżej 95 procent, czy wydajność aplikacji jest lepsza lub czy przepływność aplikacji jest wyższa do akceptowalnego poziomu? Jeśli nie, rozwiąż problemy z konkretną aplikacją.
Wąskie gardła pamięci
Możesz sprawdzić ilość pamięci używanej przez maszynę wirtualną. Dzienniki ułatwiają analizę trendu i określenie, czy odpowiada on okresowi występowania problemów. W dowolnym momencie nie powinno być mniej niż 100 MB dostępnej pamięci. Zwróć uwagę na następujące trendy:
- Skokowy wzrost i stałe użycie. Duże użycie pamięci nie musi być przyczyną złej wydajności. Niektóre aplikacje, takie jak aparaty relacyjnych baz danych, zostały zaprojektowane do intensywnego korzystania z pamięci. Jeśli jednak istnieje wiele aplikacji używających dużych ilości pamięci, wydajność może być niska, ponieważ rywalizacja o pamięć powoduje przycinanie i stronicowanie na dysk. Takie procesy negatywnie wpływają na wydajność.
- Stały wzrost użycia. Ten trend może świadczyć o przygotowywaniu aplikacji. Jest to typowe przy uruchamianiu aparatów bazy danych. Jednak może to również być oznaką przecieku pamięci w aplikacji.
- Użycie pliku stronicowania lub pliku wymiany. Sprawdź, czy nie jest intensywnie używany plik stronicowania systemu Windows lub plik wymiany systemu Linux, który znajduje się w folderze /dev/sdb.
W przypadku dużego użycia pamięci rozważ następujące rozwiązania:
- Aby natychmiast zmniejszyć użycie pliku stronicowania, zwiększ rozmiar maszyny wirtualnej w celu dodania pamięci, a następnie monitoruj jej działanie.
- Dokładniej zbadaj problem. Znajdź aplikację lub proces powodujący wąskie gardło i rozwiąż problem. Jeśli wiesz, która to aplikacja, sprawdź, czy możesz ograniczyć alokację pamięci.
Wąskie gardła dysku
Wydajność sieci może być też związana z podsystemem magazynowania maszyny wirtualnej. Możesz zbadać konto magazynu dla maszyny wirtualnej w portalu. Aby zidentyfikować problemy z magazynem, sprawdź metryki wydajności z funkcji diagnostyki konta magazynu i diagnostyki maszyny wirtualnej. Poszukaj istotnych trendów w przedziale czasowym wystąpienia problemu.
- Aby sprawdzić limit czasu usługi Azure Storage, użyj metryk ClientTimeOutError, ServerTimeOutError, AverageE2ELatency, AverageServerLatency i TotalRequests. Jeśli widzisz wartości w metrykach TimeOutError , operacja we/wy trwała zbyt długo i przekroczyła limit czasu. Jeśli zobaczysz wzrost AverageServerLatency w tym samym czasie co TimeOutErrors, może to być problem z platformą. Zgłoś sprawę pomocy technicznej firmy Microsoft.
- Aby sprawdzić ograniczanie przepustowości w usłudze Azure Storage, użyj metryki konta magazynu ThrottlingError. Jeśli widzisz ograniczanie przepustowości, oznacza to, że osiągnięto limit liczby operacji we/wy na sekundę dla konta. Możesz sprawdzić ten problem, badając metrykę TotalRequests.
Aby skorygować duże użycie dysku i problemy z opóźnieniami:
- Zoptymalizuj operacje we/wy maszyny wirtualnej w celu skalowania ich powyżej limitów wirtualnych dysków twardych.
- Zwiększ przepływność i zmniejsz opóźnienia. Jeśli masz aplikację wrażliwą na opóźnienia i wymagającą dużej przepływności, przeprowadź migrację wirtualnych dysków twardych do usługi Azure Premium Storage.
Blokowanie ruchu przez reguły zapory maszyny wirtualnej
W celu rozwiązania problemu z przepływem sieciowej grupy zabezpieczeń użyj narzędzia Weryfikacja przepływu dla adresu IP w usłudze Network Watcher i rejestrowania przepływu sieciowej grupy zabezpieczeń, aby określić, czy istnieje sieciowa grupa zabezpieczeń lub trasa zdefiniowana przez użytkownika, która zakłóca przepływ ruchu.
Uruchom narzędzie Weryfikacja przepływu dla adresu IP i określ lokalną maszynę wirtualną oraz zdalną maszynę wirtualną. Po wybraniu pozycji Sprawdź platforma Azure uruchomi test logiczny dla obowiązujących reguł. Jeśli wynik wskazuje, że dostęp jest dozwolony, skorzystaj z dzienników przepływu sieciowej grupy zabezpieczeń.
W portalu przejdź do sieciowych grup zabezpieczeń. W ustawieniach dziennika przepływu wybierz pozycję Włączone. Teraz spróbuj ponownie połączyć się z maszyną wirtualną. Użyj analizy ruchu w usłudze Network Watcher, aby zwizualizować dane. Jeśli wynik wskazuje, że dostęp jest dozwolony, oznacza to, że nie ma reguł sieciowej grupy zabezpieczeń powodujących problemy.
Jeśli po przejściu do tego punktu nadal nie możesz zdiagnozować problemu, być może występuje problem na zdalnej maszynie wirtualnej. Wyłącz zaporę na zdalnej maszynie wirtualnej i ponownie przetestuj łączność. Jeśli możesz połączyć się ze zdalną maszyną wirtualną z wyłączoną zaporą, sprawdź ustawienia zapory zdalnej. Następnie włącz ponownie tę zaporę.
Brak możliwości komunikacji między podsieciami frontonu i zaplecza
Domyślnie wszystkie podsieci mogą komunikować się na platformie Azure. Jeśli dwie maszyny wirtualne w dwóch podsieciach nie mogą się komunikować, musi istnieć konfiguracja blokująca komunikację. Przed sprawdzeniem dzienników przepływu uruchom narzędzie Weryfikacja przepływu dla adresu IP, aby sprawdzić ruch z maszyny wirtualnej frontonu do maszyny wirtualnej zaplecza. To narzędzie uruchamia test logiczny dla reguł w sieci.
Jeśli wynik wskazuje, że sieciowa grupa zabezpieczeń w podsieci zaplecza blokuje całą komunikację, skonfiguruj ponownie tę sieciową grupę zabezpieczeń. Ze względów bezpieczeństwa należy blokować część komunikacji z frontonem, ponieważ fronton jest udostępniany w publicznym Internecie.
Blokowanie komunikacji z zapleczem ogranicza ekspozycję w przypadku wystąpienia złośliwego oprogramowania lub ataku na zabezpieczenia. Jeśli jednak sieciowa grupa zabezpieczeń blokuje wszystko, jest niepoprawnie skonfigurowana. Włącz określone protokoły i porty, które są wymagane.