Linux 这个日志分析神器,好用到上瘾!
在传统的Linux系统中,日志分散在/var/log目录下的各个文件中(如messages、secure等),查找问题时经常需要在多个文件之间切换。而systemd的journald服务将所有日志集中管理,通过journalctl命令可以统一查看、过滤和分析日志,让日志管理变得简单高效。
一、基础查看命令
|
|
|
journalctl |
|
journalctl -n 10 |
|
journalctl -f |
|
journalctl -b |
|
journalctl -b -1 |
|
二、按条件筛选日志
2.1 按时间筛选
|
|
|
journalctl --since "1 hour ago" |
|
journalctl --since "2024-01-01 00:00:00" --until "2024-01-01 23:59:59" |
|
journalctl --since yesterday |
|
journalctl --since today |
|
2.2 按服务筛选
|
|
|
journalctl -u nginx |
|
journalctl -u sshd |
|
journalctl -u docker |
|
journalctl -u sshd -u nginx |
查看多个服务(如 sshd 和 nginx)的日志
|
2.3 按优先级筛选
|
|
|
journalctl -p err |
|
journalctl -p warning..err |
|
2.4 按进程或用户筛选
|
|
|
journalctl _PID=1234 |
|
journalctl _UID=1000 |
|
三、实用组合技巧
|
|
|
journalctl -u nginx -p err -n 20 |
|
journalctl -u nginx -f |
|
journalctl -u nginx -b |
|
journalctl -u nginx -o json-pretty |
|
四、日志维护管理
|
|
|
journalctl --disk-usage |
|
journalctl --vacuum-size=100M |
|
journalctl --vacuum-time=2weeks |
|
journalctl --vacuum-files=5 |
|
五、日志配置管理
|
|
|
SystemMaxUse=500M |
|
SystemMaxFileSize=50M |
|
MaxRetentionSec=1month |
|
六、高级技巧
|
|
|
journalctl -u nginx > nginx.log |
|
journalctl -o export > nginx.journal |
|
journalctl -o verbose -n 1 |
|
journalctl -r |
|
小结
journalctl是Linux系统管理中不可或缺的工具,掌握它可以让你:
-
快速定位服务故障
-
高效分析日志信息
-
合理管理日志空间
希望这篇文章能帮助大家更好地使用journalctl。如果你有更多实用技巧,欢迎在评论区分享~
点亮,服务器三年不宕机