Executar a captura de pacotes em uma instância de núcleo de pacote
A captura de pacotes para pacotes de controle ou plano de dados é executada usando a ferramenta de Rastreamento do Plano de dados da MEC. O Rastreamento do MEC-DP (Plano de dados da MEC) é semelhante ao tcpdump, um programa de computador do analisador de pacotes de rede de dados, executado em uma CLI (interface de linha de comando). Use o Rastreamento MEC-DP para monitorar e gravar pacotes em qualquer interface do plano de usuário na rede de acesso (interface N3) ou na rede de dados (interface N6) em seu dispositivo e no plano de controle (interface N2). Acesse o Rastreamento MEC-DP usando o portal do Azure ou a CLI do Azure.
A captura de pacotes funciona espelhando pacotes em uma interface de kernel do Linux, que pode ser monitorada usando o tcpdump. Neste guia de instruções, você aprenderá a executar a captura de pacotes em uma instância principal do pacote.
Importante
A execução da captura de pacotes reduzirá o desempenho do sistema e a taxa de transferência do plano de dados. Portanto, é recomendável usar essa ferramenta em baixa escala durante o teste inicial.
Pré-requisitos
É necessário ter um site AP5GC implantado para executar a captura de pacotes.
Para executar a captura de pacotes usando a linha de comando, você deverá:
- Identifique o recurso do Kubernetes – Azure Arc que representa o cluster do Kubernetes habilitado para o Azure Arc, no qual sua instância de núcleo de pacote está em execução.
- Verifique se o computador local tem acesso kubectl principal ao cluster do Kubernetes habilitado para Azure Arc. Isso requer um arquivo kubeconfig principal, que você pode obter seguindo o Acesso ao namespace principal.
Executar a captura de pacotes usando o portal do Azure
Configurar uma conta de armazenamento
É necessário configurar uma conta de armazenamento para armazenar o pacote de diagnóstico.
- Crie uma conta de armazenamento para diagnósticos com a seguinte configuração adicional:
- Na guia Proteção de dados, em Controle de acesso, selecione Habilitar suporte para imutabilidade no nível da versão. Isso permitirá que você especifique uma política de retenção baseada em tempo para a conta na próxima etapa.
- Caso queira que o conteúdo da sua conta de armazenamento seja excluído automaticamente após um período de tempo, configure uma política de retenção baseada em tempo padrão para sua conta de armazenamento.
- Crie um contêiner para seu diagnóstico.
- Anote o URL do blob de contêiner . Por exemplo:
https://storageaccountname.blob.core.windows.net/diagscontainername
- Navegue até sua Conta de armazenamento.
- Selecione o símbolo... no lado direito do blob de contêiner a ser usado para a coleção de diagnósticos.
- Selecione Propriedades de contêiner no menu de contexto.
- Copie o conteúdo do campo do URL na exibição de Propriedades do contêiner.
- Crie uma Identidade atribuída pelo usuário e atribua-a à conta de armazenamento criada acima com a função de Colaborador de Dados do Blob de Armazenamento.
Dica
Você talvez já tenha criado e associado uma identidade atribuída pelo usuário ao criar o site.
- Navegue até o recurso Painel de controle do núcleo de pacote do site.
- Selecione Identidade em Configurações, no menu do lado esquerdo.
- Selecione Adicionar.
- Selecione a identidade gerenciada assinada pelo usuário que você criou e selecione Adicionar.
Importante
Após criar a identidade gerenciada atribuída pelo usuário, atualize a configuração do núcleo do pacote fazendo uma alteração de configuração fictícia. Essa pode ser uma alteração que não terá impacto na implantação e pode ser deixada no local ou uma alteração que você reverterá imediatamente. Consulte Modificar uma instância de núcleo de pacote. Caso não atualize a configuração do núcleo do pacote, a captura de pacote falhará.
Iniciar uma captura de pacotes
Entre no portal do Azure.
Navegue até a página de visão geral do Painel de Controle do Núcleo de Pacotes do site a ser executado uma captura de pacote.
Selecione Captura de Pacotes na seção Ajuda no lado esquerdo. Isso abrirá um modo de exibição Captura de Pacotes.
Se esta for a primeira vez que você fizer uma captura de pacote usando o portal, visualizará uma mensagem de erro solicitando configurar uma conta de armazenamento. Se for o caso:
- Siga o link na mensagem de erro.
- Insira o URL de contêiner da conta de armazenamento, que foi configurada para o armazenamento de diagnóstico e selecione Modificar.
Dica
Caso não tenha o URL do contêiner da conta de armazenamento:
- Navegue até sua Conta de armazenamento.
- Selecione o símbolo... no lado direito do contêiner a ser usado para captura de pacotes.
- Selecione Propriedades de contêiner no menu de contexto.
- Copie o conteúdo do campo do URL.
- Retorne ao modo de exibição Captura de Pacotes.
Selecione Iniciar captura de pacotes.
Preencha os detalhes no painel Iniciar captura de pacotes e selecione Criar.
O limite Máximo de bytes por sessão é aplicado por nó. Em implantações de HA (alta disponibilidade), é provável que a captura de pacotes atinja esse limite e seja concluída em um nó antes do outro, portanto, uma captura de pacote ainda estará em execução quando a primeira for concluída. Interrompa as capturas de pacote em execução antes de iniciar uma nova.
A página será atualizada a cada poucos segundos até que a captura de pacotes seja concluída. Também é possível usar o botão Atualizar para atualizar a página. Caso queira interromper a captura de pacotes mais cedo, selecione Parar captura de pacotes.
Ao concluir a captura de pacote, o serviço online AP5GC salvará a saída no URL da conta de armazenamento fornecida.
Em implantações de HA, dois arquivos de captura de pacotes serão carregados, um para cada nó. Os arquivos serão rotulados com um
0
ou um1
, correspondente ao podcore-mec-dp-0
oucore-mec-dp-1
. Se uma captura de pacote falhar, a página de status mostrará um erro, mas os resultados bem-sucedidos da captura serão carregados normalmente.Para fazer o download da saída de captura de pacotes, use o botão Copiar para área de transferência nas colunas de Armazenamento ou Nome de arquivo, para copiar esses detalhes e colá-los na caixa Pesquisar no portal. Para fazer o download da saída, clique com o botão direito no arquivo e selecione Baixar.
Executar a captura de pacotes usando a CLI do Azure
Em uma linha de comando com acesso kubectl ao cluster Kubernetes habilitado para o Azure Arc, insira o pod de solução de problemas do MEC-DP:
kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- bash
Observação
Em uma implantação de HA,
core-mec-dp-0
pode não existir porque o nó está inoperante. Nesse caso, insiracore-mec-dp-1
em vez disso.Exiba a lista de interfaces de plano de usuário configuradas:
mect list
Isso deve relatar uma única interface na rede do plano de controle (N2), uma única interface na rede de acesso (N3) e uma única interface para cada rede de dados anexada (N6).
n2trace n3trace n6trace
Execute
mectdump
com todos os parâmetros que você normalmente passaria para o tcpdump. Em particular,-i
para especificar a interface e-w
especificar para onde gravar. Feche a ferramenta quando terminar, pressionando Ctrl + C. Os exemplos a seguir são casos de uso comuns:- Para capturar pacotes em todas as interfaces, execute
mectdump -i any -w any.pcap
- Para capturar pacotes para a interface N3 e a interface N6 para uma única rede de dados, insira o pod da solução de problemas do MEC-DP, em duas janelas separadas. Em uma janela, execute
mectdump -i n3trace -w n3.pcap
e, na outra janela, executemectdump -i n6trace -w n6.pcap
. Para selecionar uma rede de dados individual, filtre por ID de VLAN.
Importante
Os arquivos de captura de pacote podem ser grandes, especialmente ao executar a captura de pacotes em todas as interfaces. Especifique filtros ao executar a captura de pacotes para reduzir o tamanho do arquivo, consulte a documentação do tcpdump para os filtros disponíveis.
- Para capturar pacotes em todas as interfaces, execute
Deixe o contêiner:
exit
Copie os arquivos de saída:
kubectl cp -n core core-mec-dp-0:<path to output file> <location to copy to> -c troubleshooter
O tcpdump pode ter sido interrompido no meio da gravação de um pacote, o que pode fazer com que essa etapa produza um erro informando
unexpected EOF
. No entanto, seu arquivo deve ter sido copiado com êxito, é possível verificar o arquivo de saída de destino para confirmar.Remova os arquivos de saída:
kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- rm <path to output file>
Próximas etapas
Para obter mais opções para monitorar sua implantação e exibir análises:
- Saiba mais sobre como monitorar o Azure Private 5G Core usando as métricas da plataforma do Azure Monitor
- Se encontrou um problema e não sabe como resolvê-lo, poderá obter suporte o serviço do Azure Private 5G Core