1. 程式人生 > >python-監控日誌練習

python-監控日誌練習

post 一次 () tell sys lee ips append 監控

存在一個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-監控日誌練習