一,路由器配置

登陆路由器(h3c ER2100) “系统监控”“系统日志”“日志管理” 勾选“发送到日志服务器” 并填写日志服务器ip

二,linux日志服务器(centos5.4)
1,
修改/etc/sysconfig/syslog 中的 SYSLOGD_OPTIONS="-m 0"
为 SYSLOGD_OPTIONS="-r -x -m 0"

重新启动syslog服务

2,生成日志脚本:nt_log.sh

#/usr/bin
d=`date +%Y-%m-%d`
#系统年月日
adr="10.0.0.2"
#网络设备地址,这里为H3C ER2100
cat /var/log/messages |grep $adr|grep $d >tmp.txt
#输出messages中包含adr的ip地址,日期为当前日期的信息到临时文件
iconv -f GB2312 -t utf-8 tmp.txt>/var/log/h3c/ER2100_$d.log
#对临时文件进行编码转换,并加上当前日期生成日志
rm -rf  tmp.txt

3,脚本执行

3.1

[root@CentOS_SRV ~]#echo "/root/shell/nt_log.sh" >>/root/.bash_profile
#用户每次登陆linux系统,都将生成最新的日志

3.2计划任务

crontab -e 增加  59 23 * * * /root/shell/nt_log.sh

#每天凌晨将自动对当天日志进行归档

总结: 网上提供 通过修改/etc/syslog.conf的方法,我测试了没有成功过,网上有其他人遇到和我一样的情况就是messages中包含了很多其他的信息,是通过安装syslog-ng的方法解决的,这个软件需要源码安装。
    messages比较大或者设备多(messages默认是一周轮询一次日志,保留四周),每次登陆系统可能要停顿一下。可以通过修

改/etc/logrotate.conf 将其中的weekly 改为daily;
# rotate log files weekly
daily
# keep 7 days worth of backlogs
rotate 7

这个样这个messages 就会每天产生一个文件了;或者是每次登陆成功后手动执行脚本。

      当要记录的设备比较多时,可以添加设备ip到一个文本文件中,然后读取文件内的ip循环执行脚本,一个ip地址产生一个文件。

副效果图:

H3C路由器linux日志服务器配置_第1张图片