Plataforma automatizada da Dell: Como recuperar um pacote de logs para solução de problemas
Resumo: Este artigo explica como recuperar um pacote de logs para solucionar problemas Plataforma de automação Dell (no local)
Instruções
Essa ferramenta foi criada para coletar todos os logs de Kubernetes da plataforma de automação Dell para instalações no local. 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. Ele não foi projetado para ser usado para instalações da plataforma de automação Dell SAAS (Software as a Service).
Essa ferramenta percorre a Dell Automation Platform e os pods Knative 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 log-in em sua máquina virtual da 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 deve fazer download do anexo chamado logs_pkb.zip deste artigo para a máquina virtual da Dell Automation Platform.
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
Mais informações
Essa ferramenta pode ser usada em TODAS as versões 1.0 e posteriores de instalações da Dell Automation Platform no local.
Essa ferramenta pode ser usada em TODAS as versões do NativeEdge Orchestrator, 2.0 e posteriores.