Estou executando o docker no ubuntu 16.04 e gostaria de visualizar os logs. No entanto, não consigo visualizar os logs depois do que acho que seja algum tipo de rotação ou os logs aumentam para um determinado tamanho.
Eu não fiz nenhuma alteração no meu journald.conf, então estou usando os padrões lá.
Exemplos do que estou vendo:
systemctl docker status
confirma que o serviço está ativo since Thu 2016-10-13 18:56:28 UTC
.
No entanto, quando executo algo como journalctl -u docker.service --until "2016-10-13 22:00"
- a única saída que recebo é -- Logs begin at Fri 2016-10-14 01:18:49 UTC, end at Fri 2016-10-14 16:18:25 UTC. --
que posso visualizar os logs nesse intervalo conforme o esperado.
Minha pergunta é: por que não consigo visualizar logs mais antigos com o journalctl e como posso corrigir esse problema para poder visualizar os logs?
journalctl
saída completa, mas não os logs da unidade. Sabe-se que isso ocorre com problemas de logs pouco antes de uma unidade ser desligada. Os logs são enviados para journald e, em seguida, journald emite uma consulta para os metadados. Às vezes, entretanto, o processo existe. No entanto, isso também não parece adequado para o seu caso.A razão pela qual isso acontece é devido aos padrões do tamanho dos arquivos de diário armazenados. Há mais detalhes sobre isso nos documentos . Vale a pena ler a seção inteira à qual vinculei, mas os padrões funcionam assim:
Para visualizar logs da última inicialização, supondo que você tenha
Storage=persistent
no journald.conf, como a outra resposta observa, você pode usar o--boot=-1
sinalizador nosjournalctl
comandos para obter logs apenas da inicialização anterior.No caso do OP em que eles tinham certeza de que o host não havia sido reinicializado, a perda de logs foi causada simplesmente pelos padrões
SystemMaxUse
e / ouSystemKeepFree
.Nota: Eu sou o OP e essa pergunta ainda tem votos positivos subindo, então, como adquiri mais experiência com o journald (e o rtfm), estou postando isso aqui na esperança de ajudar outros.
fonte