nginx日志简单分析工具

时间:2021-01-04 09:57:19

自己有个tony6.com的服务器,上面挂着我的博客,web服务器是nginx。

由于最近一直在折腾python,所以简单写了个nginx日志分析工具,它可以分析出每个IP的点击数量和IP所在地。

 #!/usr/bin/env pypy
#coding:utf8
import re
import sys
import urllib
import json
contents = sys.argv[1]
url = "http://ip.taobao.com/service/getIpInfo.php?ip="
def ip_location(ip):
data = urllib.urlopen(url + ip).read()
datadict=json.loads(data)
for oneinfo in datadict:
if "code" == oneinfo:
if datadict[oneinfo] == 0:
return datadict["data"]["country"] + datadict["data"]["region"] + datadict["data"]["city"] + "\t" + datadict["data"]["isp"] def NginxIpHite(logfile_path):
ipadd = r'\.'.join([r'\d{1,3}']*4)
re_ip = re.compile(ipadd)
iphitlisting = {}
for line in open(contents):
match = re_ip.match(line)
if match:
ip = match.group()
iphitlisting[ip] = iphitlisting.get(ip, 0) + 1
return iphitlisting for k in NginxIpHite(contents):
dili = ip_location(k)
print "%s " % k,NginxIpHite(contents)[k],dili