Linux_journalctl内存日志管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sr_1114/article/details/83096398

  程序运行会产生日志,在Linux操作系统中可以使用rsyslog软件对系统日志进行采集和管理,而存放在内存中的日志是用journalctl查看,并且内存日志在电脑关机之后,内存中的日志就会被清除。本篇文章讲的就是对内存日志的查看和采集。

1.内存中日志的查看

使用journalct命令查看内存中的日志,如下:

journalctl查看的是所有的日志,可以使用-n参数定义查看的日志条数,如下查看的是最近的4条日志:

-p参数可以查看某个级别的内存日志,如下查看的是err级别的日志:

--since和--unti可以查看某个时间段的日志,如下图查看09:06:27~09:06:28时间段的日志:

除此之外,如果知道某个进程的PID,就可以查看进程的详细信息。

上图中的sshd服务的PID为1055,可以通过以下命令查看进程的详细信息:

[root@node2 ~]# journalctl -o verbose

在知道进程的一些信息后,就可以通过关键字查看进程产生的日志,如下:

[root@node2 ~]# journalctl _PID=1241 _COMM=sshd

2.内存中日志的采集

内存中的日志在系统关机之后就会消失,以下操作就是将内存日志保存下来。

要保存日志,首先要创建一个保存日志的目录,如下:

[root@node2 ~]# mkdir /var/log/journal
[root@node2 ~]# chgrp systemd-journal /var/log/journal
[root@node2 ~]# chmod g+s /var/log/journal
[root@node2 ~]# kill -1 360

要注意的是,必须保证记录日志的文件的组必须为systemd-journal,其中kill -1是重新加载服务,时间是09:14:27,将系统重启之后,再次查看内存日志:

可以看到9:14:02时的日志,说明内存日志被保存了下来。在journal目录下会生成一个目录,该目录下的文件记录了内存日志,因为该文件记载的是采集的数据,所以不能用cat查看,如下:

猜你喜欢

转载自blog.csdn.net/sr_1114/article/details/83096398