journalctl

journalctl是收集系统日志的工具,它收集内核、系统服务的信息。运行的时候需要sudo权限。

查看日志

这种方式按时间顺序输出所有的日志。

不建议使用这种方式,因为我们一般看的都是最近的日志。

image-20190913082452205

按时间倒序输出

journalctl -r

image-20190913082430779

实时输出

journalctl -f

image-20190913082809716

这种方式最常用。

查看所有记录

journalctl --no-pager

使用这种方式会输出所有的记录。所以,一般会在查找时使用这种方式,例如,查找所有登录主机的记录:

journalctl --no-pager | grep "Accepted password"

image-20190913082945475

对于ec2,可以查找Accepted publickey

image-20190913083454900

journalctl的持久化

cat /etc/systemd/journald.conf 

image-20190913084209794

默认所有配置都是被注释的,为了能够持久化,需要将Storage选项开启,将其值设置为persistent.

然后运行:

sudo systemctl restart systemd-journald

这样,日志就会保存到/var/log/journalctl下。

当然最好配置下SystemMaxUseSystemKeepFree

可以使用

sudo journalctl -u systemd-journald

查看默认大小限制。

image-20190913092011277

journalctl --disk-usage

image-20190913092443287