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 (z wyjątkiem wersji 1)
Ważne
Rozwiązywanie problemów z połączeniem wymaga zainstalowania rozszerzenia maszyny wirtualnej agenta usługi Network Watcher. Rozszerzenie nie jest wymagane 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 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: