Где Juju хранит журнал всех выполненных команд и их вывод для каждого подразделения?

8

Иногда при развертывании службы (а точнее, нового устройства) для заклинания Джуджу возникает ошибка, и, похоже, нет никакого способа узнать, что именно это было.

Есть ли какой-нибудь журнал вывода всех команд, которые выполнял модуль?

Натан Осман
источник

Ответы:

6

Похоже, что каждый блок хранит журнал команд, запущенных в . Вы можете получить к нему доступ, воспользовавшись командой Juju следующим образом:/var/log/juju/unit/unit-service_name-service_number.logssh

juju ssh service_name/service_number

Это бросит вас в оболочку для этого подразделения. Затем вы можете использовать текстовый редактор или даже просто cat | lessпрочитать журнал.

Натан Осман
источник
3

Вы можете использовать juju debug-logдля получения распределенного журнала всех операций всеми агентами. Это позволяет подавлять вещи на уровне журнала, так juju debug-log -hчто читайте. Он пропускает несколько вещей, но по большей части он должен дать вам то, что вы ищете.

Следующая команда показывает все журналы с начала времени. Таким образом, он также покажет журналы, прежде чем вы началиjuju debug-log

juju debug-log --replay
SpamapS
источник
Но отвечает ли это на вопрос? Мне нужен вывод команд после их выполнения.
Натан Осман
Это именно то, что обеспечивает журнал отладки .. вывод всех команд, выполняемых всеми агентами (хуки, вызовы API, все). Чары также могут контролировать, на каком уровне журналов производится их вывод, используя 'juju-log'.
SpamapS
Но возвращает ли это вывод команд, которые выполнялись до того, как я позвонил juju debug-log?
Натан Осман
Нет, debug-log сообщает агентам, что им нужно начать отправку своих журналов. Если вы хотите просмотреть журналы прошлых действий агентов, вы должны войти в каждый блок и проверить журналы в / var / log / juju и / var / lib /
juju
Да, это был вопрос, который я задал, и ответ ниже содержит эту информацию.
Натан Осман
1

Вы можете найти полный журнал внутри data-dirнабора в вашем environments.yamlфайле.

Откройте его с помощью gksudo <path_to_data-dir>, перейдите по папкам к вашей unitsпапке, откройте служебную папку, которую вы хотите посмотреть, и посмотрите на unit.logфайл.

Бруно Перейра
источник