作用: 收集系统、内核、服务及应用的日志,并以二进制格式存储。
日志存储位置:
默认存储在 /run/log/journal/(内存中,重启丢失)。
如果配置了持久化存储,则在 /var/log/journal/。
工具:通过 journalctl 命令查看和管理日志。
journalctl
journalctl -u [unit]
查看特定服务的日志,
例如:journalctl -u jenkins。
journalctl -b
查看当前启动(boot)以来的日志。
journalctl -k
查看内核日志(类似 dmesg)。
journalctl --since "YYYY-MM-DD HH:MM:SS"
查看指定时间后的日志,例如:journalctl --since "2025-03-17 10:00:00"。
journalctl -f
实时跟踪日志(类似 tail -f)。
journalctl -p [priority]
按优先级过滤(0=emerg,7=debug),例如:journalctl -p 3(仅错误)。
journalctl \_PID=[pid]
查看特定进程的日志。
journalctl | grep [keyword]
搜索包含特定关键词的日志。
journalctl --disk-usage
查看日志占用的磁盘空间。
journalctl --vacuum-size=1G
清理日志,限制总大小为 1GB。
journalctl --vacuum-time=2weeks
清理超过 2 周的日志。
配置文件:/etc/systemd/journald.conf
关键选项:
Storage
volatile:仅存内存。
persistent:存磁盘(需确保 /var/log/journal 存在)。
auto:默认,若目录存在则持久化。
SystemMaxUse=
限制日志占用磁盘空间,例如 SystemMaxUse=500M。
MaxFileSec=
单个日志文件的最大时间跨度,例如 MaxFileSec=1month。`
启用持久化存储: 如果默认是 volatile,可以手动创建目录并重启服务: