nginx日志管理

 日志中包括用户地域来源、跳转来源、使用终端、某个url访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。
一、自定义日志格式
1、使用log_format自定义日志格式:
log_format name [escape=default|json] string ...;name格式名称,在access_log指令中引用。escape设置变量中的字符编码方式是json还是default,默认是default。string要定义的日志格式内容。该参数可以有多个。参数中可以使用nginx变量。
log_format指令中常用的一些变量:
在这里插入图片描述
2、自定义日志格式的使用:

access_log /var/logs/nginx-access.log main
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';
 

3、重新读取加载nginx配置文件:nginx-s reload
4、查看日志:tail -f /usr/local/nginx/logs/access.log
在这里插入图片描述
二、日志的分隔
1、 写一个shell脚本runlog.sh来自动切割日志文件。

#logpath表示日志文件access.log的路径
logpath=/usr/local/nginx/logs/access.log
#basepath表示新的日志文件目录。是date和昨天的年和月组成,如:/date/201809
basepath="/data/$(date -d yesterday +%Y%m)"
#根据basepath创建新的日志文件目录
mkdir -p $basepath
#bak表示新的日志文件,如:/date/201809/201111..access.log
bak=$basepath/$(date -d yesterday +%d%H%M).access.log
#把旧的日志文件移动到新的日志文件下
mv $logpath $bak
#在旧的日志文件路径创建access.log
touch $logpath
#通过信号量,重读nginx日志文件
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

2、设置定时任务:crontab -e
*/1 * * * * sh /date/runlog.sh 每一分钟执行一下shell脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值