journal查看日志相关

注:只针对RHEL7系列系统 ~

Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

日志的配置文件是/etc/systemd/journald.conf。平常我们查看启动日志只能查看本次启动的日志,上一次的无法查看就是这里需要修改,下面会简单介绍一下。

journalctl功能强大,用法非常多。

查看所有日志(默认情况下 ,只保存本次启动的日志)

journalctl

查看内核日志(不显示应用日志)

journalctl -k

查看系统本次启动的日志

journalctl -b

journalctl -b -0

查看上一次启动的日志(需更改设置)

journalctl -b -1

这里就需要修改文章开头提到的配置文件了~/etc/systemd/journald.conf

否则你会看到这样的提示信息:

########################分隔符############################

所以我们需要将systemd-journald服务配置为在重新启动后永久保留系统日志,只需要将Storage参数设置为persistent。

Storage参数设置值有:

1、persistent:将日志存储在/var/log/journal目录中,该目录在重新启动后仍然存在。

2、volatile:将日记存储在volatile/run/log/journal目录中,这不会导致系统重启。

3、auto:rsyslog将确定使用持久性存储(persistent)还是易失性存储(volatile),如果存在/var/log/journal目录,则rsyslog使用持久性存储,否则使用易失性存储。

对于永久存储,请将其设置为:

[Journal]

Storage=persistent

提交更改后,重新启动systemd-journald服务以使配置更改生效:

systemctl restart systemd-journald

确认服务已重新启动并正在运行:

$ systemctl status systemd-journald

########################分隔符############################

重启系统,然后再查看:

若要检查上一次引导的日志,请使用-b参数筛选日记。没有任何争论,-b选项仅显示上次引导后的消息。它以负数作为参数,显示以前引导的日志。

journalctl -b -1 -p err

查看指定时间的日志

journalctl --since=“2021-09-16 14:22:02”

journalctl --since “30 min ago”

journalctl --since yesterday

journalctl --since “2021-01-01” --until “2021-09-16 13:40”

journalctl --since 07:30 --until “2 hour ago”

显示尾部的最新10行日志

journalctl -n

显示尾部指定行数的日志

journalctl -n 15

实时滚动显示最新日志

journalctl -f

与tail -f类似

查看指定服务的日志

journalctl /usr/lib/systemd/systemd

比如查看docker服务的日志

systemctl status docker

查看指定进程的日志

journalctl _PID=665

查看某个路径的脚本的日志

journalctl /usr/bin/bash

查看指定用户的日志

journalctl UID=33 --since today

查看某个 Unit 的日志

journalctl -u nginx.service

journalctl -u nginx.service --since today

实时滚动显示某个 Unit 的最新日志

journalctl -u nginx.service -f

合并显示多个 Unit 的日志

$ journalctl -u nginx.service -u php-fpm.service --since today

查看指定优先级(及其以上级别)的日志,共有8级

0: emerg

1: alert

2: crit

3: err

4: warning

5: notice

6: info

7: debug

若要检查上一次引导的日志,请使用-b参数筛选日记。没有任何争论,-b选项仅显示上次引导后的消息。它以负数作为参数,显示以前引导的日志。

journalctl -p err -b warning

日志默认分页输出,–no-pager 改为正常的标准输出

journalctl --no-pager

以 JSON 格式(单行)输出

journalctl -b -u nginx.service -o json

以 JSON 格式(多行)输出,可读性更好

journalctl -b -u nginx.serviceqq -o json-pretty

显示日志占据的硬盘空间

journalctl --disk-usage

指定日志文件占据的最大空间,默认为8M

journalctl --vacuum-size=1G

指定日志文件保存多久

journalctl --vacuum-time=1years

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值