当前位置:文档之家› 网关访问监控配置方法

网关访问监控配置方法

网关访问监控配置方法
QQ: 602438628
6/29/2011
原理
1.通过iptables的LOG功能打印日志
2.通过syslog记录iptables日志
3.通过logrotate以及contab进行日志回滚以及日志处理
方案所需文件请看附件。

部署步骤:
1)请更新sysklogd至最新版本。

# yum install sysklogd
2)把附件的脚本存放于下面位置
/usr/local/bin/gen_forward_report.sh
/usr/local/bin/ip_log_fm.py
/usr/local/bin/rotate_gateway_forward_log
/etc/logrotate.d/kern.debug
确认文件权限正确
# chmod 755 /usr/local/bin/gen_forward_report.sh
# chmod 755 /usr/local/bin/ip_log_fm.py
# chmod 755 /usr/local/bin/rotate_gateway_forward_log
# chmod 644 /etc/logrotate.d/kern.debug
3)编辑/etc/syslog.conf
追加内容如下
# use for forward audit
kern.debug /var/log/kern.debug
初始化kern.debug文件
# touch /var/log/kern.debug
4)编辑计划任务
# crontab -e
追加内容如下
58 * * * * /usr/local/bin/gen_forward_report.sh
2 0 * * * /usr/local/bin/rotate_gateway_forward_log
5)重启syslog使配置生效
# service syslog restart
6)插入iptables规则并保存
# iptables -I FORWARD -p tcp -m state --state NEW -j LOG --log-level DEBUG
# iptables -I FORWARD -p udp -m state --state NEW -j LOG --log-level DEBUG
# service iptables save
配置完毕,请观察/var/log/ 下文件,查看配置是否生效。

关键点:
1)确保syslog 及iptable为启动状态,可以通过以下命令分别启动syslog及iptable.
service syslog start service iptables start 启动该项服务。

2) iptables中的规则,确保有以下2条,
# iptables -I FORWARD -p tcp -m state --state NEW -j LOG --log-level DEBUG
# iptables -I FORWARD -p udp -m state --state NEW -j LOG --log-level DEBUG
可以通过命令iptables –L –n查看
3)logrotate 功能解析:logrotate服务器默认每天04:00-04:03期间对日志进行回滚处理,此监控系统中/etc/logrotate.d/kern.debug 如下配置:
/var/log/kern.debug {
size 600M
daily
rotate 1
}
设置后的结果:
系统将在每天04:00-04:03检查/var/log/kern.debug是否大于等于600M,如大于600M则压缩备份为kern.debug.1,同时新建kern.debug,由于rotate1即只保留一个备份,所以当第二次生成压缩备份时,将覆盖之前的kern.debug.1。

4)
《gen_forward_report.sh》脚本
Export
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/us r/bin:/root/bin
/usr/local/bin/ip_log_fm.py `date +%H` | cut -c 17- | sort -r | uniq -c | sort -r -n -k 1 > /var/log/gateway_forward_log_by_hour.$(date +%Y-%m-%d-%H)
黄色部分指定每小时生成的日志存放稳定。

《rotate_gateway_forward_log》脚本
#!/bin/bash
cat /var/log/gateway_forward_log_by_hour.$(date --date="yesterday" +%Y-%m-%d)-* > /var/log/gateway_forward_log_by_day.$(date --date="yesterday" +%Y-%m-%d)
rm -rf /var/log/gateway_forward_log_by_hour.$(date --date="yesterday" +%Y-%m-%d)-*
黄色部分指定每日生成的日志数据来源位置以及生成日报的存放位置及删除前一天的小时日志位置)。

相关主题