从RHEL/CentOS7开开始提供了 systemd-journald 服务来收集系统日志。配置文件 /etc/systemd/journald.conf。
该服务收集到的日志通过命令 journalctl 来进行查询。
journalctl 可以直接执行,默认输出所有日志记录,一般不会这么用。
常用选项
—system:显示系统日志
—user:显示当前用户日志
-n [num]:指定显示最后num行日志,不接数字则默认显示最后10行
示例:journalctl -n 20
-S:—since=”2022-1-1” 从什么时间开始显示
-U:—until=”2022-1-31” 到什么时间为止
示例:
journalctl —since “2020-08-31 10:00:00” —until “2020-08-31 11:00:00”
journalctl —since yesterday
journalctl —since “30 min ago”
-b:—boot 显示启动日志
查看本次启动的日志:
journalctl -b
journalctl -b -0
查看上一次启动的日志
journalctl -b -1
需配置文件指定配置 /etc/systemd/journald.conf, 在该[Journal]部分,
将该Storage=选项设置为“persistent”以启用持久记录:
vim /etc/systemd/journald.conf
. . .
[Journal]
Storage=persistent
-k:—dmesg 显示内核日志
-u:—unit=UNIT 显示指定单元的日志
按用户、用户组、进程过滤
journalctl _UID=1001
journalctl _GID=1001
journalctl _PID=7080
-f:—follow:实时跟随并更新日志
-o: 定义日志输出的格式
journalctl -u httpd -o json
journalctl -u httpd -o json-pretty
Journalctl 的存储维护功能
查看日志占用磁盘空间
journalctl —disk-usage
指定日志最大空间
journalctl —vacuum-size=1G
指定日志文件保存多久
journalct —vacuum-time=1years