关于 Linux 系统中 Message 中的 Session 日志详解
上面截图的这块日志,是 CentOS7 系统,messages 中的一段日志,很多人在排查问题的时候,看到 messages 里面大量的这种类型的日志,都是一脸懵逼,搜索引擎一搜,也没有上面结果,大多说这是正常的日志,不用担心,如果需要关闭,redhat 官网有提示如何关闭
还有一些说这是有用户登录系统,当然,redhat 在其官网 solutions 关于这个问题的回答中,也表明,这些消息是正常的,是用户每次登录都可以看到的消息,要禁止这些日志显示在 messages 中,可以使用 rsyslog 中的过滤器进行丢弃
上面的说法,不能说错,但不全面,所以,整理了这篇文章
这部分日志,记录了大概以下几个信息
为用户创建 slice
启动用户会话
启动了用户会话
删除用户会话
删除用户 slice
停止用户 slice
总体就是这几个部分,但是这几个部分不一定会每次都按照这个顺序出现,后面慢慢来讲,接着往下看
首先来说这个 slice,我们都知道,CentOS7 上,是用 systemd 进行资源管理的,而 slice 是 systemd 下面的控制组单元
我们从上面的图可以看到,首先就是为用户创建了一个 slice 文件,这个以".slice"为后缀的单元文件,是用于封装管理一组进程资源占用的控制组的 slice 单元
这类单元,是通过在 cgroup 树中创建一个节点实现资源控制的,对 slice 单元施加的资源限制,将会作用于这个 slice 单元所包含的全部进程的集合,全部的 slice 单元按照树形层次结构组成一棵资源控制树,干巴巴的文字,你可能不太好理解,上图看
这个就是系统中的 slice
我们这里关心的是用户的 slice,所以我们看用户的 slice,通常用户的 slice,中间那个数值是用户的 uid,我这个虚拟机只有 root 用户,看下 root 用户的 slice
看一下,是不是对于一个用户资源进行了控制,以组管理,以 CGroup 树型层次结构
这里顺便说下,为什么上面说,日志中这几个部分不一定会同时出现,通常一个用户第一次创建了 slice,没有删除之前,后面这个用户再开启会话的时候,不会再创建 slice,只会开启会话,所以日志只有开启会话和,开启了会话
root 用户第一次登录的时候,创建了 slice
下面是后面用户登录的时候,messages 记录的日志,启动会话
用户退出的时候,就会删除用户会话
如果想看 slice 文件的话,可以在/sys/fs/cgroup 下面,对应各个资源组下面,看相应的 slice 的资源限制
接着往下看,什么时候会删除 slice,我们先创建个用户,我这里用 nginx 用户,设置允许远程登录,接着登录,看下 messages 日志
看下这个 slice
接着,退出 nginx 登录,可以看到,nginx 的 slice 被删除了
通过上面这部分,最起码应该了解了这部分日志的意思了,接着继续
上面说的都是用户登录的时候,产生的这些日志,为什么我在文章开头,说这个说法不全面呢,上面 nginx 退出的截图中,我故意截取了中间有一个 root 用户的 Started Session 的日志信息
这个时候,我是没有操作 root 用户登录的,这个是虚拟机,也不可能有其他人登录的,所以那这是怎么产生的?
我们还是看一下 root 用户的 slice,session 8 是我刚登录的,执行了查看 slice 命令的,session 5 是我通过另外一个终端窗口查看 messages 日志的,而 session 1,并不是我执行的,可以通过 pid 查看该进程,但是我查看的时候,这个进程已经结束了
不过没关系,我通过 root 用户的 Started Session 产生时间分析,应该是定时任务产生的
看规律是每小时执行的,所以查看 cron 的 hourly 下面,确实有该定时任务
所以,当你为用户配置了定时任务时,用户执行定时任务时,也会启动会话,产生这类日志
目前没有查到任何资料总结说哪些调用会启动该日志,但有资料说该日志是由 systemd 的 session_start_scope()打印的,能力有限,就没有办法分析了
所以,这部分日志代表用户登录系统不准确,要表示定时任务也不准确,所以可以忽略这部分日志
另外,检查系统日志,确认是否由用户登录系统,还是需要通过 btmp、wtmp 和 secure 日志进行确认
last 命令可以查看 wtmp 的信息,lastb 可以查看 btmp 的信息,而 secure 日志则记录了更详细的用户登录认证过程
版权声明: 本文为 InfoQ 作者【运维研习社】的原创文章。
原文链接:【http://xie.infoq.cn/article/1ee60dc9a713d7de36b5d6675】。文章转载请联系作者。
评论