码迷,mamicode.com
首页 > 其他好文 > 详细

logrotate机制及与监控结合测试

时间:2015-09-02 02:16:55      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:监控   检测   切割   日志   

   目的:测试监控在日志做切割时是否正常取到数据,并且无数据丢失或重复。

理论上:logrotate是通过mv进行日志的切换,而监控则是通过检查文件的最近修改时间来判断是否读取文件内容,所以从理论上来说是不会丢失数据的,但还需要进行检测下

    初期思路:模拟日志的产生,不停的写数据到一文件中,让监控端监控这一文件,然后模拟logrotate机制,对文件进行切割,最后检查监控端取到的数据是的和本地的一样,完成测试。

    写入的脚本如下:

[root@redhat logtest]# cat w.sh 
#!/bin/bash
echo start >  /logtest/testlog
for j in {1..600}
do
for i in {1..1000}
do
echo $j time $i >> /logtest/testlog
done
done

切换的脚本如下:

[root@redhat logtest]# cat c.sh 
#!/bin/bash
mv /logtest/testlog /logtest/testlog.1

本地的测试结果:

[root@redhat logtest]# tail testlog.1 
110 time 148
110 time 149
110 time 150
110 time 151
110 time 152
110 time 153
110 time 154
110 time 155
110 time 156
110 time 157
[root@redhat logtest]# head testlog
110 time 158
110 time 159
110 time 160
110 time 161
110 time 162
110 time 163
110 time 164
110 time 165
110 time 166
110 time 167

可以看到本地是没有丢失数据的,而监控端监控本地的testlog*文件;由于监控端的问题,没有取到本地的数据,该检测方案终止

   后来想到,本地安装了syslog服务器,而本地的/var/log/message*是很早就被监控端监控着的,于是想到第二套方案:

   手动进行日志切换,检查监控端是否有数据的丢失或者重复:

logrotate在很多Linux发行版上都是默认安装的。系统会定时运行logrotate,一般是每天一次。系统是这么实现按天执行的。crontab会每天定时执行 /etc/cron.daily 目录下的脚本,而这个目录下有个文件叫logrotate 。在测试服务器上脚本内容是这样的:

[root@bppmis /]# cd /etc/cron.daily/
[root@bppmis cron.daily]# ls
cups  logrotate  makewhatis.cron  mlocate.cron  prelink  readahead.cron  rhsmd  tmpwatch
[root@bppmis cron.daily]# cat logrotate 
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
[root@bppmis cron.daily]#

  可以看到logrotate被crontab调用,每天运行一次,

由于测试的日志服务器一直没有安装crontab,所以所有接受到的日志都存放在/var/log/message中,手动切割日志:

/usr/sbin/logrotate  -vf  /etc/logrotate.conf >/dev/null 2>&1

最后对比本地文件内容和监控端取到的内容进行对比,发现没有数据丢失及重复;测试通过。


   该测试不足之处,望大家指点。

logrotate机制及与监控结合测试

标签:监控   检测   切割   日志   

原文地址:http://qiushi.blog.51cto.com/6450559/1690574

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!