Onde o Juju armazena um log de todos os comandos executados e sua saída para cada unidade?

8

Às vezes, ao implantar um serviço (e mais especificamente uma nova unidade) para um feitiço Juju, ocorre um erro e parece não haver maneira de descobrir exatamente o que era.

Existe algum tipo de log de saída de todos os comandos que a unidade executou?

Nathan Osman
fonte

Respostas:

6

Parece que cada unidade armazena um log dos comandos executados . Você pode acessá-lo aproveitando o comando de Juju da seguinte forma:/var/log/juju/unit/unit-service_name-service_number.logssh

juju ssh service_name/service_number

Isso colocará você em uma concha para essa unidade. Você pode usar um editor de texto ou mesmo apenas cat | lesspara ler o log.

Nathan Osman
fonte
3

você pode usar juju debug-logpara obter um log distribuído de todas as operações por todos os agentes. Ele permite suprimir coisas por nível de log, portanto, faça juju debug-log -huma leitura. Falta algumas coisas, mas na maioria das vezes deve fornecer o que você está procurando.

O comando a seguir mostra todos os logs desde o início dos tempos. Por isso, também mostrará os logs antes de você começarjuju debug-log

juju debug-log --replay
SpamapS
fonte
Mas isso responde à pergunta? Eu preciso da saída dos comandos depois que eles são executados.
Nathan Osman
É exatamente isso que o log de depuração fornece .. saída de todos os comandos executados por todos os agentes (ganchos, chamadas de API, tudo). Os encantos também podem controlar em que nível de log sua produção é produzida usando 'juju-log'.
SpamapS
Mas isso retorna a saída dos comandos que foram executados antes de eu ligar juju debug-log?
22611 Nathan Osman
Não, o debug-log informa aos agentes que eles precisam para começar a enviar seus logs. Se você quiser ver os logs de atividades do agente passado, você deve entrar para cada unidade e inspecionar os logs em / var / log / juju e / var / lib / juju
SpamapS
Sim, essa foi a pergunta que fiz e a resposta abaixo contém essas informações.
Nathan Osman
1

Você pode encontrar o registro completo dentro do data-dirconjunto em seu environments.yamlarquivo.

Abra-o com gksudo <path_to_data-dir>, navegue pelas pastas da sua unitspasta, abra a pasta de serviço que deseja ver e veja o unit.logarquivo.

Bruno Pereira
fonte