python-监控日志练习

Posted jyjcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-监控日志练习相关的知识,希望对你有一定的参考价值。

存在一个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-监控日志练习的主要内容,如果未能解决你的问题,请参考以下文章

#2-2课上练习-监控日志

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

Python文件练习_查找log中的IP并统计

python常用代码片段总结

python 日志处理练习

Python日志监控系统处理日志(pyinotify)