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

8

Parfois, lors du déploiement d'un service (et plus spécifiquement d'une nouvelle unité) pour un charme Juju, une erreur se produit et il semble qu'il n'y ait 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é?

Nathan Osman
la source

Réponses:

6

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

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 | lesspour lire le journal.

Nathan Osman
la source
3

vous pouvez utiliser juju debug-logpour obtenir un journal distribué de toutes les opérations par tous les agents. Il permet de supprimer les choses par niveau de journal, alors juju debug-log -hlisez. Il manque certaines choses, mais pour la plupart, il devrait vous donner ce que vous recherchez.

La commande suivante affiche tous les journaux depuis le début du temps. Ainsi, il affichera également les journaux avant de commencerjuju debug-log

juju debug-log --replay
SpamapS
la source
Mais cela répond-il à la question? J'ai besoin de la sortie des commandes après leur exécution.
Nathan Osman
C'est exactement ce que fournit le journal de débogage. Sortie de toutes les commandes exécutées par tous les agents (hooks, appels API, tout). Les charmes peuvent également contrôler le niveau de journal auquel leur sortie est produite en utilisant «juju-log».
SpamapS
Mais cela renvoie-t-il la sortie des commandes qui ont été exécutées avant que j'appelle juju debug-log?
Nathan Osman
Non, debug-log informe les agents qu'ils doivent commencer à envoyer leurs journaux. Si vous souhaitez voir les journaux des activités des agents passés, vous devez vous connecter à chaque unité et inspecter les journaux dans / var / log / juju et / var / lib / juju
SpamapS
Oui, c'est la question que j'ai posée et la réponse ci-dessous contient cette information.
Nathan Osman
1

Vous pouvez trouver le journal complet à l'intérieur de l' data-dirensemble dans votre environments.yamlfichier.

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

Bruno Pereira
la source