Имеется AWS EC2, который внезапно перезагрузился.
Проблема заключается в том, что файл /var/log/messages
неполный, последняя запись в нём – о том, что rsyslog
был убит. Но вот кем и как – непонятно.
Была надежда увидеть логи в journald
, но – сюприз: по умолчанию journald
хранит только записи о последней загрузке:
[simterm]
root@bttrm-stage-console:/home/admin# journalctl --list-boots 0 f527010076a141c5917496c6aa03438a Tue 2019-09-24 12:13:02 EEST—Tue 2019-09-24 17:48:44 EEST
[/simterm]
Собственно, надо включить хранение логов и в journald
при перезагрузках сервера.
Файл настроек – /etc/systemd/journald.conf
.
Для того, что бы логи хранились постоянно – задаём Storage
в auto или persistent.
При auto потребуется создать каталог /var/run/journal
вручную, при persistent – systemd
создаст его сам.
Обновляем конфиг, задаём persistent, перезагружаем systemd-journald
:
[simterm]
root@bttrm-stage-console:/home/admin# systemctl restart systemd-journald
[/simterm]
Проверяем каталог:
[simterm]
root@bttrm-stage-console:/home/admin# ll /var/log/journal/ total 4 drwxr-xr-x 2 root root 4096 Sep 24 17:54 7066493f616c4a6285c19cfaa2884b09 root@bttrm-stage-console:/home/admin# ll /var/log/journal/7066493f616c4a6285c19cfaa2884b09/ total 57348 -rw-r----- 1 root root 58720256 Sep 24 17:54 system.journal
[/simterm]
Ребутаем машинку, проверяем доступные логи ещё раз:
[simterm]
root@bttrm-stage-console:/home/admin# journalctl --list-boots -1 f527010076a141c5917496c6aa03438a Tue 2019-09-24 12:13:02 EEST—Tue 2019-09-24 17:56:19 EEST 0 591136b94276490580f4e39e576e639e Tue 2019-09-24 17:56:20 EEST—Tue 2019-09-24 17:56:41 EEST
[/simterm]
И теперь можно просмотреть предыдущий ребут:
[simterm]
root@bttrm-stage-console:/home/admin# journalctl -b -1 -- Logs begin at Tue 2019-09-24 12:13:02 EEST, end at Tue 2019-09-24 17:57:36 EEST. -- Sep 24 12:13:02 bttrm-stage-console CRON[19407]: pam_unix(cron:session): session closed for user me-v3
[/simterm]
Лимиты размеров задаются через SystemMaxUse
, см. документацию.
Готово.