Visão geral da solução de problemas de conexão
Com o aumento de cargas de trabalho sofisticadas e de alto desempenho no Azure, há uma necessidade primordial de maior visibilidade e controle sobre o estado operacional de redes complexas que executam essas cargas de trabalho. Esses cenários de rede são implementados usando grupos de segurança de rede, firewalls, rotas definidas pelo usuário e recursos fornecidos pelo Azure. Configurações complexas tornam a solução de problemas de conectividade desafiadora.
A funcionalidade de solução de problemas de conexão do Observador de Rede do Azure ajuda a reduzir o tempo necessário para diagnosticar e solucionar problemas de conectividade de rede. Os resultados retornados podem fornecer informações sobre a causa raiz do problema de conectividade e se é devido a um problema de configuração de plataforma ou de usuário.
A solução de problemas de conexão reduz o Tempo Médio de Resolução (MTTR) fornecendo um método abrangente de execução de todas as principais verificações de conexão para detectar problemas relacionados a grupos de segurança de rede, rotas definidas pelo usuário e portas bloqueadas. Também fornece os resultados a seguir com insights acionáveis em que um guia passo a passo ou documentação correspondente é fornecida para uma resolução mais rápida:
- Teste de conectividade com diferentes tipos de destino (VM, URI, FQDN ou Endereço IP)
- Problemas de configuração que afetam a acessibilidade
- Todos os possíveis caminhos de salto a salto da origem para o destino
- Latência de salto a salto
- Latência (mínima, máxima e média entre a origem e o destino)
- Exibição de topologia gráfica de origem para o destino
- Número de investigações com falha durante a verificação de solução de problemas de conexão
Tipos de origem e destino com suporte
A solução de problemas de conexão fornece a capacidade de verificar conexões TCP ou ICMP de qualquer um desses recursos do Azure:
- Máquinas virtuais
- conjuntos de escala de máquina virtual
- Instâncias do Azure Bastion
- Gateway de aplicativo (exceto v1)
Importante
A solução de problemas de conexão exige que a máquina virtual da qual você soluciona o problema tenha a extensão de VM do agente Observador de Rede instalada. A extensão não é necessária na máquina virtual de destino.
- Para instalar a extensão em uma máquina virtual do Windows, confira Extensão de VM do agente do Observador de Rede para Windows.
- Para instalar a extensão em uma máquina virtual do Linux, confira Extensão de VM do agente do Observador de Rede para Linux.
- Para atualizar uma extensão já instalada, confira Atualizar a extensão de VM do agente do Observador de Rede para a versão mais recente.
A solução de problemas de conexão pode testar conexões com qualquer um desses destinos:
- Máquinas virtuais
- Nomes de domínio totalmente qualificados (FQDNs)
- URIs (Uniform Resource Identifiers)
- Endereços IP
Problemas detectados pela solução de problemas de conexão
A solução de problemas de conexão pode detectar os seguintes tipos de problemas que podem afetar a conectividade:
- Alta utilização de CPU da VM
- Alta utilização de memória da VM
- Regras de firewall de máquina virtual (convidada) bloqueando o tráfego
- Falhas de resolução DNS
- Rotas incorretamente configuradas ou ausentes
- Regras do grupo de segurança de rede (NSG) que estão bloqueando o tráfego
- Incapacidade de abrir um soquete na porta de origem especificada
- Entradas de protocolo de resolução de endereço ausentes para circuitos do Azure ExpressRoute
- Nenhum servidor escutando nas portas de destino designadas
Resposta
A tabela a seguir mostra as propriedades retornadas após a execução da solução de problemas de conexão.
Propriedade | Descrição |
---|---|
ConnectionStatus | O status da verificação de conectividade. Os resultados possíveis são Acessível e Inacessível. |
AvgLatencyInMs | Latência média durante a verificação de conectividade, em milissegundos. (Exibido somente se o status da verificação estiver acessível). |
MinLatencyInMs | Latência mínima durante a verificação de conectividade, em milissegundos. (Exibido somente se o status da verificação estiver acessível). |
MaxLatencyInMs | Latência máxima durante a verificação de conectividade, em milissegundos. (Exibido somente se o status da verificação estiver acessível). |
ProbesSent | Número de investigações enviadas durante a verificação. O valor máximo é 100. |
ProbesFailed | Número de investigações que falharam durante a verificação. O valor máximo é 100. |
Hops | Caminho salto a salto da origem ao destino. |
Hops[].Type | Tipo de recurso. Os valores possíveis são Origem, VirtualAppliance, VnetLocal e Internet. |
Hops[].Id | Identificador exclusivo do salto. |
Hops[].Address | Endereço IP do salto. |
Hops[].ResourceId | A ID do recurso do salto se o salto for um recurso do Azure. Se for um recurso de Internet, o ResourceID será Internet. |
Hops[].NextHopIds | O identificador exclusivo do próximo salto dado. |
Hops[].Issues | Uma coleção dos problemas encontrados durante a verificação do salto. Se não houver problemas, o valor ficará em branco. |
Hops[].Issues[].Origin | No salto atual, o ponto em que o problema ocorreu. Os valores possíveis são: Entrada – o problema está no link do salto anterior para o salto atual. Saída – o problema está no link do salto atual para o próximo salto. Local – problema está no salto atual. |
Hops[].Issues[].Severity | A gravidade do problema detectado. Os valores possíveis são Erro e Aviso. |
Hops[].Issues[].Type | O tipo do problema detectado. Os valores possíveis são: CPU Memória GuestFirewall DnsResolution NetworkSecurityRule UserDefinedRoute |
Hops[].Issues[].Context | Detalhes sobre o problema detectado. |
Hops[].Issues[].Context[].key | Chave do par chave-valor retornado. |
Hops[].Issues[].Context[].value | Valor do par chave-valor retornado. |
NextHopAnalysis.NextHopType | O tipo do próximo salto. Os valores possíveis são: HyperNetGateway Internet Nenhuma VirtualAppliance VirtualNetworkGateway VnetLocal |
NextHopAnalysis.NextHopIpAddress | O endereço IP do próximo salto. |
O identificador de recurso da tabela de rotas associado à rota sendo retornada. Se a rota retornada não corresponder a nenhuma rota criada pelo usuário, esse campo será a cadeia de caracteres Rota do Sistema. | |
SourceSecurityRuleAnalysis.Results[].Profile | O perfil de diagnóstico da configuração de rede. |
SourceSecurityRuleAnalysis.Results[].Profile.Source | A origem do tráfego. Os valores possíveis são: *, Endereço IP/CIDR e Marca de Serviço. |
SourceSecurityRuleAnalysis.Results[].Profile.Destination | O destino de tráfego. Os valores possíveis são: *, Endereço IP/CIDR e Marca de Serviço. |
SourceSecurityRuleAnalysis.Results[].Profile.DestinationPort | A porta de destino de tráfego. Os valores possíveis são: * e apenas uma porta no intervalo de 0 a 65535. |
SourceSecurityRuleAnalysis.Results[].Profile.Protocol | O protocolo a ser verificado. Os valores possíveis são: *, TCP e UDP. |
SourceSecurityRuleAnalysis.Results[].Profile.Direction | Direção do tráfego. Os valores possíveis são Saída e Entrada. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult | O resultado do grupo de segurança de rede. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[] | A lista de resultados de diagnóstico de grupos de segurança de rede. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.SecurityRuleAccessResult | Se o tráfego de rede é permitido ou negado. Os valores possíveis são Permitir e Negar. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].AppliedTo | A ID do recurso da NIC ou sub-rede à qual o grupo de segurança de rede é aplicado. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule | Regra de segurança de rede com correspondência. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule.Action | Se o tráfego de rede é permitido ou negado. Os valores possíveis são Permitir e Negar. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule.RuleName | O nome da regra de segurança de rede com correspondência. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].NetworkSecurityGroupId | A ID do grupo de segurança de rede. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[] | A lista de resultados de avaliação de regras de segurança de rede. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].DestinationMatched | O valor indica se o destino tem correspondência. Valores boolianos. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].DestinationPortMatched | O valor indica se a porta de destino tem correspondência. Valores boolianos. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].Name | O nome da regra de segurança de rede. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].ProtocolMatched | O valor indica se o protocolo tem correspondência. Valores boolianos. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].SourceMatched | O valor indica se a origem tem correspondência. Valores boolianos. |
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].SourcePortMatched | O valor indica se a porta de origem tem correspondência. Valores boolianos. |
DestinationSecurityRuleAnalysis | Igual ao formato SourceSecurityRuleAnalysis. |
SourcePortStatus | Determina se a porta na origem está acessível ou não. Os valores possíveis são: Desconhecido Acessível Instável NoConnection Tempo Limite |
DestinationPortStatus | Determina se a porta no destino está acessível ou não. Os valores possíveis são: Desconhecido Acessível Instável NoConnection Tempo Limite |
O exemplo a seguir mostra um problema encontrado em um salto.
"Issues": [
{
"Origin": "Outbound",
"Severity": "Error",
"Type": "NetworkSecurityRule",
"Context": [
{
"key": "RuleName",
"value": "UserRule_Port80"
}
]
}
]
Tipos de Falha
A solução de problemas de conexão retorna tipos de falha sobre a conexão. A tabela a seguir fornece uma lista dos possíveis tipos de falha retornados.
Tipo | Descrição |
---|---|
CPU | Alta utilização da CPU. |
Memória | Alta utilização de memória. |
GuestFirewall | O tráfego é bloqueado devido a uma configuração de firewall da máquina virtual. Um ping TCP é um caso de uso exclusivo em que, se não houver nenhuma regra permitida, o próprio firewall responderá à solicitação de ping TCP do cliente, mesmo que o ping TCP não atinja o FQDN/endereço IP de destino. Esse evento não é registrado. Se houver uma regra de rede que permita o acesso ao endereço IP/FQDN de destino, a solicitação ping atingirá o servidor de destino e sua resposta será retransmitida para o cliente. Esse evento é registrado no log de regras de rede. |
DNSResolution | Falha na resolução DNS para o endereço de destino. |
NetworkSecurityRule | O tráfego é bloqueado por uma regra do grupo de segurança de rede (a regra de segurança é retornada). |
UserDefinedRoute | O tráfego é descartado devido a uma rota do sistema ou definida pelo usuário. |
Próxima etapa
Para saber como usar a solução de problemas de conexão para testar e solucionar problemas de conexões, prossiga para: