Exécuter le script du collecteur de journaux sur le nœud de cluster Kubernetes d'Azure Operator Nexus
Le support Microsoft peut avoir besoin d’une visibilité plus approfondie dans le cluster Nexus Kubernetes dans certains scénarios. Pour faciliter cette opération, un script de collecte de journaux est disponible pour vous permettre d’utiliser. Ce script récupère tous les journaux nécessaires, ce qui permet au support Microsoft d’avoir une meilleure compréhension du problème et de le résoudre efficacement.
Ce qu’il collecte
Le script du collecteur de journaux est conçu pour collecter de manière complète des données sur différents aspects du système à des fins de résolution des problèmes et d’analyse. Voici une vue d’ensemble des types de données de diagnostic qu’il collecte :
Diagnostics système et noyau
- Informations sur le noyau : journaux, messages lisibles par l’homme, version et architecture, pour les diagnostics de noyau approfondis.
- Journaux du système d’exploitation : journaux essentiels détaillant l’activité système et les journaux de conteneur pour les services système.
Utilisation du matériel et des ressources
- Processeur et processus limités E/S : identifie les problèmes de limitation, fournissant des insights sur les goulots d’étranglement des performances.
- Statistiques de l’interface réseau : statistiques détaillées pour les interfaces réseau pour diagnostiquer les erreurs et les suppressions.
Logiciels et services
- Packages installés : liste de tous les packages installés, indispensable pour la compréhension de l’environnement logiciel du système.
- Services système actifs : informations sur les services actifs, les captures instantanées de processus et les statistiques système et processus détaillées.
- Journaux du runtime de conteneur et des composants Kubernetes : journaux d’activité des composants Kubernetes et autres services essentiels pour les diagnostics de cluster.
Réseau et connectivité
- Informations de suivi des connexions réseau : statistiques Conntrack et listes de connexions pour les diagnostics de pare-feu.
- Détails de la configuration réseau et de l’interface : configurations d’interface, routage IP, adresses et informations voisines.
- Toute configuration et journaux d’interface supplémentaires : journaux liés à la configuration de toutes les interfaces à l’intérieur du nœud.
- Tests de connectivité réseau : teste la connectivité réseau externe et la communication du serveur d’API Kubernetes.
- Configuration de résolution DNS : configuration du programme de résolution DNS pour diagnostiquer les problèmes de résolution de noms de domaine.
- Configuration et journaux de mise en réseau : données réseau complètes, notamment le suivi des connexions et les configurations d’interface.
- Configuration de l’interface réseau de conteneur (CNI) : configuration de CNI pour les diagnostics de mise en réseau de conteneurs.
Sécurité et conformité
- État SELinux : signale le mode SELinux pour comprendre les contextes de contrôle d’accès et de sécurité.
- Règles IPtables : configuration des ensembles de règles IPtables pour obtenir des informations sur les paramètres de pare-feu.
Stockage et systèmes de fichiers
- Points de montage et informations sur le volume : informations détaillées sur les points de montage, les volumes, l’utilisation du disque et les spécificités du système de fichiers.
Configuration et gestion
- Configuration système : paramètres Sysctl pour une vue complète de la configuration du runtime du noyau.
- Configuration et intégrité de Kubernetes : détails de l’installation de Kubernetes, y compris les configurations et les listes de services.
- Informations sur le runtime de conteneur : configuration, informations de version et détails sur les conteneurs en cours d’exécution.
- Informations sur l’interface d’exécution de conteneur (CRI) : données d’opérations pour l’interface d’exécution de conteneur, ce qui facilite les diagnostics d’orchestration de conteneur.
Prérequis
- Vérifiez que vous disposez d’un accès SSH au nœud de cluster Nexus Kubernetes. Si vous disposez d’une accessibilité IP directe vers le nœud, établissez une connexion SSH directement. Sinon, utilisez Azure Arc pour serveurs avec la commande
az ssh arc
. Pour plus d’informations sur différentes méthodes de connectivité, consultez l’article sur la connexion au cluster.
Exécution
Une fois que vous avez accès SSH au nœud, exécutez le script du collecteur de journaux en exécutant la commande sudo /opt/log-collector/collect.sh
.
Lors de l’exécution, vous observez une sortie similaire à :
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
Comment télécharger le fichier journal
Une fois le fichier journal généré, vous pouvez télécharger le fichier journal généré à partir de votre nœud de cluster sur votre ordinateur local à l’aide de différentes méthodes, notamment SCP, SFTP ou Azure CLI. Toutefois, il est important de noter que SCP ou SFTP ne sont possibles que si vous disposez d’une accessibilité IP directe vers le nœud de cluster. Si vous n’avez pas d’accessibilité IP directe, vous pouvez utiliser Azure CLI pour télécharger le fichier journal.
Cette commande doit vous être familière, car il s’agit de la même commande utilisée pour SSH dans le nœud de cluster Nexus Kubernetes. Pour télécharger le fichier journal généré à partir du nœud sur votre ordinateur local, utilisez à nouveau cette commande, avec l’ajout de la commande cat
à la fin pour copier le fichier.
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)
Remarque
Remplacez les variables des espaces réservés par les valeurs réelles pertinentes pour votre environnement Azure et votre 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
Dans la commande précédente, remplacez node_name_date_time-UTC.tar.gz
par le nom du fichier journal créé dans votre nœud de cluster et <Local machine path>
par l’emplacement sur votre ordinateur local où vous souhaitez enregistrer le fichier.
Étapes suivantes
Après avoir téléchargé le fichier tar sur votre ordinateur local, vous pouvez le charger dans le ticket de support du support Microsoft pour passer en revue les journaux d’activité.