首页 > 其他 > 详细

分析varnish日志

时间:2014-07-02 06:34:13      阅读:322      评论:0      收藏:0      [点我收藏+]

#!/bin/sh #  varnish切割日志,每隔一天切割一次


/usr/sbin/ntpdate 202.112.10.36 >> /dev/null 

logpath=/Data/logs


if [ -f $logpath/varnish.log ];then 

mv $logpath/varnish.log $logpath/varnish.`date "+%Y-%m-%d"`.log

killall -9 varnishncsa

/usr/bin/varnishncsa -n /var/lib/varnish/varnish01.example.com/ -w /Data/logs/varnish.log&


fi


#分析varnishi访问日志,防CC爬虫,varnish日志必须为每天切割一次,脚本为死循环方式执行,每执行一次会sleep一小时,获取一小时内访问超过百次,并且http response code 为4xx的IP

#!/bin/sh 

while true

do

num=100 #

varnishlog="/Data/logs/varnish.log" #


for i in `tac $varnishlog |awk ‘BEGIN{ "date -d \"-60 minute\" +\"%H:%M:%S\"" |getline hour1ago } {if(substr($4,14) > hour1ago && $9~"4..") print}‘|awk ‘{print $1}‘|sort|uniq -c|sort -rn|awk -v count=$num ‘{if ($1>count){print $2}}‘`

do

      iptables -I INPUT -p tcp -s $i --dport 80 -j DROP #Drop 

done

sleep 3600   #Sleep 1 hous 

iptables -F  #Clear iptables

done

bubuko.com,布布扣

本文出自 “Crazy_Linux” 博客,请务必保留此出处http://mkernel.blog.51cto.com/8015041/1433141

分析varnish日志,布布扣,bubuko.com

分析varnish日志

原文:http://mkernel.blog.51cto.com/8015041/1433141

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!