Gdzie Juju przechowuje dziennik wszystkich poleceń i ich wyników dla każdej jednostki?

8

Czasami podczas wdrażania usługi (a dokładniej nowej jednostki) dla uroku Juju pojawia się błąd i wydaje się, że nie ma sposobu, aby dowiedzieć się dokładnie, co to było.

Czy istnieje jakiś dziennik wyjściowy wszystkich poleceń uruchomionych przez urządzenie?

Nathan Osman
źródło

Odpowiedzi:

6

Wygląda na to, że każda jednostka przechowuje dziennik uruchomionych poleceń . Możesz uzyskać do niego dostęp, korzystając z polecenia Juju w następujący sposób:/var/log/juju/unit/unit-service_name-service_number.logssh

juju ssh service_name/service_number

Spowoduje to upuszczenie cię do skorupy dla tej jednostki. Następnie możesz użyć edytora tekstu, a nawet po prostu cat | lessprzeczytać dziennik.

Nathan Osman
źródło
3

możesz użyć, juju debug-logaby uzyskać rozproszony dziennik wszystkich operacji wszystkich agentów. Pozwala na pomijanie rzeczy według poziomu logów, więc juju debug-log -hczytaj. Brakuje kilku rzeczy, ale w większości powinien dać ci to, czego szukasz.

Następujące polecenie pokazuje wszystkie dzienniki od początku czasu. Więc pokaże także dzienniki sprzed rozpoczęciajuju debug-log

juju debug-log --replay
Spamapy
źródło
Ale czy to odpowiada na pytanie? Potrzebuję danych wyjściowych poleceń po ich wykonaniu.
Nathan Osman,
Właśnie to zapewnia dziennik debugowania .. dane wyjściowe wszystkich poleceń wykonywanych przez wszystkich agentów (przechwytywania, wywołania API, wszystko). Talizmany mogą również kontrolować, na jakim poziomie dziennika jest generowany ich wynik, używając „juju-log”.
SpamapS
Ale czy to zwraca wynik poleceń, które zostały uruchomione przed wywołaniem juju debug-log?
Nathan Osman
Nie, dziennik debugowania informuje agentów, że muszą rozpocząć wysyłanie dzienników. Jeśli chcesz zobaczyć dzienniki przeszłych działań agenta, musisz zalogować się do każdej jednostki i sprawdzić dzienniki w / var / log / juju i / var / lib / juju
SpamapS
Tak, zadałem to pytanie, a odpowiedź poniżej zawiera te informacje.
Nathan Osman
1

Możesz znaleźć pełny dziennik wewnątrz data-dirzestawu w swoim environments.yamlpliku.

Otwórz go za pomocą gksudo <path_to_data-dir>, przejdź przez foldery do unitsfolderu, otwórz folder usługi, na który chcesz spojrzeć, i spójrz na unit.logplik.

Bruno Pereira
źródło