Eseguire lo script dell'agente di raccolta log nel nodo del cluster Nexus Kubernetes dell'operatore di Azure
Il supporto Tecnico Microsoft potrebbe richiedere una visibilità più approfondita all'interno del cluster Nexus Kubernetes in determinati scenari. Per facilitare questa operazione, è disponibile uno script di raccolta log per l'uso. Questo script recupera tutti i log necessari, consentendo al supporto tecnico Microsoft di comprendere meglio il problema e risolverlo in modo efficace.
Cosa raccoglie
Lo script dell'agente di raccolta log è progettato per raccogliere in modo completo i dati in vari aspetti del sistema a scopo di risoluzione dei problemi e analisi. Di seguito è riportata una panoramica dei tipi di dati di diagnostica raccolti:
Diagnostica del sistema e del kernel
- Informazioni sul kernel: log, messaggi leggibili, versione e architettura, per la diagnostica approfondita del kernel.
- Log del sistema operativo: log essenziali che illustrano in dettaglio le attività del sistema e i log dei contenitori per i servizi di sistema.
Utilizzo dell'hardware e delle risorse
- Processi limitati di CPU e I/O: identifica i problemi di limitazione, fornendo informazioni dettagliate sui colli di bottiglia delle prestazioni.
- Statistiche dell'interfaccia di rete: statistiche dettagliate per le interfacce di rete per diagnosticare gli errori e le eliminazioni.
Software e servizi
- Pacchetti installati: elenco di tutti i pacchetti installati, essenziale per comprendere l'ambiente software del sistema.
- Servizi di sistema attivi: informazioni su servizi attivi, snapshot di processo e statistiche dettagliate sul sistema e sui processi.
- Log del runtime dei contenitori e dei componenti Kubernetes: log per i componenti Kubernetes e altri servizi vitali per la diagnostica del cluster.
Rete e connettività
- Informazioni di rilevamento connessione di rete: statistiche e elenchi di connessioni conntrack per la diagnostica del firewall.
- Dettagli della configurazione e dell'interfaccia di rete: configurazioni dell'interfaccia, routing IP, indirizzi e informazioni adiacenti.
- Qualsiasi configurazione e log di interfaccia aggiuntivi: log correlati alla configurazione di tutte le interfacce all'interno del nodo.
- Test di connettività di rete: verifica la connettività di rete esterna e la comunicazione del server API Kubernetes.
- Configurazione della risoluzione DNS: configurazione del resolver DNS per la diagnosi dei problemi di risoluzione dei nomi di dominio.
- Configurazione e log di rete: dati di rete completi, tra cui il rilevamento delle connessioni e le configurazioni dell'interfaccia.
- Configurazione dell'interfaccia di rete del contenitore : configurazione di CNI per la diagnostica di rete dei contenitori.
Sicurezza e conformità
- edizione Standard Statolinux: segnala la modalità edizione Standard Linux per comprendere il controllo di accesso e i contesti di sicurezza.
- Regole IPtables: configurazione dei set di regole IPtables per informazioni dettagliate sulle impostazioni del firewall.
Archiviazione e file system
- Informazioni dettagliate su punti di montaggio e volume: informazioni dettagliate su punti di montaggio, volumi, utilizzo del disco e specifiche del file system.
Configurazione e gestione
- Configurazione di sistema: parametri Sysctl per una panoramica completa della configurazione del runtime del kernel.
- Configurazione e integrità di Kubernetes: dettagli dell'installazione di Kubernetes, incluse configurazioni ed elenchi di servizi.
- Informazioni sul runtime del contenitore: configurazione, informazioni sulla versione e dettagli sui contenitori in esecuzione.
- Informazioni sull'interfaccia CRI (Container Runtime Interface): dati sulle operazioni per l'interfaccia di runtime del contenitore, che facilitano la diagnostica dell'orchestrazione dei contenitori.
Prerequisito
- Assicurarsi di avere accesso SSH al nodo del cluster Nexus Kubernetes. Se si ha una raggiungibilità IP diretta al nodo, stabilire direttamente una connessione SSH. In caso contrario, usare Azure Arc per i server con il comando
az ssh arc
. Per altre informazioni sui vari metodi di connettività, vedere l'articolo connettersi al cluster .
Esecuzione
Dopo aver ottenuto l'accesso SSH al nodo, eseguire lo script dell'agente di raccolta log eseguendo il comando sudo /opt/log-collector/collect.sh
.
Al momento dell'esecuzione, si osserva un output simile al seguente:
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
Come scaricare il file di log
Dopo aver generato il file di log, è possibile scaricare il file di log generato dal nodo del cluster nel computer locale usando vari metodi, tra cui SCP, SFTP o l'interfaccia della riga di comando di Azure. Tuttavia, è importante notare che SCP o SFTP sono possibili solo se si ha una raggiungibilità IP diretta al nodo del cluster. Se non si ha una raggiungibilità IP diretta, è possibile usare l'interfaccia della riga di comando di Azure per scaricare il file di log.
Questo comando dovrebbe avere familiarità con l'utente, perché è lo stesso comando usato per SSH nel nodo del cluster Nexus Kubernetes. Per scaricare il file di log generato dal nodo nel computer locale, usare di nuovo questo comando, con l'aggiunta del cat
comando alla fine per copiare il file.
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)
Nota
Sostituire le variabili segnaposto con i valori effettivi rilevanti per l'ambiente di Azure e il cluster Nexus Kubernetes.
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
Nel comando precedente sostituire node_name_date_time-UTC.tar.gz
con il nome del file di log creato nel nodo del cluster e <Local machine path>
con il percorso nel computer locale in cui si vuole salvare il file.
Passaggi successivi
Dopo aver scaricato il file tar nel computer locale, è possibile caricarlo nel ticket di supporto per il supporto tecnico Microsoft per esaminare i log.