0
点赞
收藏
分享

微信扫一扫

四、nginx日志管理 shell+定时任务+nginx信号管理


日志

我们观察nginx的server段,可以看到如下类似信息
#access_log logs/host.access.log main;
这说明 该server, 它的访问日志的文件是 logs/host.access.log ,
使用的格式”main”格式.
除了main格式,你可以自定义其他格式.

main格式是什么?

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

main格式是我们定义好一种日志的格式,并起个名字,便于引用.
以上面的例子, main类型的日志,记录的 remote_addr… http_x_forwarded_for等选项.

1: 日志格式 是指记录哪些选项
默认的日志格式: main

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

如默认的main日志格式,记录这么几项

$remote_addr :与$http_x_forwarded_for用以记录客户端的ip地址;

$remote_user :记录客户端用户的名称;

$time_local :访问时间及时区;

$request :请求的URL与HTTP协议;

$status :记录请求状态

$body_bytes_sent:记录发送给客户端文件主体内容大小;

$http_referer:用来记录从那个页面链接访问过来的;

$http_user_agent:记录客户端浏览器的相关信息

我们可以配置我们自己常用的信息:

$bytes_sent :客户端发送的字节数

$request_length:客户端请求的长度

$http_host :客户端请求的地址请求地址,即浏览器中你输入的地址(IP或域名)

$upstream_status:upstream状态

$upstream_addr :后台upstream的地址,即真正提供服务的主机地址

$request_time : 整个请求的总时间

$upstream_response_time:请求过程中,upstream响应时间

$request_body :POST数据

2: 声明一个独特的log_format并命名

log_format  mylog '$remote_addr- "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

在下面的server/location,我们就可以引用 mylog

在server段中,这样来声明

Nginx允许针对不同的server做不同的Log ,(有的web服务器不支持,如lighttp)

access_log logs/access_8080.log mylog;
声明log log位置 log格式;

实际应用: shell+定时任务+nginx信号管理,完成日志按日期存储

宝塔自带
分析思路:
凌晨00:00:01,把昨天的日志重命名,放在相应的目录下
再USR1信息号控制nginx重新生成新的日志文件
具体脚本:

#!/bin/bash
base_path='/usr/local/nginx/logs'
log_path=$(date -d yesterday +"%Y%m")
day=$(date -d yesterday +"%d")
mkdir -p $base_path/$log_path
mv $base_path/access.log $base_path/$log_path/access_$day.log
#echo $base_path/$log_path/access_$day.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

定时任务

Crontab 编辑定时任务
01 00 * * * /xxx/path/b.sh 每天0时1分(建议在02-04点之间,系统负载小)


举报

相关推荐

0 条评论