日志轮转/切割:
1.Nginx安装,会默认启动日志轮转
rpm -ql nginx |grep log(查询nginx过滤log日志):/etc/logrotate.d/nginx ; /var/lognginx
2.观察日志轮转:vim /etc/logrotate.d/nginx
/var/log/nginx/*.log 待切割的日志
create 0644 nginx nginx 创建新的日志文件,属主
daily 每天
rotate 10 备询10份
missingok 丢失不提示
notifempty 空文件的话,不存储
compress 压缩
sharedscripts 轮转后脚本
划重点:轮转语句
指令:/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
日志分析:
$remote_addr $1 远程客户端地址
$time_local $4 本机时间
request $7 请求的URL
$status $9 状态码
$boby_bytes_sent $10 请求体积
统计PV量:例 grep '05/Sep/2017' cd.mobiletrain.org.log |wc -l
4. 统计2017年9月5日 访问最多的10个页面($request top 10)
grep '05/Sep/2017' cd.mobiletrain.org.log |awk '{urls[$7]++} END{for(i in urls){print urls[i],i}}' |sort -k1 -rn |head -n10
5. 统计2017年9月5日 每个URL访问内容总大小($body_bytes_sent)
grep '05/Sep/2017' sz.mobiletrain.org.log |
awk '{ urls[$7]++; size[$7]+=$10}
END{for(i in urls){print urls[i],size[i],i}}'|
sort -k1 -rn | head -n10