操纵ubuntu中syslog记录外部设备日记[Linux安全]
本文“操纵ubuntu中syslog记录外部设备日记[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
要求:
操纵 ubuntu 8.04 服务器版的 syslog 记录 juniper isg1000 日记,保存3个月.
1、答应 syslog 记录外部日记
改正 /etc/default/syslogd,把此中的 SYSLOGD="" 改成 SYSLOGD="-r"
2、定义外部日记范例
改正 juniper isg1000 日记定义,让其生成的日记定义为 local7,并向 ubuntu 服务器发送日记.
3、定义日记文件
考虑到日记文件对比多,在 /var/log 下新建 firewall 目录,用于保存日记文件.目录属性 755.
改正 /etc/syslog.conf,在此中增添下面一行:
local7.*
-/var/log/firewall/firewall.log
经过测试记录不成问题,但发现有下面几个严重问题.
4、反复记录问题
syslog 不光在 firewall.log 中记录,还在 /var/log 中的 syslog 和 messages 记录,由于日记很大,这下麻烦了.看看 syslog.conf 的 man,竟然还有个 ! 功效,在 syslog.conf 文件中的 syslog 和 messages 定义前面加上了 !local7.*,感受不错,syslog 不再向 syslog 和 messages 文件中记录设备日记了.
5、文件超大问题
syslog 记录的日记文件最大不超越2.5G,假如超越了,将终止记录.而 isg1000 4个小时左右的日记就到达这个数目了.必须设置日记轮转.在 /etc/logrotate.d 中新建 firewall 日记轮转掌握文件,属性644,firewall 内如以下:
/var/log/firewall/firewall.log {
start 1000
rotate 512
maxage 100
size 1500M
compress
delaycompress
missingok
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
以上内容简单注释:
由于日记文件需求保存3个月,且平均每天生成5个日记文件,设置最多保存512个,保存时间100天.
文件后缀编号从1000开始,比从1开始在排序上要好看.
文件超越1500M的时刻轮转.
为了削减存储空间占用,轮转后的日记文件需求紧缩,但不是轮转后即刻紧缩,而是轮转下一个的时刻,再紧缩,以防 syslog 持续写入当前文件时刻丧失数据.
经过以上设置,感受可以,谁知道利用几天,发现还有问题.
6、再次办理文件超大问题
firewall.log 文件仍然是2G多,没有按照设定到达1500M的时刻轮转,毕竟为什么?细心看 man logrotate ,呵呵,本来如此,logrotate 每天运行一次,等它运行的时刻,firewall.log 早就到达2G了.怎么办,让它每小时运行一次试试看,把 /etc/cron.daily/logtotate 文件拷贝到 /etc/cron.hourly 中一份.效果不错,看来问题办理了.
7、办理日记文件不到1500M就轮转、且日记文件名没有按定义法则生成问题
经过若干天运行,发现个小小问题.若干文件不到设置的1500M就轮转了,并且文件名没有按定义方法生成,而是原始的 firewall.log.0 方法,但是它们都有共性,都是早上 6:47 生成的.让我想想,必定是 cron 中 sysklogd 脚本搞的鬼.进入 /etc 中的各个 cron 子目录中,把下面这句大概近似的
logs=$(syslogd-listfiles)
加上 -s firewall.log 参数,改成
logs=$(syslogd-listfiles -s firewall.log)
让日记服务不再处理 firewall.log 日记.
8、办理别的问题
暂时没有.
以上是“操纵ubuntu中syslog记录外部设备日记[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |