Omówienie rozwiązywania problemów z połączeniem
Wraz ze wzrostem zaawansowanych i wysokowydajnych obciążeń na platformie Azure istnieje krytyczna potrzeba zwiększenia widoczności i kontroli nad stanem operacyjnym złożonych sieci, na których działają te obciążenia. Takie złożone sieci są implementowane przy użyciu sieciowych grup zabezpieczeń, zapór, tras zdefiniowanych przez użytkownika i zasobów udostępnianych przez platformę Azure. Złożone konfiguracje sprawiają, że rozwiązywanie problemów z łącznością jest trudne.
Funkcja rozwiązywania problemów z połączeniem usługi Azure Network Watcher pomaga skrócić czas diagnozowania i rozwiązywania problemów z łącznością sieciową. Zwrócone wyniki mogą zapewnić wyniki analizy głównej przyczyny problemu z łącznością oraz tego, czy jest on spowodowany problemem z platformą lub konfiguracją użytkownika.
Rozwiązywanie problemów z połączeniem skraca czas do rozwiązania (MTTR), zapewniając kompleksową metodę przeprowadzania wszystkich głównych kontroli połączeń w celu wykrywania problemów dotyczących sieciowych grup zabezpieczeń, tras zdefiniowanych przez użytkownika i zablokowanych portów. Udostępnia on następujące wyniki z praktycznymi szczegółowymi informacjami, w których można uzyskać szczegółowy przewodnik lub odpowiednią dokumentację w celu szybszego rozwiązania:
- Test łączności z różnymi typami docelowymi (VM, URI, FQDN lub IP Address)
- Problemy z konfiguracją wpływające na osiągalność
- Wszystkie możliwe przeskoki według ścieżek przeskoku ze źródła do miejsca docelowego
- Przeskok według opóźnienia przeskoku
- Opóźnienie (minimalna, maksymalna i średnia między źródłem a miejscem docelowym)
- Graficzny widok topologii ze źródła do miejsca docelowego
- Liczba sond zakończonych niepowodzeniem podczas sprawdzania rozwiązywania problemów z połączeniem
Obsługiwane typy źródłowe i docelowe
Rozwiązywanie problemów z połączeniem zapewnia możliwość sprawdzania połączeń TCP lub ICMP z dowolnego z tych zasobów platformy Azure:
- Maszyny wirtualne
- Zestawy skalowania maszyn wirtualnych
- Wystąpienia usługi Azure Bastion
- Bramy aplikacji w wersji 2 (z wyjątkiem wdrożeń prywatnych). Aby uzyskać więcej informacji, zobacz Wdrażanie usługi Private Application Gateway
Ważne
Test łączności rozwiązywania problemów z połączeniem wymaga zainstalowania rozszerzenia maszyny wirtualnej agenta usługi Network Watcher na maszynie wirtualnej uruchomionej na maszynie wirtualnej uruchomionej na maszynie wirtualnej. To rozszerzenie nie jest wymagane do uruchamiania innych testów rozwiązywania problemów z połączeniem lub na docelowej maszynie wirtualnej.
- Aby zainstalować rozszerzenie na maszynie wirtualnej z systemem Windows, zobacz Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher dla systemu Windows.
- Aby zainstalować rozszerzenie na maszynie wirtualnej z systemem Linux, zobacz Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher dla systemu Linux.
- Aby zaktualizować już zainstalowane rozszerzenie, zobacz Aktualizowanie rozszerzenia maszyny wirtualnej agenta usługi Network Watcher do najnowszej wersji.
Rozwiązywanie problemów z połączeniem może przetestować połączenia z dowolnym z tych miejsc docelowych:
- Maszyny wirtualne
- W pełni kwalifikowane nazwy domen (FQDN)
- Identyfikatory URI
- Adresy IP
Rozwiązywanie problemów wykrytych przez połączenie
Rozwiązywanie problemów z połączeniem może wykryć następujące typy problemów, które mogą mieć wpływ na łączność:
- Wysokie wykorzystanie procesora CPU maszyny wirtualnej
- Wysokie wykorzystanie pamięci maszyny wirtualnej
- Reguły zapory maszyny wirtualnej (gościa) blokujące ruch
- Błędy rozpoznawania nazw DNS
- Błędnie skonfigurowane lub brakujące trasy
- Reguły sieciowej grupy zabezpieczeń blokujące ruch
- Brak możliwości otwarcia gniazda na określonym porcie źródłowym
- Brak wpisów protokołu rozpoznawania adresów dla obwodów usługi Azure ExpressRoute
- Serwery nie nasłuchują na wyznaczonych portach docelowych
Response
W poniższej tabeli przedstawiono właściwości zwrócone po uruchomieniu rozwiązywania problemów z połączeniem.
Właściwości | opis |
---|---|
ConnectionStatus | Stan sprawdzania łączności. Możliwe wyniki są osiągalne i nieosiągalne. |
AvgLatencyInMs | Średnie opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy stan sprawdzania jest osiągalny). |
MinLatencyInMs | Minimalne opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy stan sprawdzania jest osiągalny). |
MaxLatencyInMs | Maksymalne opóźnienie podczas sprawdzania łączności w milisekundach. (Wyświetlane tylko wtedy, gdy stan sprawdzania jest osiągalny). |
Sondy | Liczba sond wysłanych podczas sprawdzania. Wartość maksymalna to 100. |
SondyFailed | Liczba sond zakończonych niepowodzeniem podczas sprawdzania. Wartość maksymalna to 100. |
Przeskoki | Przeskocz według ścieżki przeskoku ze źródła do miejsca docelowego. |
Przeskoki[]. Typ | Typ zasobu. Możliwe wartości to: Source, VirtualAppliance, VnetLocal i Internet. |
Przeskoki[]. Id | Unikatowy identyfikator przeskoku. |
Przeskoki[]. Adres | Adres IP przeskoku. |
Przeskoki[]. Identyfikator zasobu | Identyfikator zasobu przeskoku, jeśli przeskok jest zasobem platformy Azure. Jeśli jest to zasób internetowy, resourceID to Internet. |
Przeskoki[]. NextHopIds | Unikatowy identyfikator następnego przeskoku. |
Przeskoki[]. Problemy | Kolekcja problemów, które wystąpiły podczas sprawdzania przeskoku. Jeśli nie wystąpiły żadne problemy, wartość jest pusta. |
Przeskoki[]. Problemy[]. Pochodzenie | Na bieżącym przeskoku, gdzie wystąpił problem. Możliwe wartości to: Przychodzące — problem znajduje się na linku z poprzedniego przeskoku do bieżącego przeskoku. Wychodzący — problem znajduje się na linku z bieżącego przeskoku do następnego przeskoku. Local — problem występuje na bieżącym przeskoku. |
Przeskoki[]. Problemy[]. Dotkliwość | Ważność wykrytego problemu. Możliwe wartości to: Błąd i Ostrzeżenie. |
Przeskoki[]. Problemy[]. Typ | Typ wykrytego problemu. Możliwe wartości to: CPU Memory (Pamięć) GuestFirewall DnsResolution NetworkSecurityRule UserDefinedRoute |
Przeskoki[]. Problemy[]. Kontekst | Szczegóły dotyczące wykrytego problemu. |
Przeskoki[]. Problemy[]. Kontekst[].key | Klucz zwróconej pary wartości klucza. |
Przeskoki[]. Problemy[]. Context[].value | Wartość zwróconej pary wartości klucza. |
NextHopAnalysis.NextHopType | Typ następnego przeskoku. Możliwe wartości to: HyperNetGateway Internet Brak VirtualAppliance VirtualNetworkGateway VnetLocal |
NextHopAnalysis.NextHopIpAddress | Adres IP następnego przeskoku. |
Identyfikator zasobu tabeli tras skojarzony z zwracaną trasą. Jeśli zwrócona trasa nie odpowiada żadnym trasom utworzonym przez użytkownika, to to pole będzie ciągiem Trasa systemowa. | |
SourceSecurityRuleAnalysis.Results[]. Profil | Profil diagnostyczny konfiguracji sieci. |
SourceSecurityRuleAnalysis.Results[]. Profile.Source | Źródło ruchu. Możliwe wartości: *, adres IP/CIDR i tag usługi. |
SourceSecurityRuleAnalysis.Results[]. Profile.Destination | Miejsce docelowe ruchu. Możliwe wartości: *, adres IP/CIDR i tag usługi. |
SourceSecurityRuleAnalysis.Results[]. Profile.DestinationPort | Port docelowy ruchu. Możliwe wartości to* i pojedynczy port w zakresie (0–65535). |
SourceSecurityRuleAnalysis.Results[]. Profile.Protocol | Protokół do zweryfikowania. Możliwe wartości: *, TCP i UDP. |
SourceSecurityRuleAnalysis.Results[]. Profile.Direction | Kierunek ruchu. Możliwe wartości to: wychodzące i przychodzące. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult | Wynik sieciowej grupy zabezpieczeń. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[] | Lista wyników diagnostyki sieciowych grup zabezpieczeń. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.SecurityRuleAccessResult | Ruch sieciowy jest dozwolony lub blokowany. Możliwe wartości to: Zezwalaj i Odmów. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. AppliedTo | Identyfikator zasobu karty sieciowej lub podsieci, do której jest stosowana sieciowa grupa zabezpieczeń. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. Dopasowaneru | Dopasowana reguła zabezpieczeń sieci. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. MatchedRule.Action | Ruch sieciowy jest dozwolony lub blokowany. Możliwe wartości to: Zezwalaj i Odmów. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. MatchedRule.RuleName | Nazwa dopasowanej reguły zabezpieczeń sieci. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.EvaluatedSecurityGroups[]. NetworkSecurityGroupId | Identyfikator sieciowej grupy zabezpieczeń. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[] | Lista wyników oceny reguł zabezpieczeń sieci. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. DocelowaMatched | Wartość wskazuje, czy miejsce docelowe jest zgodne. Wartości logiczne. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. DestinationPortMatched | Wartość wskazuje, czy port docelowy jest zgodny. Wartości logiczne. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. Nazwa | Nazwa reguły zabezpieczeń sieci. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. ProtokółMatched | Wartość wskazuje, czy protokół jest zgodny. Wartości logiczne. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. SourceMatched | Wartość wskazuje, czy źródło jest zgodne. Wartości logiczne. |
SourceSecurityRuleAnalysis.Results[]. NetworkSecurityGroupResult.RulesEvaluationResult[]. SourcePortMatched | Wartość wskazuje, czy port źródłowy jest zgodny. Wartości logiczne. |
DestinationSecurityRuleAnalysis | Tak samo jak format SourceSecurityRuleAnalysis. |
SourcePortStatus | Określa, czy port w źródle jest osiągalny, czy nie. Możliwe wartości to: Nieznane Osiągalny Niestabilny Brak połączenia Przekroczenie limitu czasu |
DestinationPortStatus | Określa, czy port w miejscu docelowym jest osiągalny, czy nie. Możliwe wartości to: Nieznane Osiągalny Niestabilny Brak połączenia Przekroczenie limitu czasu |
W poniższym przykładzie pokazano problem znaleziony na przeskoku.
"Issues": [
{
"Origin": "Outbound",
"Severity": "Error",
"Type": "NetworkSecurityRule",
"Context": [
{
"key": "RuleName",
"value": "UserRule_Port80"
}
]
}
]
Typy błędów
Rozwiązywanie problemów z połączeniem zwraca typy błędów dotyczące połączenia. Poniższa tabela zawiera listę możliwych zwracanych typów błędów.
Type | Opis |
---|---|
Procesor CPU | Wysokie użycie procesora. |
Pamięć | Wysokie wykorzystanie pamięci. |
GuestFirewall | Ruch jest blokowany z powodu konfiguracji zapory maszyny wirtualnej. Polecenie ping TCP jest unikatowym przypadkiem użycia, w którym, jeśli nie ma dozwolonej reguły, zapora odpowiada na żądanie ping TCP klienta, mimo że polecenie ping TCP nie osiąga docelowego adresu IP/nazwy FQDN. To zdarzenie nie jest rejestrowane. Jeśli istnieje reguła sieci, która zezwala na dostęp do docelowego adresu IP/nazwy FQDN, żądanie ping dociera do serwera docelowego i jego odpowiedź jest przekazywana z powrotem do klienta. To zdarzenie jest rejestrowane w dzienniku reguł sieciowych. |
DnsResolution | Rozpoznawanie nazw DNS nie powiodło się dla adresu docelowego. |
NetworkSecurityRule | Ruch jest blokowany przez regułę sieciowej grupy zabezpieczeń (zwracana jest reguła zabezpieczeń). |
UserDefinedRoute | Ruch jest porzucony z powodu trasy zdefiniowanej przez użytkownika lub trasy systemowej. |
Następny krok
Aby dowiedzieć się, jak używać rozwiązywania problemów z połączeniem do testowania połączeń i rozwiązywania problemów z nimi, przejdź do: