1.根据访问IP统计UV
awk '{print $1}' access.log|sort | uniq -c |wc -l
2.统计访问URL统计PV
awk '{print $7}' access.log|wc -l
3.查询访问最频繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
4.查询访问最频繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
5.根据时间段统计查看日志
cat access.log| sed -n '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|more
zabbix 配置文件添加
vim /etc/zabbix/zabbix_server.conf
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/sbin
import urllib2,base64,sys,getopt,re
def Usage():
print "Usage: Nginx-Status.py -h 127.0.0.1 -p 80 -a [active|accepted|handled|requests|reading|writting|waiting]"
sys.exit(2)
def main():
if len(sys.argv) < 6:
Usage()
try:
opts,args = getopt.getopt(sys.argv[1:], "h:p:a:")
Dict = dict(opts)
except getopt.GetoptError:
Usage()
Nginx_url = "http://" + Dict['-h'] + ":" + Dict['-p'] + "/nginx_status"
Nginx_req = urllib2.Request(Nginx_url)
Nginx_res = urllib2.urlopen(Nginx_req)
Output_key = re.findall(r'\d{1,8}', Nginx_res.read())
if ( Dict['-a'] == "active"):
print Output_key[0]
elif ( Dict['-a'] == "accepted"):
print Output_key[1]
elif ( Dict['-a'] == "handled"):
print Output_key[2]
elif ( Dict['-a'] == "requests"):
print Output_key[3]
elif ( Dict['-a'] == "reading"):
print Output_key[4]
elif ( Dict['-a'] == "writting"):
print Output_key[5]
elif ( Dict['-a'] == "waiting"):
print Output_key[6]
else:
print "unknown!!"
sys.exit(1)
if __name__ == '__main__':
main()
2.0
2015-11-03T01:37:04Z
nginx-status
nginx-status
nginx-status
nginx-status
-
nginx-accepted
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","accepted"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-active
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","active"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-handled
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","handled"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-reading
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","reading"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-requests
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","requests"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-waiting
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","waiting"]
30
90
365
0
3
0
0
0
0
1
0
0
0
-
nginx-writting
10
0
nginx-status.py["-h","{HOST.IP}","-p","80","-a","writting"]
30
90
365
0
3
0
0
0
0
1
0
0
0
nginx-clients-status
900
200
0.0000
100.0000
1
1
0
1
0
0.0000
0.0000
0
0
0
0
0
0
00C800
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","active"]
1
0
C80000
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","reading"]
2
0
0000C8
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","waiting"]
3
0
C800C8
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","writting"]
nginx-socket-status
900
200
0.0000
100.0000
1
1
0
1
0
0.0000
0.0000
0
0
0
0
0
0
00C800
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","handled"]
1
0
0000C8
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","requests"]
2
0
C800C8
0
2
0
-
nginx-status
nginx-status.py["-h","{HOST.IP}","-p","80","-a","accepted"]