Linux 日志查看命令journalctl

简介: Journald是Linux系统中新的系统日志方式,它把日志信息写入二进制文件,它终结了文本日志。查看所有系统日志,只用一个命令即可,这个命令就是journalctl。Journald守护进程:systemd-journald,其中systemd日志服务就由此守护程序处理。

Journald是Linux系统中新的系统日志方式,它把日志信息写入二进制文件,它终结了文本日志。查看所有系统日志,只用一个命令即可,这个命令就是journalctl。Journald守护进程:systemd-journald,其中systemd日志服务就由此守护程序处理。

[root@node1 ~]#systemctl status systemd-journald
● systemd-journald.service - Journal Service
   Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled)
   Active: active (running) since Thu 2022-06-23 17:07:59 CST; 6 days ago
     Docs: man:systemd-journald.service(8)
           man:journald.conf(5)
 Main PID: 336 (systemd-journal)
   Status: "Processing requests..."
    Tasks: 1
   Memory: 44.6M
   CGroup: /system.slice/systemd-journald.service
           └─336 /usr/lib/systemd/systemd-journald
Jun 23 17:07:59 node1 systemd-journal[336]: Runtime journal is using 8.0M (max allowed 800.7M, trying to leave 1.1G free of 7.8G available → current limit 800.7M).
Jun 23 17:07:59 node1 systemd-journal[336]: Journal started

检索 systemd 日志,是 CentOS 7 才有的工具。

语法

journalctl [OPTIONS...] [MATCHES...]

选项

Flags:
 --system               # 显示系统日志
 --user                 # 显示当前用户的用户日志
-M --machine=CONTAINER  # 在本地容器上操作
-S --since=DATE         # 显示不早于指定日期的条目
-U --until=DATE         # 显示不晚于指定日期的条目
-c --cursor=CURSOR      # 显示从指定光标开始的条目
  --after-cursor=CURSOR # 在指定光标后显示条目
  --show-cursor         # 在所有条目之后打印光标
-b --boot[=ID]          # 显示当前启动或指定启动
  --list-boots          # 显示有关已记录引导的简洁信息
-k --dmesg              # 显示当前启动的内核消息日志
-u --unit=UNIT          # 显示指定单元的日志
-t --identifier=STRING  # 显示具有指定系统日志标识符的条目
-p --priority=RANGE     # 显示具有指定优先级的条目
-e --pager-end          # 在pager中立即跳转到末尾
-f --follow             # 关注期刊
-n --lines[=INTEGER]    # 要显示的日志条目数
  --no-tail             # 显示所有行,即使在跟随模式下
-r --reverse            # 首先显示最新的条目
-o --output=STRING      # 更改日志输出模式 (short, short-iso,
                                   short-precise, short-monotonic, verbose,
                                   export, json, json-pretty, json-sse, cat)
--utc                   # 以协调世界时 (UTC) 表示的时间
-x --catalog            # 在可用的情况下添加消息说明
   --no-full            # Ellipsize 字段
-a --all                # 显示所有字段,包括长的和不可打印的
-q --quiet              # 不显示特权警告
   --no-pager           # 不要将输出通过管道传输到寻呼机
-m --merge              # 显示所有可用期刊的条目
-D --directory=PATH     # 显示目录中的日志文件
   --file=PATH          # 显示日志文件
   --root=ROOT          # 对根目录下的目录文件进行操作
   --interval=TIME      # 更改 FSS 密封键的时间间隔
   --verify-key=KEY     # 指定FSS验证密钥
   --force              # 使用 --setup-keys 覆盖 FSS 密钥对 
Commands:
-h --help              # 显示此帮助文本
   --version           # 显示包版本
-F --field=FIELD       # 列出指定字段的所有值
   --new-id128         # 生成新的 128 位 ID
   --disk-usage        # 显示所有日志文件的总磁盘使用情况
   --vacuum-size=BYTES # 将磁盘使用量减少到指定大小以下
   --vacuum-time=TIME  # 删除早于指定日期的日志文件
   --flush             # 将所有日志数据从 /run 刷新到 /var
   --header            # 显示期刊头信息
   --list-catalog      # 显示目录中的所有消息 ID
   --dump-catalog      # 在消息目录中显示条目
   --update-catalog    # 更新消息目录数据库
   --setup-keys        # 生成新的 FSS 密钥对
   --verify            # 验证日志文件的一致性

实例

过滤输出

journalctl 可以根据特定字段过滤输出。如果过滤的字段比较多,需要较长时间才能显示出来。

示例:

显示本次启动后的所有日志:

journalctl -b

不过,一般大家更关心的不是本次启动后的日志,而是上次启动时的(例如,刚刚系统崩溃了)。可以使用 -b 参数:

  • journalctl -b -0 显示本次启动的信息
  • journalctl -b -1 显示上次启动的信息
  • journalctl -b -2 显示上上次启动的信息 journalctl -b -2

只显示错误、冲突和重要告警信息

journalctl -p err..alert

也可以使用数字, journalctl -p 3..1。如果使用单个 number/keyword,则 journalctl -p 3 - 还包括所有更高的优先级。

显示从某个日期 ( 或时间 ) 开始的消息:

journalctl --since="2012-10-30 18:17:16"

显示从某个时间 ( 例如 20分钟前 ) 的消息:

journalctl --since "20 min ago"

显示最新信息

journalctl -f

显示特定程序的所有消息:

journalctl /usr/lib/systemd/systemd

显示特定进程的所有消息:

journalctl _PID=1

显示指定单元的所有消息:

journalctl -u man-db.service

显示内核环缓存消息r:

journalctl -k

手动清理日志

/var/log/journal 存放着日志, rm 应该能工作. 或者使用 journalctl,

例如:

清理日志使总大小小于 100M:

journalctl --vacuum-size=100M

清理最早两周前的日志.

journalctl --vacuum-time=2weeks
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
22天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
131 6
|
23天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
64 3
|
23天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
59 2
|
18天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
54 3
|
23天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
63 3
|
5月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
5月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
5月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
7月前
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
551 0
|
7月前
|
Kubernetes Linux Shell
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
161 0

热门文章

最新文章