journalctl
用于管理日志
介绍
- 配置文件:
/etc/systemd/journald.conf
- 服务:
systemctl status systemd-journald.service
# 查看启动所有日志
$ sudo journalctl
# 查看内核日志
$ sudo journalctl -k
# 查看本次启动的日志
$ sudo journalctl -b
# 查看上一次启动的日志
$ sudo journalctl -b -1
# 查看指定时间的日志
$ sudo journalctl --since="2019-11-16 12:00:00"
$ sudo journalctl --since "10 min ago"
$ sudo journalctl --since yesterday
$ sudo journalctl --since "2019-11-15" --until "2019-11-16 12:00:00"
# 显示最新 10 行的日志
$ sudo journalctl -n
# 显示指定行数的日志
$ sudo journalctl -n 20
# 实时滚动显示最新日志
$ sudo journalctl -f
# 查看指定服务的日志
$ sudo journalctl /usr/lib/systemd/systemd
# 查看指定进程的日志
$ sudo journalctl _PID=1
# 查看某个路径的脚本的日志
$ sudo journalctl /usr/bin/bash
# 查看指定用户的日志
$ sudo journalctl _UID=88 --since today
# 查看某个 Unit 的日志
$ sudo journalctl -u tengine.service
$ sudo journalctl -u tengine.service --since today
# 实时滚动显示某个 Unit 的最新日志
$ sudo journalctl -u tengine.service -f
# 合并显示多个 Unit 的日志
$ journalctl -u tengine.service -u chrony.service --since today
# 查看磁盘使用情况
$ journalctl --disk-usage
# 按日期或容量清理
$ journalctl --vacuum-time=7d
$ journalctl --vacuum-size=500M
# 检查日志文件是否正常
$ journalctl --verify
日志 Suppressed 问题
Nov 16 10:21:14 cn-xiexianbin journal: Suppressed 1422 messages from /system.slice/tengine.service
解决方法:
- 修改
/etc/systemd/journald.conf
[Journal]
RateLimitInterval=30s # default is 30s
RateLimitBurst=5000 # 1000
systemctl restart systemd-journald.service