#!/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

转载于:https://blog.51cto.com/mkernel/1433141

分析varnish日志相关推荐

  1. 使用GoAccess分析Nginx日志

    下载 GoAccess 的源代码.编译和安装: http://www.goaccess.io/download # wget http://tar.goaccess.io/goaccess-0.9.6 ...

  2. 教你如何通过分析GC日志来进行JVM调优

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 不同的垃圾收集器产生的GC日志大致遵循了同一个规则,只是有 ...

  3. 如何快速采集分析平台日志,并进行展示监控?

    来自:DBAplus社群 作者介绍 小火牛,项目管理高级工程师,具有多年大数据平台运维管理及开发优化经验.管理过多个上千节点集群,擅长对外多租户平台的维护开发.信科院大数据性能测试.功能测试主力,大厂 ...

  4. python nginx日志分析_Nginx日志分析及脚本编写

    在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...

  5. Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...

  6. python 正则分析nginx日志

    有个需求要分析nginx日志,也懒得去研究logstach之类的开源工具,干脆直接写一个脚本,自己根据需求来实现: 先看日志格式:我们跟别人的不太一样,所以没办法了: 12.195.166.35 [1 ...

  7. 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]

    如何分析apache日志[access_log(访问日志)和error_log(错误日志)] 发布时间: 2013-12-17 浏览次数:205 分类: 服务器 默认Apache运行会access_l ...

  8. 用AWStats分析网站日志

    AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案  (NCSA combined or ...

  9. elk+redis分布式分析nginx日志

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

最新文章

  1. http get请求相同的key_B站微服务框架Kratos详细教程(2)HTTP服务
  2. oracle数据库第八章答案,Oracle培训(三十)——Oracle 11g 第八章知识点小结——处理数据...
  3. 第13次预习课-20180919 多进程编程
  4. php培训12.22
  5. webpack4.x多页面零配置项目模板
  6. 造完家怎么拆东西_吸顶灯灯管怎么拆?吸顶灯拆灯管的注意事项有哪些?
  7. java 如何判定消息已在队列_【05期】消息队列中,如何保证消息的顺序性?
  8. Docker安装MySQL教程
  9. js怎么实现ftp上传文件到服务器上,js ftp上传文件到服务器上
  10. Java基础之《JDK文档》
  11. java电商网站建设教程_java开发电商系统实战开发视频教程
  12. 前缀学习完结篇 第三课上
  13. 编程金融小白学 股票期权 lv.7 希腊字母 Theta
  14. 从战略管理角度看ERP系统信息缺失
  15. 比特大陆发布首款7nm芯片矿机,力压抢了7nm首发的嘉楠耘智?
  16. c#文件操作代码段保存
  17. 【博学谷学习记录】超强总结,用心分享 | JavaSE入门基础知识总结
  18. python会搞坏电脑吗_VPython会破坏所有tkinter窗口
  19. leetcode 剑指 Offer 03. 数组中重复的数字 抽屉原理 一个萝卜一个坑
  20. 数据库-MySQL(六)

热门文章

  1. System学习笔记006---Windows退出telnet 命令的正确姿势
  2. JAVA组件使用---UUID使用方法
  3. stylegan2-pytorch 自己训练的model 出错
  4. 多克隆,坚决抵制快照
  5. 沙盒机制和应用程序目录
  6. linux下的C语言开发(多线程编程)
  7. java.util.list e_E remove()
  8. java用gui如何写退格_emWin(ucGui)的Edit控件退格处理方法 worldsing
  9. python打包安卓的方法_打包发布Python模块的方法详解
  10. c语言怎么用movc指令,【图片】求助大佬用c语言帮忙编写下程序【c程序吧】_百度贴吧...