Compartir a través de


Ejecución del script del recopilador de registros en el nodo del clúster de Kubernetes de Azure Operator Nexus

El soporte técnico de Microsoft puede necesitar una mayor visibilidad en el clúster de Nexus Kubernetes en determinados escenarios. Para facilitar esto, hay disponible un script de recopilación de registros para su uso. Este script recupera todos los registros necesarios, lo que permite al soporte técnico de Microsoft comprender mejor el problema y solucionarlo de forma eficaz.

Lo que recopila

El script del recopilador de registros está diseñado para recopilar datos de forma completa en varios aspectos del sistema con fines de solución de problemas y análisis. A continuación se muestra información general sobre los tipos de datos de diagnóstico que recopila:

Diagnóstico del sistema y del kernel

  • Información del kernel: registros, mensajes legibles, versión y arquitectura, para diagnósticos de kernel detallados.
  • Registros del sistema operativo: registros esenciales que detallan la actividad del sistema y los registros de contenedor para los servicios del sistema.

Uso de hardware y recursos

  • Procesos con limitación de CPU e IO: identifica los problemas de limitación, proporcionando información sobre los cuellos de botella en el rendimiento.
  • Estadísticas de interfaz de red: estadísticas detalladas de las interfaces de red para diagnosticar errores y caídas.

Software y servicios

  • Paquetes instalados: una lista de todos los paquetes instalados, vital para comprender el entorno de software del sistema.
  • Servicios del sistema activos: información sobre los servicios activos, las instantáneas de proceso y las estadísticas detalladas del sistema y del proceso.
  • Registros de componentes de Kubernetes y runtime de contenedor: registros de componentes de Kubernetes y otros servicios vitales para el diagnóstico de clústeres.

Redes y conectividad

  • Información de seguimiento de conexiones de red: estadísticas de Conntrack y listas de conexiones para diagnósticos de firewall.
  • Detalles de la interfaz y configuración de red: configuraciones de interfaz, enrutamiento IP, direcciones e información de vecino.
  • Cualquier configuración y registros de interfaz adicionales: registros relacionados con la configuración de todas las interfaces dentro del nodo.
  • Pruebas de conectividad de red: prueba la conectividad de red externa y la comunicación del servidor de API de Kubernetes.
  • Configuración de la resolución DNS: configuración de la resolución DNS para diagnosticar problemas de resolución de nombres de dominio.
  • Configuración y registros de redes: datos de red completos, incluidas las configuraciones de interfaz y seguimiento de conexiones.
  • Configuración de la interfaz de red de contenedor (CNI): configuración de CNI para diagnósticos de redes de contenedor.

Seguridad y cumplimiento

  • Estado de SELinux: informa del modo SELinux para comprender los contextos de seguridad y control de acceso.
  • Reglas de IPtables: configuración de conjuntos de reglas de IPtables para obtener información sobre la configuración del firewall.

Almacenamiento y sistemas de archivos

  • Información de puntos de montaje y volumen: información detallada sobre puntos de montaje, volúmenes, uso de disco y detalles del sistema de archivos.

Configuración y administración

  • Configuración del sistema: parámetros Sysctl para obtener una vista completa de la configuración del entorno de ejecución del kernel.
  • Configuración y estado de Kubernetes: detalles de configuración de Kubernetes, incluidas las configuraciones y las descripciones de servicios.
  • Información del entorno de ejecución del contenedor: configuración, información de versión y detalles sobre la ejecución de contenedores.
  • Información de la interfaz del entorno de ejecución de contenedor (CRI): datos de operaciones para la interfaz en tiempo de ejecución del contenedor, lo que ayuda a realizar diagnósticos de orquestación de contenedores.

Requisito previo

  • Asegúrese de que tiene acceso SSH al nodo del clúster de Nexus Kubernetes. Si tiene alcance IP directo al nodo, establezca directamente una conexión SSH. De lo contrario, use Azure Arc para servidores con el comando az ssh arc. Para obtener más información sobre varios métodos de conectividad, consulte el artículo conectarse al clúster.

Ejecución

Una vez que tenga acceso SSH al nodo, ejecute el script del recopilador de registros ejecutando el comando sudo /opt/log-collector/collect.sh.

Tras la ejecución, observará una salida similar a la siguiente:

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

Cómo descargar el archivo de registro

Una vez generado el archivo de registro, puede descargar el archivo de registro generado desde el nodo del clúster a la máquina local mediante varios métodos, como SCP, SFTP o la CLI de Azure. Sin embargo, es importante tener en cuenta que SCP o SFTP solo son posibles si se tiene capacidad de acceso IP directo al nodo del clúster. Si no tiene acceso directo a la IP, puede usar Azure CLI para descargar el archivo de registro.

Este comando debería resultarle familiar, ya que es el mismo que se usa para acceder mediante SSH al nodo del clúster Nexus Kubernetes. Para descargar el archivo de registro generado desde el nodo al equipo local, use este comando de nuevo, con la adición del comando cat al final para copiar el archivo.

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:

Reemplace las variables de marcadores de posición por valores reales relevantes para el entorno de Azure y el clúster de 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

En el comando anterior, reemplace node_name_date_time-UTC.tar.gz por el nombre del archivo de registro creado en el nodo del clúster y <Local machine path> por la ubicación en el equipo local donde desea guardar el archivo.

Pasos siguientes

Después de descargar el archivo tar en el equipo local, puede cargarlo en la incidencia de soporte técnico del soporte técnico de Microsoft para revisar los registros.