Partilhar via


Execute o script do coletor de registos no nó do cluster Kubernetes do Azure Operator Nexus

O suporte da Microsoft pode precisar de uma visibilidade mais profunda dentro do cluster Nexus Kubernetes em determinados cenários. Para facilitar isso, um script de coleta de logs está disponível para uso. Esse script recupera todos os logs necessários, permitindo que o suporte da Microsoft obtenha uma melhor compreensão do problema e solucione-o de forma eficaz.

O que recolhe

O script do coletor de log foi projetado para coletar dados de forma abrangente em vários aspetos do sistema para fins de solução de problemas e análise. Abaixo está uma visão geral dos tipos de dados de diagnóstico que coleta:

Diagnóstico do sistema e do kernel

  • Informações do kernel: Logs, mensagens legíveis por humanos, versão e arquitetura, para diagnósticos detalhados do kernel.
  • Logs do sistema operacional: logs essenciais detalhando a atividade do sistema e logs de contêiner para serviços do sistema.

Utilização de hardware e recursos

  • Processos acelerados de CPU e E/S: identifica problemas de limitação, fornecendo informações sobre gargalos de desempenho.
  • Estatísticas de interfaces de rede: Estatísticas detalhadas para interfaces de rede para diagnosticar erros e falhas.

Software e serviços

  • Pacotes instalados: Uma lista de todos os pacotes instalados, vitais para compreender o ambiente de software do sistema.
  • Serviços ativos do sistema: informações sobre serviços ativos, instantâneos de processos e estatísticas detalhadas de sistemas e processos.
  • Tempo de execução do contêiner e logs de componentes do Kubernetes: logs para componentes do Kubernetes e outros serviços vitais para diagnóstico de cluster.

Rede e conectividade

  • Informações de rastreamento de conexão de rede: estatísticas Conntrack e listas de conexões para diagnóstico de firewall.
  • Configuração de rede e detalhes da interface: Configurações de interface, roteamento IP, endereços e informações de vizinhos.
  • Configuração adicional de interfaces e registos: Registos relacionados com a configuração de todas as interfaces dentro do nó.
  • Testes de conectividade de rede: testa a conectividade de rede externa e a comunicação do servidor API do Kubernetes.
  • Configuração de resolução DNS: configuração do resolvedor de DNS para diagnosticar problemas de resolução de nomes de domínio.
  • Configuração e logs de rede: dados abrangentes de rede, incluindo rastreamento de conexões e configurações de interfaces.
  • Configuração de interface de rede de contêiner (CNI): Configuração de CNI para diagnóstico de rede de contêiner.

Segurança e conformidade

  • Status do SELinux: Relata o modo SELinux para entender os contextos de controle de acesso e segurança.
  • Regras IPtables: Configuração de conjuntos de regras IPtables para obter informações sobre as configurações de firewall.

Armazenamento e sistemas de arquivos

  • Pontos de montagem e informações de volume: informações detalhadas sobre pontos de montagem, volumes, uso de disco e especificidades do sistema de arquivos.

Azure Arc azcmagent logs

  • Coleta arquivos de log para o agente de máquina conectado do Azure e extensões em um arquivo ZIP.

Configuração e gestão

  • Configuração do sistema: Parâmetros Sysctl para uma visão abrangente da configuração do tempo de execução do kernel.
  • Configuração e integridade do Kubernetes: detalhes da configuração do Kubernetes, incluindo configurações e listagens de serviços.
  • Informações de tempo de execução do contêiner: Configuração, informações de versão e detalhes sobre a execução de contêineres.
  • Informações da interface de execução de contentores (CRI): Dados de operações da interface de execução de contentores, auxiliando no diagnóstico da orquestração de contentores.

Pré-requisito

  • Certifique-se de que tem acesso SSH ao nó do cluster Kubernetes Nexus. Se você tiver acesso IP direto ao nó, estabeleça uma conexão SSH diretamente. Caso contrário, use o Azure Arc para servidores com o comando az ssh arc. Para obter mais informações sobre vários métodos de conectividade, consulte o artigo Conectar-se ao cluster .

Execution

Depois de ter acesso SSH ao nó, execute o script do coletor de log executando o comando sudo /opt/log-collector/collect.sh.

Após a execução, você observa uma saída semelhante a:

Trying to check for root... 
Trying to check for required utilities... 
Trying to create required directories... 
Trying to check for disk space... 
Trying to start collecting logs... Trying to collect common operating system logs... 
Trying to collect mount points and volume information... 
Trying to collect SELinux status... 
.
.
Trying to archive gathered information... 
Finishing up...

        Done... your bundled logs are located in /var/log/<node_name_date_time-UTC>.tar.gz

Como baixar o arquivo de log

Depois que o arquivo de log for gerado, você poderá baixar o arquivo de log gerado do nó do cluster para a máquina local usando vários métodos, incluindo SCP, SFTP ou CLI do Azure. No entanto, é importante observar que SCP ou SFTP só são possíveis se você tiver acessibilidade direta de IP para o nó do cluster. Se você não tiver acesso direto a IP, poderá usar a CLI do Azure para baixar o arquivo de log.

Este comando deve parecer familiar para si, pois é o mesmo comando usado para aceder por SSH ao nó do cluster Nexus Kubernetes. Para baixar o arquivo de log gerado do nó para sua máquina local, use este comando novamente, com a adição do cat comando no final para copiar o arquivo.

RESOURCE_GROUP="myResourceGroup"
CLUSTER_NAME="myNexusK8sCluster"
SUBSCRIPTION_ID="<Subscription ID>"
USER_NAME="azureuser"
SSH_PRIVATE_KEY_FILE="<vm_ssh_id_rsa>"
MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID --output tsv --query managedResourceGroupConfiguration.name)

Observação

Substitua as variáveis dos espaços reservados por valores reais relevantes para o seu ambiente do Azure e do cluster Kubernetes Nexus.

az ssh arc --subscription $SUBSCRIPTION_ID \
    --resource-group $MANAGED_RESOURCE_GROUP \
    --name <VM Name> \
    --local-user $USER_NAME \
    --private-key-file $SSH_PRIVATE_KEY_FILE
    'sudo cat /var/log/node_name_date_time-UTC.tar.gz' > <Local machine path>/node_name_date_time-UTC.tar.gz

No comando anterior, substitua node_name_date_time-UTC.tar.gz pelo nome do arquivo de log criado no nó do cluster e <Local machine path> pelo local na máquina local onde você deseja salvar o arquivo.

Próximos passos

Depois de baixar o arquivo tar para a sua máquina local, você pode carregá-lo no pedido de suporte para que o suporte da Microsoft reveja os logs.