使用 journalctl 查看日志
admin
2024-03-24 15:53:40
0

journalctl 是一个日志分析工具,从 RHEL 7.0 开始,它就一直陪伴在系统管理员身边。journalctl 内置了日志旋转功能(logrotate),具备丰富的过滤能力,可以查看所有systemd 服务单元的日志,使得运维工作变得更加轻松,非常方便。

欢迎关注微信公众号【厦门微思网络】。http://www.xmws.cn 

journald

journald 是 systemd 的系统日志守护进程。

systemd 旨在集中管理来自进程,应用程序的日志;所有此类事件都由 journald 守护进程处理,它从整个系统收集日志并将日志保存在二进制文件中。

为什么使用二进制保存日志

以二进制格式集中记录时间有很多优点。

比如,可以根据需要转换为其他格式,例如纯文本或 JSON 格式。使用日期或时间过滤器跟踪日志事件也很容易。

此外,随着时间的推移,系统不断收集日志,日志文件的大小可能会达到 GB 级别,因此,对纯文本的日志进行分区可能会消耗大量内存并且出现延迟,在这种情况下,使用 journalctl 则可以通过过滤参数来加快查找过程。

journald 配置文件

配置文件路径:/etc/systemd/journald.conf

日志保存路径:/run/log/journal

通常来说,除非你明确的知道自己在修改什么功能,否则不建议修改这个文件,默认情况下,它工作得很好。

配置日志持久化

默认情况下,journald 会在每次重启时覆盖其日志。

如果需要配置永久保存日志,则需要单独设置。因为通常在系统上还有一个日志管理软件:rsyslog。

rsyslog 通过加载 journal 驱动来获取日志,并将日志保存到硬盘上(/var/log/messages)

所以默认情况下 journald 就不保存日志。

要让 journald 保存日志,需要将 /etc/systemd/journald.conf 中的 Storage=auto

修改为 Storage=persistent 然后重启 systemd-journald 服务

[root@localhost ~]# sed -i 's/Storage=auto/Storage=persistent/g' /etc/systemd/journald.conf
[root@localhost ~]# systemctl restart systemd-journald

当日志被永久保存后,可以使用以下命令来查看每一次系统启动的日志

[root@server ~]# journalctl --list-boots
0 030a3706f31147bcabdd7090d22ff297 Mon 2022-11-07 03:05:01 CST—Mon 2022-11-07 12:01:01 CST

该命令输出的第一列的数字表示可以查看的日志会话编号;第二列一长串的ID可用于查看单独的日志;第3、4列是写入日志的时间段。

配置日志大小限制

如果将 journald 配置为持久化保存,则默认情况下,日志大小限制为该文件分区的10%,最多可占用4GB磁盘空间。

可以通过修改参数 SystemMaxUse 参数来调整

清理日志/日志旋转

仅留下最近的 100MB 日志

journalctl --vacuum-size=100M

仅保留最近7天的日志

journalctl --vacuum-size=7d

基础命令

列出启动后所有日志

[root@localhost ~]# journalctl

执行该命令后,将列出从系统启动那一刻到现在的所有日志条目,包括错误和警告。

较旧的日志位于顶部,新的日志位于底部。

使用 PageUp 和 PageDown 进行移动, Enter 可以逐行滚动日志,按 q 退出

按日志级别显示日志

系统会记录不同日志级别的事件,有些事件是可以忽略的,有些则会影响系统,需要关注。

如果系统管理员只想查看错误日志而忽略其他日志,可以执行

[root@localhost ~]# journalctl -p emerg

系统中所有日志级别如下,严重程度从高到低

当用户指定日志级别代码时,将显示该级别以上的所有消息。

比如用户执行 journalctl -p 2 那么将会显示 0、1、2 级别的所有日志。

查看特定时间段的日志

支持诸如 "yesterday" "today" "now" 等关键字

使用 --since 选项,并指定特定日期,如:

journalctl --since "2022-11-07 12:00:00"

要指定某个时间段可以

journalctl --since "2022-11-06 12:00:00" --until "2022-11-07 12:00:00"

要查看昨天到现在的日志

journalctl --since yesterday

从今天上午9点开始,到1小时前的日志

journalctl --since 09:00 --until "1 hour ago"

查看内核日志

等同于 demsg 命令

journalctl -k

查看特定 systemd 服务的日志

使用 systemctl list-units --type=service 例出服务名

然后查看,比如查看 NetworkManager.service 的日志

journalctl -u NetworkManager.service

通过可执行文件查看应用日志

通过指定可执行文件来查看应用程序日志

[root@localhost ~]# journalctl /usr/sbin/httpd
-- Logs begin at Mon 2022-11-07 03:05:01 CST, end at Mon 2022-11-07 13:01:01 CST. --
Nov 07 04:58:28 server httpd[11771]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name,[root@server ~]#

通过进程 PID 查看日志

journalctl _PID=1

相关内容

热门资讯

安卓系统所有手机通用,揭秘所有... 你有没有发现,现在市面上各种各样的手机,品牌琳琅满目,让人挑花了眼?不过,不管你用的是哪个品牌的手机...
安卓系统变ios系统好用吗,体... 你有没有想过,为什么有些人从安卓手机换到了苹果的iPhone,而且好像换了之后整个人都精神焕发呢?没...
华为安卓系统文件删除,轻松掌握... 你有没有遇到过这种情况?手机里的文件突然不见了,尤其是华为安卓系统里的那些重要文件,真是让人心头一紧...
安卓1.5系统软件,初代智能革... 你有没有想过,手机里的那些看似普通的系统,其实背后藏着无数的故事呢?今天,就让我带你走进安卓1.5系...
安卓 代替系统音效设置,打造个... 你有没有发现,手机里的那些系统音效有时候真的让人有点烦躁呢?比如那个每次接电话时“叮咚”一声,或者是...
安卓系统整体性,构建移动设备的... 你知道吗?在智能手机的世界里,安卓系统就像是个全能的魔术师,它不仅拥有丰富的魔法,还能让各种神奇的魔...
安卓系统能玩鬼泣么?,畅享动作... 你有没有想过,在安卓系统上玩《鬼泣》这款游戏会是怎样的体验呢?没错,就是那个让你热血沸腾、挑战极限的...
安卓系统手机编曲软件,音乐创作... 你有没有想过,用手机也能轻松编曲?没错,就是那个你每天不离手的安卓系统手机!现在,我就要给你揭秘几款...
车载导航显示安卓系统,车载导航... 你有没有发现,现在的车载导航系统越来越智能了?尤其是那些搭载了安卓系统的车载导航,简直就像是个贴心的...
安卓系统启动黑屏,安卓系统启动... 手机屏幕突然黑了,这可怎么办?别急,今天就来和你聊聊安卓系统启动黑屏这个让人头疼的问题。你知道吗,这...
怎么解除订阅安卓系统,安卓系统... 你是不是也和我一样,手机里订阅了好多服务,结果现在想解除订阅,却一头雾水?别急,今天就来手把手教你如...
安卓系统停用怎么开启,轻松恢复... 亲爱的手机控们,你是否曾经遇到过安卓系统突然停用的情况,让你手忙脚乱,不知所措?别担心,今天就来教你...
安卓系统电池健康度,电池健康度... 你有没有发现,你的安卓手机最近是不是有点儿不给力了?电池续航能力大不如前,充电速度也慢了不少?别急,...
安卓系统按键怎么截图,安卓系统... 你是不是也和我一样,有时候想截个图分享给朋友,却发现安卓手机的截图功能有点神秘呢?别急,今天就来手把...
购票系统安卓源代码,架构设计与... 你有没有想过,那些我们每天离不开的购票系统,它们背后的秘密是什么呢?今天,就让我带你一探究竟,揭开购...
安卓手机系统后台测试,深度解析... 你有没有发现,你的安卓手机后台总是悄悄地忙碌着?别小看了这些后台程序,它们可是手机系统稳定运行的关键...
安卓系统重启的图标,解锁设备新... 手机突然重启,是不是心里有点慌?别急,今天就来和你聊聊安卓系统重启的图标,让你一眼就能认出它,再也不...
车载智慧屏安卓系统,智能出行新... 你有没有发现,现在的车载智慧屏越来越智能了?尤其是那些搭载了安卓系统的,简直就像是个移动的小电脑,不...
安卓系统连上网权限,解锁设备无... 你有没有发现,你的安卓手机里有些应用总是偷偷连上网?别小看这个小小的网络权限,它可是能影响你隐私、消...
安卓谷歌操作系统,探索安卓谷歌... 你知道吗?在智能手机的世界里,有一个操作系统可是无人不知、无人不晓,那就是安卓谷歌操作系统。它就像一...