用途:管理 systemd-journald 服务,查询、过滤、存储与转发系统日志,并排查日志丢失、磁盘占满等问题。
主要能力:journalctl 支持按启动会话(-b、-b -1、--list-boots)、单元(-u)、优先级(-p err)、时间范围(--since/--until)、PID/UID、内核消息(-k)等过滤;支持 JSON 输出(-o json、json-pretty)、ISO 时间戳、目录解释(-x)、完整性校验(--verify)、导出导入(-o export、--import)。磁盘管理可用 --disk-usage 查看,--vacuum-size/--vacuum-time/--vacuum-files 清理。
使用方式:日志为二进制 .journal 文件,不能直接 grep,需用 journalctl -g 或 -o json | jq。持久化存储位于 /var/log/journal/,易失存储位于 /run/log/journal/。配置在 /etc/systemd/journald.conf 及 conf.d。转发 syslog 需设 ForwardToSyslog=yes。
适用场景:服务排障、启动日志回溯、日志占用治理、远程日志接收。
限制:默认易失存储重启即丢;默认最多占用文件系统 10%,需显式设 SystemMaxUse;默认限流(RateLimitBurst=10000/30s)可能静默丢弃日志;-b -1 依赖持久化存储;目录解释仅对含 MESSAGE_ID 的条目生效。具体配置项与官方文档链接见资料 references/,其余细节暂未提供。