Uncategorized

使用Python解析Nginx日志



"Python"最近看了眼Nginx的日志,发现个人博客的日志上有很多爬虫在抓数据,还有在扫描漏洞的,搞不明白普普通通的一个个人博客得罪了谁。于是决定做一个简单的Nginx日志解析工具来稍微分析下数据。
Nginx的格式
Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。本文将详细描述一下如何配置Nginx日志。

access_log
访问日志主要记录客户端的请求。客户端向Nginx服务器发起的每一次请求都记录在这里。客户端IP,浏览器信息,referer,请求处理时间,请求URL等都可以在访问日志中得到。当然具体要记录哪些信息,你可以通过log_format指令定义。
Nginx预定义了名为combined日志格式,如果没有明确指定日志格式默认使用该格式:

log_format combined ‘$remote_addr – $remote_user [$time_local] ‘
”$request’ $status $body_bytes_sent ‘
”$http_referer’ ‘$http_user_agent”;

如果不想使用Nginx预定义的格式,可以通过log_format指令来自定义。下面是log_format指令中常用的一些变量:

字段
含义
示例


占位符

body_bytes_sent
响应body字节数
3650

bytes_sent
响应总字节数
175

host
IP或域名(不包括端口)
10.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *