Ubuntu 解决auth.log为空问题和rsyslogd日志丢失

2014年9月18日 23:15:47 关于rsyslog问题更新下,就不另外开新文章了

在刚装好系统情况下,一般不会出现记录为空或者不能正常记录的问题,但是经常安装更新是Ubuntu特点之一,而且我的强迫症已经越发犀利。

每次登录都提示有可用更新,就忍不住apt-get upgrade。

原本打算在美国的VPS上装GitLab玩下,可是安装的时候提示需要14.04版本(好像是),OK~

系统升级上去后再告诉我需要64位才能安装,英语不好是硬伤,不看文档的祸。

由原来12.10升级到14.04后就出现认证日志没有正常记录的问题,这应该算是比较重要的日志。

So,开始解决问题。

系统一般都自带syslog(syslogd)服务,在搜索了很关键词后大多都提到”rsyslog”,至于如何令系统自带的日志服务重新工作起来的方法还没找到。

既然自带的不能工作,不如装上”rsyslog”耍下,Ubuntu下装软件有多方便就不详细说安装过程了,重点是如何去配置。

配置文件在/etc/rsyslog.conf

配置内容就不上了,保持默认即可,有问题再来改(关键是不知所云)

在最后一处有段

001

又是引用,不过这的确很方便管理类多套配置。

接着进入到他说的目录/etc/rsyslog.d,或许你的会有很多个配置文件,也可能只有一个,这个无关紧要。

003

如图所示,服务器上只有一个配置文件,省得到处乱找。

打开那货50-default.conf

图就不上了,当时我就震惊,格式跟syslog.conf一模一样,好评。

接下来就容易多,把需要记录的日志前的“#”去掉,再把日志路径的“-”去掉。

#cron.*                      -/var/log/cron.log

修改成

cron.*                        /var/log/cron.log

同样,也可以把不需要的日志信息注释掉,默认情况下auth.log记录是开启的,所以我只需要启动或者重启rsyslog。

service rsyslog restart

过一段时间后查看/etc/auth.log,里面包含了很多认证操作信息。

目前我们真实需要的是认证失败的记录,方便拉黑,你懂的~

Ending

作为一名程旭媛,定时监控自动屏蔽某些IP这些操作必须交给程序来做,例如Fail2Ban、DenyHosts,关于这两个怎么用日后再说。


 

日志丢失这个问题目前还没遇到,不过也会引起CPU占用100%。

若出现日志丢失,那么一般会在/var/log/message,反正跑不远,肯定在log文件夹下,耐性找找。

提示信息如下:

rsyslogd-2177: imuxsock begins to drop messages from pid 17131 due to rate-limiting

官方也有解释文档,不过是通过限制一段时间内写入日志数量来解决。 How to use rate limiting in rsyslog?

/etc/rsyslog.conf中增加任意位置增加下面两句

# 60秒内
$SystemLogRateLimitInterval 60

#最多累计插入3000条日志
$SystemLogRateLimitBurst 3000

最后重启rsyslog即可,如果还不行,那我也不清楚了

发表评论

电子邮件地址不会被公开。 必填项已用*标注