How do view older journalctl logs (after a rotation maybe?)

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?

23
задан 14 October 2016 в 19:27
2 ответа

Причина этого в том, что по умолчанию размер сохраняемых файлов журнала. Подробнее об этом читайте в документации . Стоит прочитать весь раздел, на который я ссылался, но настройки по умолчанию работают следующим образом:

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), я публикую это здесь в надежде, что это поможет другим.

3
ответ дан 28 November 2019 в 20:21

Это может быть из-за того, что вы пытаетесь просмотреть журнал с момента последней загрузки, что кажется вероятным внутри образа докера.

На Ubuntu 16.04, хранилище журнала по умолчанию находится в памяти. Вы можете изменить значение по умолчанию на постоянное, открыв /etc/systemd/journald.conf и изменив строку Storage= с auto на persistent. После редактирования конфигурационного файла может потребоваться перезапуск системного журнала с помощью systemctl перезагрузка systemd-journald.

Я думаю, что журнал должен быть постоянен...default, так что я открыл ошибку об этом.

15
ответ дан 28 November 2019 в 20:21

Теги

Похожие вопросы