1. journalctl命令简介
journalctl是systemd套件的一个命令,是一个系统日志管理器,它允许我们在Linux系统上检查和查看系统日志消息。它提供了一种简单而灵活的方式来查看和分析系统日志,包括内核、系统服务和应用程序日志。
参考文档:
2. journalctl基本用法
2.1. 查看帮助
1 | journalctl --help |
2.2. 查看所有日志
查看系统的全部日志信息,从最早的日志条目到最新的日志条目。
1 | journalctl |
将日志条目的内容以“cat”的形式(原始文本)显示,而不是默认的格式化展示。
使用原始文本格式可能会使输出看起来不太结构化,但它能够显示更详细的信息,对于某些问题的追踪会更有帮助。
1 | journalctl -o cat |
2.3. 查看最新的日志
直接跳转到最新的日志条目,从日志的末尾开始浏览。
1 | journalctl -e |
实时跟踪日志消息
1 | journalctl -f |
2.4. 翻页
journalctl查看日志时翻页:fn + 上下
2.5. 查看换行日志
单行日志太长时,不方便查看,可以查看换行日志。
1 | journalctl -e | less |
3. journalctl高级用法
3.1. 按程序(单元)过滤
使用 -u 选项,后接单元名称(如服务名称),可以过滤出特定单元产生的日志。
查看特定程序日志
1 | journalctl -xeu kubelet |
逆序查看程序日志
1 | journalctl -xeu kubelet -r |
逆序查看程序日志,并进行二次过滤
1 | journalctl -xeu kubelet -r | grep -v "Search Line limits were exceeded" | head -n 100 |
3.2. 按时间过滤
使用 –since 和 –until 选项,可以限定日志显示的时间范围。
查看特定时间范围内的日志消息
1 | journalctl --since "1 hour ago" |
3.3. 按优先级过滤
使用 -p 选项,后接优先级数字或关键词,可以过滤出指定优先级的日志。
查看所有错误日志
1 | journalctl -p err |
3.4. 按关键词过滤
使用 -t 选项,后接关键词,可以过滤出包含指定关键词的日志条目。
查看包含 “error” 的日志
1 | journalctl -t error |
3.5. 查看引导日志
查看引导日志
1 | journalctl -b |
查看详细引导日志
1 | journalctl -xb |
3.6. 查看内核日志
查看内核日志
1 | journalctl -k |
3.7. 清理日志
清理2天前的日志
1 | journalctl --vacuum-time=2d |
清理超过500M的日志
1 | journalctl --vacuum-size=500M |