Linux之认识与分析登录档(二)

wuchangjian2021-11-04 00:46:29编程学习

温故:

        

知新:

        前面的内容中已经讲到过我们的系统都是systemd所管理的,因此由systemd所启动的服务中,在系统的启动或者结束的过程中发生的问题讯息或者是正常的讯息都会由systemd-journal.service记录下来,不过因为systemd-journal.service的很多观念都是沿用于rsyslog.service,所以今天咱们先来了解rsyslog.service.


一、rsyslog.service简介

        首先先来查看我们的系统中是否已经启动了这个服务,用之前我讲过的命令进行查看。看图中的信息可以了解到两个最重要的点:1)该服务正在运行中(Running) 2)该服务已经设置了开机自启动

在这里插入图片描述
        由上图可以看出rsyslogd负责主机产生各种信息的登录档,但是各种讯息也是有轻重级别之分的,同时还要考虑将这些讯息放到哪里去,因此就需要一个配置文件来进行设置,这个文件一般来说就是/etc/rsyslog.conf,接下来咱们看看这个文件的内容 

在这里插入图片描述

 关于上图中的内容可以按照下面的说法进行理解:

在这里插入图片描述
关于这些讯息的级别主要有7个等级如下,由上到下等级越来越高,越接近于0等级越严重:
        7 debug 调试信息的日志,日志信息最多
        6 info 一般信息的日志,最常用
        5 notice 最具有重要性的普通条件的信息
        4 warning 警告级别
        3 error 错误级别,阻止某个功能或者模块不能正常工作的信息
        2 crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
        1 alert 需要立刻修改的信息
        0 emerg 内核崩溃等严重信息
        none

这里有一点需要了解,

在这里插入图片描述

 然后还有三个概念需要区分,看下面的图:

在这里插入图片描述

 

看一道题,具体了解如何对/etc/rsyslog.conf配置文件进行修改

在这里插入图片描述

         上面说了那么说,接下来进行实操,执行命令【vi /etc/rsyslog.conf】,在其中添加图中最后两行信息,其中第一行是对此次设定的说明,第二行指的是讯息放入的路径

在这里插入图片描述


然后重启该服务之后可以看到这个日志文件已经存在了

在这里插入图片描述

         这里还有一点需要提醒大家,既然登录档负责记录这些信息,那么随着系统的使用必然就会生成越来越多的文件信息,我们不可能允许它无休止的增加下去,因此就有了一个机制,即登录档轮替。这个轮替的工作主要由logratote来负责的,通过对/etc/logrotate.conf进行配置,使得旧的登录档改名为新的名字,同时生成一个原来名字的登录档,就这样一直将讯息存储到新的新的登录档,最后将多个旧的登录档删除。

在这里插入图片描述 

二、systemd-journal.service简介

        既然将这两者分开讲,那就说明这两者肯定有着大不同,先来说一些二者的不同。rsyslog.service要比systemd-journal.service烦琐了一步,因为rsyslogd必须等待开机完成之后才可以使用rsyslogd这个daemon将开机过程中的各种信息记录下来,你应该注意到我说的是开机后rsyslogd才会运行,那么这个时候就需要核心还得自己产生一个klogd服务,将开机过程中的讯息记录下来,等待rsyslogd执行后将各种讯息传给rsyslogd.而现在普遍使用的systemd是由核心唤醒的第一支进程,所以可以直接将讯息传给systemd-journal.service,而不需要在中间经过一次"中间商"哈哈。
然后说一说如何使用Journalctl查看登录信息,下面是使用规则

在这里插入图片描述

 下图是我用各种参数组合查出的结果,还挺有意思的。

在这里插入图片描述

         这里还有一点是需要注意:因为systemd-journal是将讯息存储于内存中使用的,所以一旦重新启动,开机前的登录信息就不会存在了。
今天关于登录档就讲到这里,关于如何分析登录档我这里就不详细讲解了,大家可以自行去了解“logwatch”这套分析工具,拜拜。
 

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。