journalctl基本介绍

journalctl基本介绍journalctl基础用法1、查看所有日志(默认显示本次启动的所有日志)[root@localhost~]#journalctl查看本次启动的所有日志也可以使用[root@localhost~]#journalctl-b2、查看内核日志[root@localhost~]#journalctl-k3、查看指定时间的日志通过–since和–until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志[root@localhost~]#jour

大家好,又见面了,我是你们的朋友全栈君。

journalctl基础用法

1、查看所有日志(默认显示本次启动的所有日志)
[root@localhost ~]# journalctl

 
 
  

查看本次启动的所有日志也可以使用

[root@localhost ~]# journalctl -b

 
 
   
2、查看内核日志
[root@localhost ~]# journalctl -k

 
 
  
3、查看指定时间的日志

通过--since--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志

[root@localhost ~]# journalctl --since="2019-11-27 14:21:00"

 
 
  

查询一个时间段范围内的日志

[root@localhost ~]# journalctl --since="2019-11-27 14:21:00" --until="2019-11-27 14:30:00"

 
 
  

使用"yesterday"、"today"、"tomorrow"或"now"显示某时段的日志

[root@localhost ~]# journalctl --since yesterday

 
 
  
4、根据不同的主题进行过滤筛选
[root@localhost ~]# journalctl -u kubelet.service
[root@localhost ~]# journalctl -u kubelet

 
 
  

a、根据进程ID查询
如果进程使用了systemd托管日志,则可以通过以下命令查找进程对应的日志

[root@localhost ~]# journalctl _PID=1

 
 
  

Systemd journal 有很多可以用来过滤的字段,可以通过 man systemd.journal-fields 查看所有可以用来过滤的字段。对于用来筛选的字段,可以使用-F参数来查看所有可以用来过滤的值,例如journalctl -F _PID;
b、按优先级
操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,可以配合-p参数分别查看对应级别的日志

[root@localhost ~]# journalctl -p 5 -u kubelet

 
 
  

7个级别的含义为

  • 0: emerg 紧急情况
  • 1: alert 警告
  • 2: crit 危险
  • 3: err 错误
  • 4: warning 警告
  • 5: notice 注意
  • 6: info 信息
  • 7: debug 调试
5、调整显示输出

默认情况,journal输出进入分页模式,用户可以在终端上调整显示的内容,如果要不需要分页,需要加上--no-pager参数
以Json格式输出
通过-o参数,可以设置为json格式输出,这对于其他接收json格式的日志分析工具非常友好

[root@localhost ~]# journalctl -p 5 --no-pager -o json

 
 
  

使用json-pretty则对于管理员查看日志非常易读

[root@localhost ~]# journalctl -p 5 --no-pager -o json-pretty

 
 
    

支持的各种格式如下:

  • cat: 只显示信息字段本身。
  • export: 适合传输或备份的二进制格式。
  • json: 标准JSON,每行一个条目。
  • json-pretty: JSON格式,适合人类阅读习惯。
  • json-sse: JSON格式,经过打包以兼容server-sent事件。
  • short: 默认syslog类输出格式。
  • short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。
  • short-monotonic: 默认格式,提供普通时间戳。
  • short-precise: 默认格式,提供微秒级精度。
  • verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。
6、活动日志跟踪

journalctl也支持类似tail的功能,如通过-n参数指定显示最近的多少行,默认为10行

[root@localhost ~]# journalctl -n 20

 
 
  

显示cron.service服务的最新三行日志

[root@localhost ~]# journalctl -u cron.service -n 3

 
 
  

tail -f命令类似,journalctl支持-f选项,以便实时显示日志,持续监控日志输出

[root@localhost ~]# journalctl -f

 
 
  

二、journalctl维护

1、查看日志占用的磁盘空间
[root@localhost ~]# journalctl --disk-usage
Archived and active journals take up 6.0M on disk.

 
 
  
2、设置日志占用的空间
[root@localhost ~]# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.

 
 
  

3、设置日志保存的时间

[root@localhost ~]# journalctl --vacuum-time=1month
Vacuuming done, freed 0B of archived journals on disk.

 
 
  

三、journalctl清空删除日志

  • 由于Linux是一个非常敏感的操作系统,若删除文件错误,很容易造成系统崩溃。
  • 所以,清理journalctl日志的方法,请按日期、允许保留的容量进行删除。
[root@localhost ~]# journalctl --vacuum-time=2d
[root@localhost ~]# journalctl --vacuum-size=500M

 
 
  
  • 如果要手动删除日志文件,则需要在删除之前轮转(循环)日志。
[root@localhost ~]# systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service

 
 
  

四、journalctl配置持久性容量

  • 要启用日志限制持久性配置,可以修改journald的配置文件 ▼
[root@localhost ~]# vim/etc/systemd/journald.conf

SystemMaxUse=16M
ForwardToSyslog=no

  • 然后,重启journald ▼
[root@localhost ~]# systemctl restart systemd-journald.service

 
 
  
  • 检查日志是否如常?日志文件是否完好且未损坏? ▼
[root@localhost ~]# journalctl --verify

 
 
  


五、其他日志命令

# tail /var/log/messages            //系统主日志文件
# tail -20 /var/log/messages        //查看20行日志文件
# tail -f /var/log/messages         //动态查看日志文件的尾部
# tail /var/log/secure              //认证、安全
# tail /var/log/maillog             //跟邮件postfix相关
# tail /var/log/cron                //crond、at进程产生的日志
# tail /var/log/dmesg               //和系统启动相关
# tail /var/log/audit/audit.log     //系统审计日志
# tail /var/log/yum.log             //查看yum日志
# tail /var/log/mysqld.log          //查看MySQL日志
# tail /var/log/xferlog             //和访问FTP服务器相关
# w /var/log/wtmp                   //当前登录的用户(命令:w)
# last /var/log/btmp                //最近登录的用户(命令last)
# lastlog /var/log/lastlog          //所有用户的登录情况(命令lastlog)

 
 
  


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142565.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Fastai安装_fastai

    Fastai安装_fastai本文为译文,主要介绍安装问题。Fastaigithub原文地址:https://github.com/fastai/fastai/blob/master/README.md#is-my-system-supported注意事项:fastaiv1目前只支持Linux,并且需要PyTorchv1和Python3.6或更高版本。Windows还处于试验阶段:应该可以很好地工作,但还没有全面的测…

  • 测试sleep()和pthread_cond_timewait()之间的区别

    测试sleep()和pthread_cond_timewait()之间的区别用来测试sleep()和pthread_cond_timewait()之间的区别通过#if0/1来分别测试当从终端输入q时,通过打印来判断是否可以立即返回结束线程,还是要等睡眠时间到了才能结束线程。当条件满足时,pthread_cond_signal()来触发代码#include<stdio.h>#include<stdlib.h>#include<strin…

  • win10命令行强制删除文件_win10cmd强制删除文件夹

    win10命令行强制删除文件_win10cmd强制删除文件夹提醒:以下方法文件永久删除,常规方法无法恢复,慎用,慎用,慎用针对电脑中不知什么软件生成的无用文件,使用修改文件夹属性的可视化方法,试过多次都没有成功,后通过执行命令行删除文件。步骤如下:(1)

  • java 异步调用接口_Java接口异步调用[通俗易懂]

    java 异步调用接口_Java接口异步调用[通俗易懂]java接口调用从调用方式上可以分为3类:同步调用,异步调用,回调;同步调用基本不用说了,它是一种阻塞式的调用,就是A方法中直接调用方法B,从上往下依次执行。今天来说说异步调用。什么是异步调用?我的理解就是在方法A中调用方法B,但是方法B很耗时,如果是同步调用的话会等方法B执行完成后才往下执行,如果异步的话就是我调用了方法B,它给我个返回值证明它已接受调用,但是它并没有完成任务,而我就继续往下执行…

  • 110道Java初级面试题及答案(最新Java初级面试题大汇总)

    110道Java初级面试题及答案(最新Java初级面试题大汇总)史上最全Java初中级面试题,发现网上很多Java初级面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案。如果不背Java面试题的答案,肯定面试会挂!这套Java面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的1、为

  • Discuz 精心整理的搬家教程

    Discuz 精心整理的搬家教程由于种种原因,很多时候站长都需要对网站进行搬家,搬家会经常出现这样或那样的问题,现在对以往的经验做一个总结,希望对各位站长有所帮助。  网站的空间有独立与虚拟之分,下面分别介绍两种空间的搬家方法。  一、独立主机  网站搬家即数据的迁移,搬家前不论独立还是虚拟主机,网站都需关闭。数据的迁移分为数据库数据及程序和附件文件两部分的的迁移。  数据库的迁移:首先停止老服务器上的MySQL。复制MySQL数据存放目录下的数据文件,至于MySQL的数据存放目录,可以查看MySQL配…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号