zoukankan      html  css  js  c++  java
  • python-监控日志练习

    #需求:
    #1. 每分钟监控服务器日志,每分钟请求超过200次,加入黑名单
    
    # 编写思路
    # 1. 读文件,获取每行的内容 open readlines
    # 178.210.90.90 - - [04/Jun/2017:03:44:13 +0800]
    #2. 找到IP地址,按照空格分割字符串,取第一个元素 split
    #3. 把IP存到字典里面,每个IP出现一次,IP次数就加1
    # {'ip1':1,'ip2':2,'ip3':1}
    # ['178.210.90.90','178.210.90.90','178.210.90.90']
    #4. 判断IP次数是否大于200,加入黑名单
    
    import time
    point=0
    while True:
        ips = {} #存放ip地址的
        f = open('abc.txt',encoding='utf-8') # abc.txt存放监控日志
        f.seek(point)
        for line in f.readlines():  #获取每行的内容
            ip = line.split()[0] #获取所有的ip和次数,存到字典里面
            if ip not in ips: #判断ip是不是已经在ips里
                ips[ip]=1 #如果不存在(未出现过),则出现次数是1
            else:
                ips[ip]+=1 #出现过,次数+1
        print(ips)
        point=f.tell()#记录读完之后文件指针
    f.close()
    for ip,count in ips.items(): #判断ip出现的次数是否大于200 if count>=200: print('[%s]加入黑名单'%ip) time.sleep(60) #60秒读一次
  • 相关阅读:
    安装redis
    memcached复制-repcached
    memcached一致性哈希及php客户端实现
    安装php
    安装mysql
    安装apache
    putty配色方案
    virtualbox下centos实现主宿互访
    安装memcached
    linux网络、性能相关命令
  • 原文地址:https://www.cnblogs.com/denise1108/p/10026811.html
Copyright © 2011-2022 走看看