Divers services génèrent automatiquement des journaux. Vous pouvez générer des bundles de journaux dans VMware Aria Automation. Vous pouvez également configurer votre environnement pour qu'il envoie les journaux vers VMware Aria Operations for Logs.
Utilisez l'argument --help dans la ligne de commande vracli (par exemple, vracli log-bundle --help) pour obtenir des informations sur l'utilitaire de ligne de commande vracli.
Pour plus d'informations sur l'utilisation de VMware Aria Operations for Logs, consultez Configuration du transfert de journaux vers VMware Aria Operations for Logs dans VMware Aria Automation.
Commandes de bundles de journaux
Vous pouvez créer un bundle de journaux qui contiendra tous les journaux générés par les services que vous exécutez. Un bundle de journaux contient tous vos journaux de service. Vous pouvez utiliser un bundle de journaux pour le dépannage.
Dans un environnement en cluster (mode de haute disponibilité), exécutez la commande vracli log-bundle sur un seul nœud. Les journaux sont extraits de tous les nœuds de l'environnement. Cependant, en cas de problème de mise en réseau ou d'autre problème de cluster, les journaux sont extraits d'autant de nœuds que le nombre de nœuds pouvant être atteints. Par exemple, si un nœud est déconnecté dans un cluster de trois nœuds, les journaux sont collectés uniquement à partir des deux nœuds sains. La sortie de la commande vracli log-bundle contient des informations sur les problèmes détectés et leurs étapes de résolution.
- Pour créer un bundle de journaux, connectez-vous par SSH à n'importe quel nœud et exécutez la commande
vraclisuivante :vracli log-bundle - Pour modifier la valeur du délai d'expiration pour la collecte des journaux de chaque nœud, exécutez la commande
vraclisuivante :vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDSPar exemple, si votre environnement contient des fichiers journaux volumineux, présente une mise en réseau lente ou une utilisation élevée du CPU, vous pouvez définir le délai d'expiration sur une valeur supérieure à la valeur par défaut de 1 000 secondes.
- Pour déterminer l'espace disque consommé par un journal de service spécifique, comme
ebsouvro, exécutez la commandevraclisuivante et examinez la sortie de la commande :vracli disk-mgr - Pour configurer d'autres options, telles que le délai d'expiration d'Assembly et l'emplacement du tampon, utilisez la commande help
vraclisuivante :vracli log-bundle --help
Structure de bundle de journaux
Le bundle de journaux est un fichier .tar horodaté. Le nom du bundle correspond au modèle de fichier log-bundle-<date>T<time>.tar, par exemple log-bundle-20200629T131312.tar. Un bundle de journaux contient généralement des journaux de tous les nœuds de l'environnement. En cas d'erreur, il contient autant de journaux que possible. Il contient au minimum des journaux du nœud local.
- Fichier d'environnement
Le fichier d'environnement contient la sortie de diverses commandes de maintenance Kubernetes. Il fournit des informations sur l'utilisation actuelle des ressources par nœud et par espace. Il contient également des informations sur le cluster et la description de toutes les entités Kubernetes disponibles.
- Journaux d'hôte et configuration
La configuration de chaque hôte (par exemple, son répertoire
/etc) et les journaux propres à l'hôte (par exemple,journald) sont collectés dans un répertoire pour chaque nœud de cluster ou hôte. Le nom du répertoire correspond au nom d’hôte du nœud. Le contenu interne du répertoire correspond au système de fichiers de l'hôte. Le nombre de répertoires correspond au nombre de nœuds de cluster. - Journaux de services
Les journaux des services Kubernetes se trouvent dans la structure de dossiers suivante :
<hostname>/services-logs/<namespace>/<app-name>/file-logs/<container-name>.log<hostname>/services-logs/<namespace>/<app-name>/console-logs/<container-name>.log
Exemple de nom de fichier :
my-host-01/services-logs/prelude/vco-app/file-logs/vco-server-app.log.- hostname est le nom d'hôte du nœud sur lequel le conteneur d'applications s'exécute ou s'exécutait. En général, il existe une instance pour chaque nœud et chaque service. Par exemple, 3 nœuds = 3 instances.
- namespace est l'espace de noms Kubernetes dans lequel l'application est déployée. Pour les services orientés utilisateur, cette valeur est
prelude. - app-name est le nom de l'application Kubernetes qui a produit les journaux (par exemple,
provisioning-service-app). - container-name est le nom du conteneur qui a produit les journaux. Certaines applications se composent de plusieurs conteneurs. Par exemple, le conteneur
vco-appinclut les conteneursvco-server-appetvco-controlcenter-app.
- (Hérité) Journaux de l'espace
Bien que vous puissiez continuer à générer des journaux d'espaces dans le bundle à l'aide de la commande
vracli log-bundle --include-legacy-pod-logs, cela n'est pas recommandé, car toutes les informations de journalisation résident déjà dans les journaux de chaque service. L'inclusion de journaux d'espace peut inutilement augmenter le temps et l'espace requis pour générer le bundle de journaux.
Réduction de la taille du bundle de journaux
Pour générer un bundle de journaux plus petit, utilisez l'une des commandes vracli log-bundle suivantes :
vracli log-bundle --since-days nUtilisez cette commande pour collecter uniquement les fichiers journaux générés au cours des derniers jours. Sinon, les journaux sont conservés et collectés pour les 2 derniers jours. Par exemple :
vracli log-bundle --since-days 1vracli log-bundle --services service_A,service_B,service_CUtilisez cette commande pour collecter uniquement les journaux des services fournis nommés. Par exemple :
vracli log-bundle --services ebs-app,vco-appvracli log-bundle --skip-heap-dumpsUtilisez cette commande pour exclure tous les vidages de segment de mémoire du bundle de journaux généré.
Affichage des journaux
Vous pouvez afficher les journaux d'un espace de service ou d'une application à l'aide de la commande vracli logs <pod_name>.
- --service
Affiche un journal fusionné pour tous les nœuds de l'application au lieu d'un espace unique.
Exemple :
vracli logs --service abx-service-app - --tail n
Affiche les n dernières lignes du journal. La valeur n par défaut est 10.
Exemple :
vracli logs --tail 20 abx-service-app-8598fcd4b4-tjwhk - --file
Affiche uniquement le fichier spécifié. Aucun nom de fichier n'est fourni. Tous les fichiers sont affichés.
Exemple :
vracli logs --file abx-service-app.log abx-service-app-8598fcd4b4-tjwhk
Présentation de la rotation des journaux
- Tous les services produisent des journaux. Les journaux de service sont stockés dans un disque
/var/log/services-logsdédié. - Tous les journaux sont renouvelés régulièrement. La rotation se produit toutes les heures ou lorsqu'une certaine limite de taille est atteinte.
- Toutes les anciennes rotations des journaux sont ensuite compressées.
- Il n'y a pas de quota par service pour les rotations de journaux.
- Le système conserve autant de journaux que possible. L'automatisation vérifie régulièrement l'espace disque utilisé pour les journaux. Lorsque l'espace est plein à 70 %, les anciens journaux sont purgés jusqu'à ce que l'espace disque des journaux atteigne 60 %.
- Vous pouvez redimensionner votre disque de journaux si vous avez besoin de plus d'espace. Reportez-vous à la section Augmenter l'espace disque du dispositif VMware Aria Automation.
Pour consulter l'espace disque des journaux, exécutez les commandes vracli suivantes. L'espace libre de /dev/sdc(/var/log) doit être proche de 30 % ou plus pour chaque nœud.
# vracli cluster exec -- bash -c 'current_node; vracli disk-mgr; exit 0' sc1-10-182-1-103.eng.vmware.com /dev/sda4(/): Total size: 47.80GiB Free: 34.46GiB(72.1%) Available(for non-superusers): 32.00GiB(66.9%) SCSI ID: (0:0) /dev/sdb(/data): Total size: 140.68GiB Free: 116.68GiB(82.9%) Available(for non-superusers): 109.47GiB(77.8%) SCSI ID: (0:1) /dev/sdc(/var/log): Total size: 21.48GiB Free: 20.76GiB(96.6%) Available(for non-superusers): 19.64GiB(91.4%) SCSI ID: (0:2) /dev/sdd(/home): Total size: 29.36GiB Free: 29.01GiB(98.8%) Available(for non-superusers): 27.49GiB(93.7%) SCSI ID: (0:3)