码迷,mamicode.com
首页 > 编程语言 > 详细

python-监控日志练习

时间:2018-01-13 18:44:36      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:第一个   post   防止   seek   技术   poi   blog   png   bubuko   

存在一个access.log 日志, 格式如下, 每行 以ip 地址开始:

技术分享图片

 

1、需求:

#1、如果同一个ip地址60s之内访问超过200次,那么就把ip加入黑名单
#需求分析:
#1、60秒读一次文件
#2、分割,取到第一个元素,ip地址
#3、把所有的ip加入到一个list里,如果ip次数超过200次,加入黑名单

import time
point = 0     #文件指针
while True:
ips = []    #存放所有的ip地址
blk_set = set() #存放需要加入黑名单ip
with open(‘access.log‘,encoding=‘utf-8‘) as f:
f.seek(point)
for line in f:
ip = line.split()[0]
ips.append(ip)
#10.125.1.1
if ips.count(ip)>200:
blk_set.add(ip)
for ip in blk_set:     #这里是因为防止ip重复加入黑名单,因为集合是去重的,所以里面没有重复的ip
#os.system(‘jiaurru %s‘%ip)#挨个将集合中的信息 加入黑名单
print(‘加入黑名单%s‘%ip)
point = f.tell()
time.sleep(30)            #隔30s 监控一次


 

python-监控日志练习

标签:第一个   post   防止   seek   技术   poi   blog   png   bubuko   

原文地址:https://www.cnblogs.com/jyjcode/p/8279669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!