web-dev-qa-db-fra.com

Où Juju stocke-t-il un journal de toutes les commandes exécutées et de leur sortie pour chaque unité?

Parfois, lors du déploiement d'un service (et plus spécifiquement d'une nouvelle unité) pour un sort Juju, une erreur se produit et il semble n'y avoir aucun moyen de savoir exactement ce que c'était.

Existe-t-il une sorte de journal de sortie de toutes les commandes exécutées par l'unité?

8
Nathan Osman

Il semble que chaque unité stocke un journal des commandes exécutées dans /var/log/juju/unit/unit-service_name-service_number.log. Vous pouvez y accéder en tirant parti de la commande ssh de Juju comme suit:

juju ssh service_name/service_number

Cela vous déposera dans un shell pour cette unité. Vous pouvez ensuite utiliser un éditeur de texte ou même simplement cat | less pour lire le journal.

6
Nathan Osman

vous pouvez utiliser juju debug-log pour obtenir un journal distribué de toutes les opérations effectuées par tous les agents. Cela permet de supprimer des choses par niveau de log, alors donnez juju debug-log -h une lecture. Il manque certaines choses, mais dans la plupart des cas, il devrait vous donner ce que vous cherchez.

La commande suivante affiche tous les journaux depuis le début du temps. Ainsi, les journaux de avant de commencer juju debug-log

juju debug-log --replay
3
SpamapS

Vous pouvez trouver le journal complet à l'intérieur du data-dir défini dans votre fichier environments.yaml.

Ouvrez-le avec gksudo <path_to_data-dir>, parcourez les dossiers dans votre dossier units, ouvrez le dossier de service que vous souhaitez consulter et examinez le fichier unit.log.

1
Bruno Pereira