快速业务通道

用LINUX脚本分析NETSCREEN日志

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31

#!/bin/bash
#这里放注释
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH

mail_to=”test@test.com test2@test.com ”
nslog=/dev/shm/ns.log

#下面就是脚本的主要内容,可以声明变量可以写函数之类的
cat ${nslog} |awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==50'' | nali | iconv -f utf-8 -t gb2312 | mail -s "防火墙半小时访问IP统计TOP50" ${mail_to}
cat ${nslog} |grep 199.198.197.81| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "movie.test.com(199.198.197.81)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.98| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "search.test.com(199.198.197.98)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.99| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "people.test.com(199.198.197.99)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.100| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "news.test.com(199.198.197.100)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.41| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "my.test.com(199.198.197.41)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.16| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "i.test.com(199.198.197.16)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.68| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "dyy.test.com(199.198.197.68)访问IP统计TOP20" ${mail_to}

Empire CMS,phome.net

cat ${nslog} |grep 199.198.197.57| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "img2.test.com(199.198.197.57)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.101| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "service.test.com(199.198.197.101)访问IP统计TOP20" ${mail_to}
cat ${nslog} |grep 199.198.197.32| awk ''{print $22}'' | sort | uniq -c | sort -rnk1 | awk ''NR==1,NR==20'' | nali | iconv -f utf-8 -t gb2312 | mail -s "theater.test.com(199.198.197.32)访问IP统计TOP20" ${mail_to}

# The logs path
logs_path="/var/log/netscreen/"

mkdir -p ${logs_path}$(date -d "today" "%Y")/$(date -d "today" "%m")/
mv ${nslog} ${logs_path}$(date -d "today" "%Y")/$(date -d "today" "%m")/ns_$(date -d "today" "%Y%m%d%H%M").log
kill -SIGHUP `cat /var/run/syslogd.pid`

设计思想:

将SYSLOG接收到的防火墙日志进行定时切断(半小时一次)并输出到文件(当然可以采用压缩备档) 经实践 kill -SIGHUP `cat /var/run/syslogd.pid` 这个可以搞定截断.

如此则可以采用一个较小的日志文件进行分析.

将SYSLOG接收文件目录设置为内存之中(32G),减低读写IO负担,大幅增加日志分析的速度.

每个分析的语句还是冗余了,有待提炼简化.

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号