Divers services génèrent automatiquement des journaux. Vous pouvez générer des bundles de journaux dans vRealize Automation. Vous pouvez également configurer votre environnement pour qu'il envoie les journaux vers vRealize Log Insight.

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 vRealize Log Insight, consultez Configuration du transfert de journaux vers vRealize Log Insight dans vRealize 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 vracli suivante :

    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 vracli suivante :

    vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDS

    Par 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 ebs ou vro, exécutez la commande vracli suivante 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 vracli suivante :

    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.

Le bundle de journaux a le contenu suivant :
  • 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-app inclut les conteneurs vco-server-app et vco-controlcenter-app.
  • (Hérité) Journaux de l'espace

    Avant les modifications apportées à l'architecture de journalisation dans vRealize Automation 8.2, les journaux de services se trouvaient dans le répertoire de chaque espace dans le bundle de journaux. 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 n

    Utilisez 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 1

  • vracli log-bundle --services service_A,service_B,service_C

    Utilisez cette commande pour collecter uniquement les journaux des services fournis nommés. Par exemple :

    vracli log-bundle --services ebs-app,vco-app

  • vracli log-bundle --skip-heap-dumps

    Utilisez 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>.

Les options de commande suivantes sont disponibles :
  • --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

En ce qui concerne la rotation des journaux, reconnaissez les éléments à prendre en compte pour le journal de service ci-après :
  • Tous les services produisent des journaux. Les journaux de service sont stockés dans un disque /var/log/services-logs dé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 vRealize 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)