一、現象描述
在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:沒有重要級,通常用於排錯