I am running docker on ubuntu 16.04 and would like to view the logs. However, I am unable to view logs after what I am guessing is some sort of rotation or the logs grow to a certain size.
I have not made any changes to my journald.conf, so I am using defaults there.
Examples of what I am seeing:
systemctl docker status
confirms service has been active since Thu 2016-10-13 18:56:28 UTC
.
However, when I run something like journalctl -u docker.service --until "2016-10-13 22:00"
- the only output I get is -- Logs begin at Fri 2016-10-14 01:18:49 UTC, end at Fri 2016-10-14 16:18:25 UTC. --
I can view the logs in that range as expected.
My question is why can I not view older logs with journalctl, and how can I fix this issue so I can view the logs?
Причина этого в том, что по умолчанию размер сохраняемых файлов журнала. Подробнее об этом читайте в документации . Стоит прочитать весь раздел, на который я ссылался, но настройки по умолчанию работают следующим образом:
journald will use 10% of the disk or 4G, whichever is smaller.
journald will leave free 15% of the disk or 4G, whichever is larger.
Для просмотра журналов с последней загрузки, если у вас есть Storage = persistent
в вашем journald.conf, как и другие примечания к ответам, вы можете использовать флаг - boot = -1
в командах journalctl
, чтобы получить журналы только из предыдущей загрузки.
В случае OP, где они были убедитесь, что хост не был перезагружен, потеря журналов была просто вызвана настройками по умолчанию SystemMaxUse
и / или SystemKeepFree
.
Примечание: я ОП, и этот вопрос все еще набирает обороты, поэтому, поскольку у меня больше опыта работы с journald (и rtfm), я публикую это здесь в надежде, что это поможет другим.
Это может быть из-за того, что вы пытаетесь просмотреть журнал с момента последней загрузки, что кажется вероятным внутри образа докера.
На Ubuntu 16.04, хранилище журнала по умолчанию находится в памяти. Вы можете изменить значение по умолчанию на постоянное, открыв /etc/systemd/journald.conf
и изменив строку Storage=
с auto
на persistent
. После редактирования конфигурационного файла может потребоваться перезапуск системного журнала с помощью systemctl перезагрузка systemd-journald
.
Я думаю, что журнал должен быть постоянен...default, так что я открыл ошибку об этом.