一、现象描述
在CentOS7 系统中,查看messages日志文件,可以看到间隔五分钟就会有输出:
[root@k8s-master01 ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) [root@k8s-master01 ~]# uname -r 5.9.6-1.el7.elrepo.x86_64 [root@k8s-master01 ~]# tail -f /var/log/messages ...... Nov 11 08:40:01 k8s-master01 systemd: Created slice User Slice of root. Nov 11 08:40:01 k8s-master01 systemd: Started Session 774 of user root. Nov 11 08:40:01 k8s-master01 systemd: Started Session 775 of user root. Nov 11 08:40:01 k8s-master01 systemd: Removed slice User Slice of root. Nov 11 08:45:01 k8s-master01 systemd: Created slice User Slice of root. Nov 11 08:45:01 k8s-master01 systemd: Started Session 776 of user root. Nov 11 08:45:01 k8s-master01 systemd: Removed slice User Slice of root. Nov 11 08:50:01 k8s-master01 systemd: Created slice User Slice of root. Nov 11 08:50:01 k8s-master01 systemd: Started Session 777 of user root. Nov 11 08:50:01 k8s-master01 systemd: Started Session 778 of user root. Nov 11 08:50:01 k8s-master01 systemd: Removed slice User Slice of root. Nov 11 08:55:01 k8s-master01 systemd: Created slice User Slice of root. Nov 11 08:55:01 k8s-master01 systemd: Started Session 779 of user root. Nov 11 08:55:01 k8s-master01 systemd: Removed slice User Slice of root. Nov 11 09:00:01 k8s-master01 systemd: Created slice User Slice of root. Nov 11 09:00:01 k8s-master01 systemd: Started Session 780 of user root. Nov 11 09:00:01 k8s-master01 systemd: Started Session 781 of user root. Nov 11 09:00:01 k8s-master01 systemd: Removed slice User Slice of root. ......
二、解决方案
根据日志的时间间隔,可以判定是由于 定时任务(cron)所产生的。
[root@k8s-master01 ~]# crontab -l */5 * * * * ntpdate time2.aliyun.com
当系统日志中出现大量的 Session of user root 写入时,可以采用以下三种方法去除。都是通过修改日志等级来实现。
方法一:
运行以下命令,对日志等级配置文件进行自动修改:
echo 'if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting user-" or $msg contains "Starting User Slice of" or $msg contains "Removed session" or $msg contains "Removed slice User Slice of" or $msg contains "Stopping User Slice of") then stop' >/etc/rsyslog.d/ignore-systemd-session-slice.conf
然后,重启rsyslog服务:
systemctl restart rsyslog
方法二:
手动修改配置文件:
将/etc/systemd/system.conf 中 LogLevel=info 设置成如下: #LogLevel=info LogLevel=notice
方法三:
通过系统命令,修改日志配置文件:
systemd-analyze set-log-level notice
三、Linux服务器的日志管理
消息紧急程度排行:
- emerg:该系统不可用
- alert:需要立即修改
- crit:紧急情况
- err:错误信息
- warning:预警信息
- notice:具有重要性的普通条件
- info:提供信息的消息
- debug:不包含函数条件或问题的其他信息
- none:没有重要级,通常用于排错