admin管理员组文章数量:1030971
【Linux】journalctl 日志查看工具介绍
基本介绍
journalctl 是一种用于查看、管理 Linux 系统日志的命令行工具,是 systemd 日志记录系统的一部分。journalctl 能够快速加载大量日志文件,并且支持多种过滤和查询方式。
systemd 是 Linux 系统的一个初始化系统,它负责启动和管理各种服务和进程。systemd 会记录系统和应用程序的各种事件,如启动、停止、故障、警告等,这些事件被称为日志。日志可以帮助用户了解系统的运行状况,排查问题,优化性能等。
journalctl 的基本原理如下:
- 采集日志:journalctl 的日志由守护进程 systemd-journald 负责从内核、系统服务以及应用程序中采集
- 存储日志:systemd-journald 采集的日志将会以二进制格式存储在 /var/log/journal 目录下,每个日志条目都带有元数据,如时间戳、优先级、生成日志的服务名称等
- 轮转日志:当日志文件达到一定大小或时间限制时,systemd-journald 会自动保存并关闭当前文件,并创建一个新文件继续写入日志,实现日志轮转
- 检索日志:用户通过执行 journalctl 命令读取上述二进制日志文件,journalctl 引入了 B-trees 索引,可以实现快速检索日志
基本使用
1、查看所有日志
代码语言:javascript代码运行次数:0运行复制journalctl
2、查看实时日志
代码语言:javascript代码运行次数:0运行复制journalctl -f # -f 即 --follow
3、查看指定服务的日志
代码语言:javascript代码运行次数:0运行复制journalctl -u nginx # -u 即 --unit
4、查看指定行数的日志
代码语言:javascript代码运行次数:0运行复制journalctl -n 5000 # -n 即 --lines
5、查看指定启动会话的日志
代码语言:javascript代码运行次数:0运行复制# 查看当前启动会话的日志
journalctl -b # -b 即 --boot
# 查看上次启动会话的日志
journalctl -b -1 # 依此类推,-2 ...
6、查看指定时间的日志
代码语言:javascript代码运行次数:0运行复制# 查看开始于某个时间的日志
journalctl -S "2024-04-14" # -S 即 --since,
journalctl -S "1 hour ago" # 也可以是相对时间
# 查看截止到某个时间的日志
journalctl -U "2025-04-15" # -U 即 --until
journalctl -U "yesterday"
7、查看指定优先级的日志
代码语言:javascript代码运行次数:0运行复制journalctl -p 3 # -p 即 --priority
journalctl -p 2..4 # 查看多个优先级
# 0 或 emerg: 系统不可用(Emergency)
# 1 或 alert: 需要立即采取行动(Alert)
# 2 或 crit: 严重情况(Critical)
# 3 或 err: 错误情况(Error)
# 4 或 warning: 警告情况(Warning)
# 5 或 notice: 正常但重要的情况(Notice)
# 6 或 info: 一般信息(Informational)
# 7 或 debug: 调试信息(Debug)
8、查看内核日志
代码语言:javascript代码运行次数:0运行复制journalctl -k # -k 即 --dmesg
9、禁用分页器(直接将日志内容输出到终端)
代码语言:javascript代码运行次数:0运行复制journalctl --no-pager
10、清理日志
代码语言:javascript代码运行次数:0运行复制# 按时间清理(清理早于指定时间的日志条目)
journalctl --vacuum-time 1s/m/h/d/w/month/year
# 按大小清理(日志文件总大小达到指定值时清理)
journalctl --vacuum-size 100M
11、启用持久化
代码语言:javascript代码运行次数:0运行复制# 检查 journalctl 日志是否启用持久化
ls /var/log/journal # 目录存在则为启用
# 启用 journalctl 日志持久化
mkdir -p /var/log/journal
systemd-tmpfiles --create
systemctl restart systemd-journald
12、指定日志输出格式
代码语言:javascript代码运行次数:0运行复制journalctl -o json-pretty # -o 即 --output
# 可选 short、short-precise、short-iso、short-iso-precise、short-full、short-monotonic、short-unix、verbose、export、json、json-pretty、json-sse、json-seq、cat、with-unit
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-13,如有侵权请联系 cloudcommunity@tencent 删除linux服务工具日志系统【Linux】journalctl 日志查看工具介绍
基本介绍
journalctl 是一种用于查看、管理 Linux 系统日志的命令行工具,是 systemd 日志记录系统的一部分。journalctl 能够快速加载大量日志文件,并且支持多种过滤和查询方式。
systemd 是 Linux 系统的一个初始化系统,它负责启动和管理各种服务和进程。systemd 会记录系统和应用程序的各种事件,如启动、停止、故障、警告等,这些事件被称为日志。日志可以帮助用户了解系统的运行状况,排查问题,优化性能等。
journalctl 的基本原理如下:
- 采集日志:journalctl 的日志由守护进程 systemd-journald 负责从内核、系统服务以及应用程序中采集
- 存储日志:systemd-journald 采集的日志将会以二进制格式存储在 /var/log/journal 目录下,每个日志条目都带有元数据,如时间戳、优先级、生成日志的服务名称等
- 轮转日志:当日志文件达到一定大小或时间限制时,systemd-journald 会自动保存并关闭当前文件,并创建一个新文件继续写入日志,实现日志轮转
- 检索日志:用户通过执行 journalctl 命令读取上述二进制日志文件,journalctl 引入了 B-trees 索引,可以实现快速检索日志
基本使用
1、查看所有日志
代码语言:javascript代码运行次数:0运行复制journalctl
2、查看实时日志
代码语言:javascript代码运行次数:0运行复制journalctl -f # -f 即 --follow
3、查看指定服务的日志
代码语言:javascript代码运行次数:0运行复制journalctl -u nginx # -u 即 --unit
4、查看指定行数的日志
代码语言:javascript代码运行次数:0运行复制journalctl -n 5000 # -n 即 --lines
5、查看指定启动会话的日志
代码语言:javascript代码运行次数:0运行复制# 查看当前启动会话的日志
journalctl -b # -b 即 --boot
# 查看上次启动会话的日志
journalctl -b -1 # 依此类推,-2 ...
6、查看指定时间的日志
代码语言:javascript代码运行次数:0运行复制# 查看开始于某个时间的日志
journalctl -S "2024-04-14" # -S 即 --since,
journalctl -S "1 hour ago" # 也可以是相对时间
# 查看截止到某个时间的日志
journalctl -U "2025-04-15" # -U 即 --until
journalctl -U "yesterday"
7、查看指定优先级的日志
代码语言:javascript代码运行次数:0运行复制journalctl -p 3 # -p 即 --priority
journalctl -p 2..4 # 查看多个优先级
# 0 或 emerg: 系统不可用(Emergency)
# 1 或 alert: 需要立即采取行动(Alert)
# 2 或 crit: 严重情况(Critical)
# 3 或 err: 错误情况(Error)
# 4 或 warning: 警告情况(Warning)
# 5 或 notice: 正常但重要的情况(Notice)
# 6 或 info: 一般信息(Informational)
# 7 或 debug: 调试信息(Debug)
8、查看内核日志
代码语言:javascript代码运行次数:0运行复制journalctl -k # -k 即 --dmesg
9、禁用分页器(直接将日志内容输出到终端)
代码语言:javascript代码运行次数:0运行复制journalctl --no-pager
10、清理日志
代码语言:javascript代码运行次数:0运行复制# 按时间清理(清理早于指定时间的日志条目)
journalctl --vacuum-time 1s/m/h/d/w/month/year
# 按大小清理(日志文件总大小达到指定值时清理)
journalctl --vacuum-size 100M
11、启用持久化
代码语言:javascript代码运行次数:0运行复制# 检查 journalctl 日志是否启用持久化
ls /var/log/journal # 目录存在则为启用
# 启用 journalctl 日志持久化
mkdir -p /var/log/journal
systemd-tmpfiles --create
systemctl restart systemd-journald
12、指定日志输出格式
代码语言:javascript代码运行次数:0运行复制journalctl -o json-pretty # -o 即 --output
# 可选 short、short-precise、short-iso、short-iso-precise、short-full、short-monotonic、short-unix、verbose、export、json、json-pretty、json-sse、json-seq、cat、with-unit
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-13,如有侵权请联系 cloudcommunity@tencent 删除linux服务工具日志系统本文标签: Linuxjournalctl 日志查看工具介绍
版权声明:本文标题:【Linux】journalctl 日志查看工具介绍 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747701260a2205879.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论