一聚教程网:一个值得你收藏的教程网站

热门教程

Python把Nginx日志保存到MySQL数据库

时间:2022-06-30 18:46:29 编辑:袖梨 来源:一聚教程网

Nginx access日志格式如下:

 代码如下 复制代码

#使用的nginx默认日志格式$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'

Nginx access 日志内容如下:

 代码如下 复制代码

182.19.31.129 - - [2013-08-13T00:00:01-07:00] "GET /css/anniversary.css HTTP/1.1" 304 0 "http://www.chlinux.net/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36" "-"

下面是Python 分析nginx的Python代码:

 代码如下 复制代码
#!/usr/bin/env python
#coding:utf8
import os
import fileinput
import re
import sys
import MySQLdb
 
#日志的位置
logfile=open("access_20130812.log")
 
'''使用的nginx默认日志格式$remote_addr - $remote_user
[$time_local] "$request" $status $body_bytes_sent
"$http_referer" "$http_user_agent" "$http_x_forwarded_for"'''
 
 
 
#日志分析正则表达式
#203.208.60.230
ipP = r"?P[d.]*"
 
'''以[开始,除[]以外的任意字符 防止匹配上下个[]项目
(也可以使用非贪婪匹配*?) 不在中括号里的.可以匹配换行外的任意字符
*这样地重复是"贪婪的“ 表达式引擎会试着重复尽可能多的次数。#以]结束'''
#[21/Jan/2011:15:04:41 +0800]
timeP = r"""?P


存入数据库后数据是如下格式:

pythonNginx.png

热门栏目