nginx ip 주소 출처 분석

2500 단어 nginxIP 주소
이전 로그 형식 을 연결 하여 우 리 는 모든 IP 주 소 를 선 택 했 습 니 다. 방법 이 조금 다 릅 니 다.nginx 는 IP 를 파일 에 쓰 는 것 입 니까? 아니면 그 말 은 데이터 가 너무 커서 목록 에 쓸 수 없습니다.
def getIP():
    f = open(log,'r') 
    IPdic={}
    for logline in f.readlines():
        matchs = p.match(logline)
        if matchs !=None:
            allGroups =matchs.groups()
            IP=allGroups[0] 
            f1 = open('/tmp/ip.txt','a')
            f1.write("%s
"%(IP))             f1.close()     f.close()

2. IP 모듈 을 호출 하여 조작 합 니 다.Pip 로 설치 가능 합 니 다.모듈 소개:https://github.com/lxyu/17monip:
 pip install 17monip

3. 모듈 사용.
[root@monitor python]# cat  query.py 
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import IP
def CheckIP():
    outip = open('/tmp/ip.txt','r')
    output = open('/tmp/output.txt','w')
    for line in outip:
        listIP=line.strip('
')         local = IP.find(listIP).strip(" ")         if local != "" :             output.write(local.encode('utf-8'))             output.write('
')     output.close()     outip.close() if __name__=="__main__":     CheckIP()

4. 파일 을 만 들 고 중국어 로 사전 을 쓰 고 표시 합 니 다. 주의해 야 할 것 은 우리 사전 이 중국어 로 적합 할 때 json 방식 으로 데 이 터 를 내 보 내야 한 다 는 것 입 니 다.
[root@monitor python]# cat queryadd.py 
#!/usr/bin/env python
#coding=utf-8 
import json 
def GetAddress():
    pvdic={}
    f = open('/tmp/output.txt','r')
    n = 0
    for line in f:
        add = line.split()
        address=add[1]
        pvdic[address]=pvdic.get(address,0) +1
    pvdic=sorted(pvdic.iteritems(),key=lambda c:c[1],reverse=True)
    return  json.dumps(pvdic,encoding="utf-8",ensure_ascii=False)
    f.close()
if __name__=='__main__':
    print GetAddress()

5. 생 성 효과:
[root@monitor python]# python queryadd.py 
[["  ", 86], ["  ", 81], ["  ", 78], ["  ", 43], ["  ", 43], ["  ", 31], ["  ", 30], ["  ", 26], ["  ", 26], ["  ", 23], ["  ", 21], ["  ", 20], ["  ", 16], ["  ", 14], ["   ", 13], ["  ", 11], ["  ", 8], ["  ", 5], ["  ", 3], ["  ", 3], ["  ", 3], ["  ", 2], ["  ", 2], ["  ", 1], ["   ", 1], ["  ", 1], ["  ", 1]]

좋은 웹페이지 즐겨찾기