默认的,RHEL7的系统使用2个日志服务用于系统日志,一个服务是systemd-journald,这个服务把日志存放到内存中。另一个服务是rsyslogd,它可以从systemd-journald获取日志并把日志存放在磁盘上。

要从系统日志查看信息,一个叫journalctl的工具可以使用。如果在该命令后不加任何参数,它将会显示系统日志的全部内容。

journalctl命令的输出可以被选项和过滤器改变。选项可以用于改变命令显示的行数,开启相关的模式,改变显示的区域,指定时间范围等

过滤器可以用于修改需显示的服务和单元信息等,还可以显示更多执行的信息

默认情况下,rhel7存储系统日志的目录是/var/log/journal,系统重启就会清除。通过新建 /var/log/journal 目录,日志会自动记录到这个目录中,并永久存储。

一、常用的journalctl命令:

journalctl -ef


该命令用于跳转到日志的尾部,同时会保持一个屏幕,显示新进入的日志信息



journalctl _SYSTEMD_UNIT=sshd.service


查看由sshd.service系统单元生成的日志



journalctl -u sshd.service


查看仅属于sshd.service单元生成的日志



journalctl -p emerg..err


查看优先级是emerg级别并包含err的日志



journalctl -b -1


用于显示最后一次系统启动的日志。这个日志信息有助于寻找系统crash的原因。收集该日志必须配置永久存储位置。(/var/log/journal)



journalctl --since "2020-03-03 12:00:00" --until "2020-03-04 12:00:00"


查看从2020-03-03 12:00:00到2020-03-04 12:00:00的日志,需要配置永久存储位置。(/var/log/journal)



jourbalctl -o verbose


查看各自由区域名称和各自内容的日志的详细信息



二、创建永久日志存放目录


mkdir /var/log/journal


chown root:systemd-journal /var/log/journal

chmod 2755 /var/log/journal


systemctl restart systemd-journald