Python开发【项目】:生产环境下实时统计网站访问日志信息

日志实时分析系统

生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量、UV、独立IP等信息,用直观的数据表格表现出来

 

环境描述:

网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他位置,当前日志清空

NGINX日志配置信息:

http {
log_format  main  '$remote_addr - [$time_local]  "$request" '
                                ' - $status "User_Cookie:$guid" ';
}

server {
if ($http_cookie ~* "(.*)$"){
        #if ($http_cookie ~* "JCRB_VOTE=([A-Z0-9]*)"){
                set $guid $1;
        }
}

日志只统计:客户IP、访问时间、请求路径、状态码、客户端缓存

日志access.log示例

221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104291798 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283738 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283903 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283995 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104292817 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
121.28.161.2 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=XC9EHH&voteString=2|14|29|31|33|&keyString=xmtwb2016&jsoncallback=jQuery18008703299721237272_1479104243850&_=1479104285026 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04" 
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
101.27.93.120 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=99U4R3&voteString=0|1|2|3|4|&keyString=xmtwb2016&jsoncallback=jQuery180026725079771131277_1479104393301&_=1479104413870 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328" 
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285036 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285194 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285303 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104293800 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=2|7|15|21|23|&keyString=xmtwb2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296352 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5" 
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|11|12|22|27|&keyString=xmtwx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296404 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5" 
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|30|37|38|39|&keyString=xmtgx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5" 
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwx2016&jsoncallback=jQuery18008259619923322621_1479104293001&_=1479104294141 HTTP/1.1"  - 200 "User_Cookie:" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwb2016&jsoncallback=jQuery18008259619923322621_1479104293000&_=1479104294139 HTTP/1.1"  - 200 "User_Cookie:" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmttth2016&jsoncallback=jQuery18008259619923322621_1479104293002&_=1479104294142 HTTP/1.1"  - 200 "User_Cookie:" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzp2016&jsoncallback=jQuery18008259619923322621_1479104293003&_=1479104294144 HTTP/1.1"  - 200 "User_Cookie:" 
121.28.161.2 - [14/Nov/2016:14:19:37 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzmt2016&jsoncallback=jQuery18008259619923322621_1479104293004&_=1479104294145 HTTP/1.1"  - 200 "User_Cookie:" 
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtgx2016&jsoncallback=jQuery18008259619923322621_1479104293005&_=1479104294146 HTTP/1.1"  - 200 "User_Cookie:" 
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104294806 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286275 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
101.27.93.120 - [14/Nov/2016:14:19:38 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328" 
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.192.216.166 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=8lrg49&voteString=1|2|3|6|11|16|21|27|37|&keyString=xmtwx2016&jsoncallback=jQuery18005909615200944245_1479104270260&_=1479104303736 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506" 
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286622 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104295808 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287539 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287697 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287785 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
117.136.2.149 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=cwp238&voteString=2|13|18|23|28|&keyString=xmtwb2016&jsoncallback=jQuery18004623273138422519_1479104263786&_=1479104281947 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=BF38C42EF499AAACB05A6EA87E3B1EB9" 
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
222.219.53.119 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104296807 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516" 
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
221.192.216.166 - [14/Nov/2016:14:19:40 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506" 
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288831 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743" 
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288992 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
183.207.217.213 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104289087 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E" 
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104297802 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
60.31.197.14 - [14/Nov/2016:14:19:41 +0800]  "GET /captcha?0.9926116424744409 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=DB00034D5EC927BE007CE54F3D67587D"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104291798 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283738 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283903 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283995 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104292817 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
121.28.161.2 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=XC9EHH&voteString=2|14|29|31|33|&keyString=xmtwb2016&jsoncallback=jQuery18008703299721237272_1479104243850&_=1479104285026 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.120 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=99U4R3&voteString=0|1|2|3|4|&keyString=xmtwb2016&jsoncallback=jQuery180026725079771131277_1479104393301&_=1479104413870 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285036 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285194 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285303 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104293800 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=2|7|15|21|23|&keyString=xmtwb2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296352 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|11|12|22|27|&keyString=xmtwx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296404 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|30|37|38|39|&keyString=xmtgx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwx2016&jsoncallback=jQuery18008259619923322621_1479104293001&_=1479104294141 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwb2016&jsoncallback=jQuery18008259619923322621_1479104293000&_=1479104294139 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmttth2016&jsoncallback=jQuery18008259619923322621_1479104293002&_=1479104294142 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzp2016&jsoncallback=jQuery18008259619923322621_1479104293003&_=1479104294144 HTTP/1.1"  - 200 "User_Cookie:"
121.28.161.2 - [14/Nov/2016:14:19:37 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzmt2016&jsoncallback=jQuery18008259619923322621_1479104293004&_=1479104294145 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtgx2016&jsoncallback=jQuery18008259619923322621_1479104293005&_=1479104294146 HTTP/1.1"  - 200 "User_Cookie:"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104294806 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286275 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
101.27.93.120 - [14/Nov/2016:14:19:38 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.192.216.166 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=8lrg49&voteString=1|2|3|6|11|16|21|27|37|&keyString=xmtwx2016&jsoncallback=jQuery18005909615200944245_1479104270260&_=1479104303736 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286622 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104295808 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287539 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287697 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287785 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
117.136.2.149 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=cwp238&voteString=2|13|18|23|28|&keyString=xmtwb2016&jsoncallback=jQuery18004623273138422519_1479104263786&_=1479104281947 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=BF38C42EF499AAACB05A6EA87E3B1EB9"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104296807 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.192.216.166 - [14/Nov/2016:14:19:40 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288831 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288992 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104289087 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104297802 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
60.31.197.14 - [14/Nov/2016:14:19:41 +0800]  "GET /captcha?0.9926116424744409 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=DB00034D5EC927BE007CE54F3D67587D"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
access.log

程序目录结构:

html目录(最终生成的数据页面,也是网页的初始样式):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日志分析</title>
    <meta http-equiv="Refresh" Content="5"/>
    <style>
        body{
            margin: 0 auto;
            background-color: #797878;
        }
        div{
            width: 60%;
            margin: auto;
            /*border: 1px solid black;*/
            border-radius:5px
        }
        table{
            width: 100%;
            text-align: center;
            background-color:#dddddd
        }
        .table_top{
            width: 100%;
            background-color: #2459a2;
            color: white;
            font-weight: bold;
        }

    </style>
</head>
<body>
    <div>
    </div>
    <div style="height: 1000px; "></div>
</body>
</html>
index.html

main目录(程序启动接口):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#-Author-Lian

import time,datetime
import re

LOG_PATH="/data/nginx/logs/access.log"    #日志文件
HTML_PATH="../html/index.html"      #生成数据html文件
TABLE_TMP="../template/table_tmp"       #表格框架格式
TIMES_PRE=300       #刷新频率 单位秒

def handle():
    date_time = datetime.datetime.now()
    current_date = str(date_time).split(" ")[0]         #获取当前日期 年-月-日
    create_table(current_date)                      #创建信息表单

    last_site = 0          #上一次文件读到的位置
    while True:
        page_view = 0             #页面访问量
        succed_visit = 0          # 200状态码
        reject_visit = 0             # 被拒绝的访问503状态码
        unique_ip = set([])          # 独立IP
        unique_visitor= set([])       # 独立访客

        date_time = datetime.datetime.now()  # 生成时间日期
        date = str(date_time).split(" ")[0]  # 截取当前日期 年-月-日
        if date != current_date:  # 如果第二天,光标位置重新设置到文件首部
            current_date = date     # 更新current_date 值
            last_site = 0
            create_table(current_date)  # 创建信息表单

        current_time = str(date_time).split(".")[0]  # 日期 年-月-日-时-分-秒

        with open(LOG_PATH,"r") as file:
            print("---------",current_date,last_site)
            file.seek(last_site)
            logs = file.readlines()
            last_site = file.tell()          # 更新光标位置
            for line in logs:
                page_view += 1                       # 页面访问量+1
                obj_sd=re.search("- 200",line)      # 匹配200状态码+1
                if obj_sd:
                    succed_visit +=1
                obj_rt = re.search("- 503", line)   # 匹配503状态码+1
                if obj_rt:
                    reject_visit +=1

                obj_ip = re.match("\d+\.\d+\.\d+\.\d+",line)    # 匹配独立IP
                unique_ip.add(obj_ip.group())        # 添加集合,自动去重

                obj_uv = re.search("User_Cookie:...*", line)  # 匹配独立访客
                if obj_uv:                                     # 去空
                    unique_visitor.add(obj_uv.group())  # 添加集合,自动去重

            upload_data(current_time,page_view,succed_visit,reject_visit,len(unique_ip),len(unique_visitor))           #html文件内添加统计数据
            time.sleep(TIMES_PRE)

def upload_data(current_time,page_view,succed_visit,reject_visit,unique_ip,unique_visitor):
    with open(HTML_PATH, "r+",encoding="utf-8") as file:
        list = file.readlines()

        list.insert(-6,"<tr>\n")
        list.insert(-6, "<td>%s</td>\n"%current_time)     #时间
        list.insert(-6, "<td>%s</td>\n"%page_view)                   #页面访问量
        list.insert(-6, "<td>%s</td>\n" % succed_visit)  # 200访问
        list.insert(-6, "<td>%s</td>\n" % reject_visit)  # 503访问
        list.insert(-6, "<td>%s</td>\n" % unique_ip)    # 独立IP数
        list.insert(-6, "<td>%s</td>\n" % unique_visitor)  # 独立访客数
        list.insert(-6,"</tr>\n")

        file.seek(0)            #文件清空
        file.truncate(0)
        for line in list:       #新数据写入文件
            file.write(line)

def create_table(current_date):                           #创建信息表单
    with open(HTML_PATH, "r+", encoding="utf-8") as file:
        list = file.readlines()

        with open(TABLE_TMP, "r", encoding="utf-8") as table_tmp:
            for line in table_tmp:
                if "日期" in line:
                    line = line.replace("日期","日期:%s"%current_date)
                list.insert(-4, line)  # 创建新的表单

        file.seek(0)            #文件清空
        file.truncate(0)
        for line in list:       #新数据写入文件
            file.write(line)

if __name__ == '__main__':
    handle()
start.py

template(表格模板):

<table border="1">
    <thead>
    <tr>
        <td class="table_top" colspan="6" >日期</td>
    </tr>
    <tr>
        <td style="width: 25%">时间</td>
        <td style="width: 15%">页面浏览量</td>
        <td style="width: 15%">200状态码</td>
        <td style="width: 15%">503状态码</td>
        <td style="width: 15%">独立IP数</td>
        <td style="width: 15%">独立访客数</td>
    </tr>
    </thead>
    <tbody>
    </tbody>
</table>
table_tmp

注:table_tmp最后一行一定要一换行符

 

最终效果图:

 

 

 

总结:

整个程序可以针对不同的日志类型进行增加删减,程序也可以作为以后开发监控系统其中网站监测的一个模块

 

完整程序代码-》》https://coding.net/u/James_Lian/p/LogAnalysis/git/tree/master/

转载于:https://www.cnblogs.com/lianzhilei/p/6065264.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值