Dell NativeEdge: Como recuperar o pacote de logs do NativeEdge Orchestrator e do Dell Automation Platform para solução de problemas
Summary: Este artigo explica como recuperar um pacote de logs para solucionar problemas com o NativeEdge Orchestrator e a Dell Automation Platform.
Instructions
Essa ferramenta foi criada para coletar todos os logs de Kubernetes do NativeEdge Orchestrator e da Dell Automation Platform. Ele também coleta logs nativos do Kubernetes e coleta a descrição do pod em seus estados atuais. Ele coleta logs do sistema e logs de registro também. Após a coleta, ele cria um tarball para fornecer à equipe de engenharia.
Essa ferramenta percorre o NativeEdge ou a Dell Automation Platform e os pods nativos e lista os contêineres dentro. Consulte o exemplo abaixo para hzp-product-svc:
root@labmachine01:/nas/tools# kubectl get po -n hzp hzp-product-svc-00001-deployment-5695678c66-79zwm -o jsonpath="{.spec.containers[*].name}"
hzp-ese-svc hzp-product-svc queue-proxy hzp-iam-proxy
Por exemplo, o usuário obtém a seguinte estrutura de arquivos dentro do tarball:
root@labmachine01:/nas/tools# tar -tf /tmp/native_edge_eo-logs_default_2023-08-30T07-13-39.750/native_edge_eo-logs_default_2023-08-30T07-13-39.750.tar.gz | grep product ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/ ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-iam-proxy.current.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-product-svc.current.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-product-svc-00001-deployment-5695678c66-79zwm.hzp-iam-proxy-init.init.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-product-svc-00001-deployment-5695678c66-79zwm.describe ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-ese-svc.previous.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/queue-proxy.current.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/queue-proxy.previous.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-ese-svc.current.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-product-svc.previous.log ./native_edge_eo-logs_default_2023-08-30T07-13-39.750/hzp/hzp-product-svc-00001-deployment-5695678c66-79zwm/hzp-iam-proxy.previous.log
Portanto, esses arquivos são armazenados na seguinte estrutura:
namespace/pod-name/namespace-container.log
Uso:
Primeiro, o usuário deve se conectar e fazer login em sua máquina NativeEdge Orchestrator (Dell Automation Platform).
Em seguida, o usuário deve ativar os privilégios root (sudo -i ou su se ativado).
Para coletar todos os logs relevantes, o usuário precisa fazer download do anexo chamado logs_pkb.zip deste artigo na máquina do NativeEdge Orchestrator.
Extraia o conteúdo do arquivo:
unzip logs_pkb.zip -d logs-tool
Acesse esse diretório e execute o script:
./logs.sh
Após a execução, o usuário verá uma mensagem informativa sobre o espaço disponível e um prompt para continuar (digite 'y' para continuar):
This script will access your local k3s secrets (secret values are not going to be printed). This script will collect all logs from all pods in NativeEdge-controlled namespaces and archive it in tarball. Please press "y" if you agree with this. You have 69G available on your storage. Consider that logs may require to have more that 1Gb of free space.
A partir da versão 1.0-rc, a ferramenta de coleta de logs detecta se o NativeEdge ou a Dell Automation Platform está instalado em um namespace não padrão. Se a ferramenta não encontrar um namespace padrão, ela solicitará que o usuário digite um namespace válido do Orchestrator. Veja o exemplo abaixo:
Available namespaces:
- default
- nativeedge
- kube-node-lease
- kube-public
- kube-system
- longhorn-system
- metallb-system
Warning: Namespace 'hzp' not found.
Please enter the namespace containing the 'nativeedge' containers:
Se houver instalação de namespace padrão, a ferramenta mostrará quais namespaces estão na lista para coleta:
Namespace 'hzp' found. Logs will be collected from following namespaces:
- hzp
- kube-system
- istio-system
- knative-eventing
- knative-serving
- longhorn-system
Captação de eventos:
A partir da versão 0.9-beta da ferramenta, o usuário é questionado sobre a captura de eventos do EdgeOrchestrator/Dell Automation Platform:
Do you want to collect the EO events (WARNING: this may require significant space on disk)?
Isso captura eventos do EdgeOrchestrator/Dell Automation Platform diretamente no tarball de logs e melhora a solução de problemas. É aconselhável obter eventos do EdgeOrchestrator/Dell Automation Platform se houver espaço suficiente na máquina.
Caso o usuário tenha instruções adicionais, ele poderá verificar as opções disponíveis do script antes de executar:
./logs.sh -h
O usuário pode verificar a versão atual com:
logs.sh -v