使用 Systemd 管理日志
内容目录
查看【Linux】专题可浏览更多内容
相关文章:
Journal 是通过 journal 守护进程实现的,它处理由内核、 initrd、服务等产生的所有消息。
查看基本日志信息
# 一些有用的选项:
# -k 仅查看内核信息
# -b 显示当前引导中的日志
# -n 显示指定条数,默认 10
# -f 跟随实时显示
# --utc 以 UTC 格式显示时间戳
journalctl
查询时间范围内日志
# 查看时间范围可以使用 --since 及 --until
journalctl --since "2020-01-01 12:15:00"
journalctl --since "2020-01-01" --until "2020-09-05 03:00"
# 除了具体的时间格式,还可以使用 yesterday、 today、tomorrow 以及 now:
journalctl --since yesterday
# 从早上 9 点到一小时之前
journalctl --since 09:00 --until "1 hour ago"
查询单元日志
# -u 查询指定单元
journalctl -u nginx.service
# 查看 NGINX 服务的实时日志
journalctl -u nginx.service --since "now" -f
查询进程 ID、用户 ID 或群组 ID 的日子
journalctl _PID=8088
journalctl _UID=33 --since today
查看指定优先级的日志
journalctl -p err
- 0: emerg
- 1: alert
- 2: crit
- 3: err
- 4: warning
- 5: notice
- 6: info
- 7: debug
日志设置
# 查看日志所占空间
journalctl --disk-usage
# 限制日志大小
sudo journalctl --vacuum-size=1G
# 日志保留时间
sudo journalctl --vacuum-time=1years
更多关于限制日志扩张的设置,可通过编辑 /etc/systemd/journald.conf
来实现:
SystemMaxUse=
:指定持久化存储中的日志可使用的最大磁盘空间。SystemKeepFree=
:指定在向持久性存储添加日志条目时,日志应留出的空间量。SystemMaxFileSize=
:控制持久性存储中单个日志文件在被旋转之前可以增长到多大。RuntimeMaxUse=
:指定可在易失性存储中使用的最大磁盘空间(在/run文件系统中)。RuntimeKeepFree=
:指定将数据写入易失性存储(在/run文件系统内)时,为其他用途预留的空间数量。RuntimeMaxFileSize=
:指定一个单独的日志文件在被旋转之前在易失性存储(在/run文件系统内)所能占用的空间量。