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 é realizada usando a ferramenta MEC-Dataplane Trace . MEC-Dataplane (MEC-DP) Trace é semelhante ao tcpdump, um programa de computador analisador de pacotes de rede de dados que é executado em uma interface de linha de comando (CLI). Você pode usar o MEC-DP Trace para monitorar e gravar pacotes em qualquer interface de plano de usuário na rede de acesso (interface N3) ou rede de dados (interface N6) em seu dispositivo, bem como no plano de controle (interface N2). Você pode acessar o MEC-DP Trace usando o portal do Azure ou a CLI do Azure.

A captura de pacotes funciona espelhando pacotes em uma interface do kernel Linux, que pode ser monitorada usando tcpdump. Neste guia de instruções, você aprenderá como executar a captura de pacotes em uma instância de núcleo de 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, recomenda-se apenas o uso desta ferramenta em baixa escala durante os testes iniciais.

Pré-requisitos

Você deve ter um site AP5GC implantado para executar a captura de pacotes.

Para executar a captura de pacotes usando a linha de comando, você deve:

  • Identifique o recurso Kubernetes - Azure Arc que representa o cluster Kubernetes habilitado para Azure Arc no qual sua instância principal do pacote está sendo executada.
  • Verifique se sua máquina local tem acesso kubectl principal ao cluster Kubernetes habilitado para Azure Arc. Isso requer um arquivo kubeconfig principal, que você pode obter seguindo o acesso ao namespace Core.

Executando a captura de pacotes usando o portal do Azure

Configurar uma conta de armazenamento

Você precisa configurar uma conta de armazenamento para armazenar o pacote de diagnóstico.

  1. Crie uma conta de armazenamento para diagnóstico com a seguinte configuração adicional:
    1. Na guia Proteção de dados, em Controle de acesso, selecione Habilitar suporte à imutabilidade no nível da versão. Isso permitirá que você especifique uma política de retenção baseada no tempo para a conta na próxima etapa.
    2. Se pretender que o conteúdo da sua conta de armazenamento seja automaticamente eliminado após um período de tempo, configure uma política de retenção baseada no tempo predefinida para a sua conta de armazenamento.
    3. Crie um contêiner para seus diagnósticos.
    4. Anote o URL do blob do contêiner. Por exemplo:
      https://storageaccountname.blob.core.windows.net/diagscontainername
      1. Navegue até sua conta de armazenamento.
      2. Selecione o símbolo ... no lado direito do blob de contêiner que você deseja usar para a coleta de diagnósticos.
      3. Selecione Propriedades do contêiner no menu de contexto.
      4. Copie o conteúdo do campo URL na visualização Propriedades do contêiner.
  2. Crie uma identidade atribuída pelo usuário e atribua-a à conta de armazenamento criada acima com a função de Colaborador de Dados de Blob de Armazenamento .

    Gorjeta

    Talvez você já tenha criado e associado uma identidade atribuída pelo usuário ao criar o site.

  3. Navegue até o recurso de plano de controle principal de pacote para o site.
  4. Selecione Identidade em Configurações no menu do lado esquerdo.
  5. Selecione Adicionar.
  6. Selecione a identidade gerenciada assinada pelo usuário que você criou e selecione Adicionar.

Importante

Depois de criar a identidade gerenciada atribuída pelo usuário, você deve atualizar a configuração do núcleo do pacote fazendo uma alteração de configuração fictícia. Isso pode ser uma alteração que não terá impacto na sua implantação e pode ser deixada no lugar, ou uma alteração que você reverte imediatamente. Consulte Modificar uma instância do núcleo do pacote. Se você não atualizar a configuração do núcleo do pacote, a captura do pacote falhará.

Iniciar uma captura de pacotes

  1. Inicie sessão no portal do Azure.
  2. Navegue até a página de visão geral do Painel de Controle Principal de Pacotes do site no qual você deseja executar uma captura de pacote.
  3. Selecione Captura de pacotes na seção Ajuda no lado esquerdo. Isso abrirá uma visualização de captura de pacotes .
  4. Se esta for a primeira vez que você faz uma captura de pacote usando o portal, você verá uma mensagem de erro solicitando que você configure uma conta de armazenamento. Em caso afirmativo:
    1. Siga o link na mensagem de erro.
    2. Insira a URL do contêiner da conta de armazenamento que foi configurada para armazenamento de diagnóstico e selecione Modificar.

      Gorjeta

      Se você não tiver a URL do contêiner da conta de armazenamento:

      1. Navegue até sua conta de armazenamento.
      2. Selecione o símbolo ... no lado direito do contêiner que você deseja usar para a captura de pacotes.
      3. Selecione Propriedades do contêiner no menu de contexto.
      4. Copie o conteúdo do campo URL .
    3. Retorne à visualização Captura de pacotes .
  5. Selecione Iniciar captura de pacotes.
  6. Preencha os detalhes no painel Iniciar captura de pacotes e selecione Criar.
  7. A página será atualizada a cada poucos segundos até que a captura do pacote seja concluída. Você também pode usar o botão Atualizar para atualizar a página. Se quiser interromper a captura de pacotes antecipadamente, selecione Parar captura de pacotes.
  8. Quando a captura de pacotes for concluída, o serviço online AP5GC salvará a saída na URL da conta de armazenamento fornecida.
  9. Para baixar a saída de captura de pacote, você pode usar o botão Copiar para área de transferência nas colunas Armazenamento ou Nome do arquivo para copiar esses detalhes e colá-los na caixa Pesquisar no portal. Para baixar a saída, clique com o botão direito do mouse no arquivo e selecione Download.

Executando a captura de pacotes usando a CLI do Azure

  1. Em uma linha de comando com acesso kubectl ao cluster Kubernetes habilitado para Azure Arc, insira o pod de solução de problemas MEC-DP:

    kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- bash
    
  2. Veja a lista de interfaces de plano de usuário configuradas:

    mect list
    

    Deve ser comunicada uma interface única na rede do plano de controlo (N2), uma interface única na rede de acesso (N3) e uma interface para cada rede de dados ligada (N6). Por exemplo:

    n2trace
    n3trace
    n6trace0 (Data Network: internet)
    n6trace1 (Data Network: enterprise)
    n6trace2 (Data Network: test)
    
  3. Execute mectdump com quaisquer parâmetros que você normalmente passaria para tcpdump. Em particular, -i para especificar a interface e -w para especificar onde gravar. Feche a ferramenta quando terminar pressionando Ctrl + C. Os exemplos a seguir são casos de uso comuns:

    • Para executar pacotes de captura em todas as interfaces, execute mectdump -i any -w any.pcap
    • Para executar pacotes de captura para a interface N3 e a interface N6 para uma única rede de dados, insira o pod de solução de problemas MEC-DP em duas janelas separadas. Em uma janela executar mectdump -i n3trace -w n3.pcap e na outra janela executar mectdump -i <N6 interface> -w n6.pcap (use a interface N6 para a rede de dados, conforme identificado na etapa 2).

    Importante

    Os arquivos de captura de pacotes 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 obter os filtros disponíveis.

  4. Deixe o recipiente:

    exit
    
  5. 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 esta etapa produza um erro informando unexpected EOF. No entanto, seu arquivo deve ter copiado com êxito, mas você pode verificar seu arquivo de saída de destino para confirmar.

  6. Remova os arquivos de saída:

        kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- rm <path to output file>
    

Próximos passos

Para obter mais opções para monitorar sua implantação e visualizar análises: