上午10:00到客户现场(机房),由于没有准备好显示器及键盘,等待大约半小时后开始连接服务器;
首先映入眼帘的是满屏的
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
audit:backlog limit exceeded
...
而且还在不断刷新,Ctrl+C也无法终止此信息刷新,enter后有5秒左右的时间没有刷新,在网上找资料无果后求助同事,同事给出命令:auditctl -e 0
,静默输出;至此整个世界清静了。
然后开始查看日志的漫长道路:message,dmesg,audit.log,secure一路看下来也没有发现我想象中的报错,没有发现有用的信息(可能是道行太浅,没发现某些额可疑信息);
查看22端口在监听,在别的机器上ping此机器没有问题,ssh登录超时。
然后systemctl status sshd查看服务状态
]# systemctl status sshd
Failed to get properties:Connect timed out
新的发现!!!(但是当时没有意识到这个错误信息有多有用);
紧接着想测试一下本机自登录有没有问题,然后超时,不小心登出了系统...
登出后无法显示登录提示符,登录不了了,大写的尴尬。只能选择硬重启。
系统重启后,查看sshd服务正常,systemctl命令也不报错,从其他主机ssh连接也没问题了。然后拉起了此从节点的服务,并systemctl确认服务正常。通知客户,等客户确认服务可用后离场!
**总结:systemctl报错显然是系统有问题了,进程无法通过系统总线与systemd通信,造成ssh连接超时,audit日志输出超过默认缓存大小(320),是因为进程联系不上systemd出现大量报错日志导致,判断主要问题在systemd被误杀,而不是audit。
audit的问题也可以优化:
修改配置文件
]# vi /etc/audit/audit.rules
-d 8192
次参数默认值为320
中间查看了好多资料都是重启后就没问题了,我这次也是,但是造成这个现象的原因,因为中间的错误登出导致排查没有完成,但是怀疑是systemd进程的意外终止导致的。
记录;;