线上服务器Nginx日志无切割引起问题及解决
状况:lnmp环境下nginx反向代理服务器,部分网站无法访问,重启服务器后ok
拿到权限后安装zabbix监控,负载Ok ,
IO报警:
Disk I/O is overloaded on xss152
使用命令工具查看io状况,top下78%wa........................
[root@xx16 /]# iostat -x 1 10
avg-cpu: %user %nice %system %iowait %steal %idle
0.27 0.00 0.59 21.81 0.00 77.33
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 9.58 152.95 128.06 63.60 1136.57 1732.58 14.97 12.19 63.58 4.44 85.00
dm-0 0.00 0.00 137.10 216.57 1130.05 1732.58 8.09 25.40 71.82 2.40 84.99
dm-1 0.00 0.00 0.08 0.00 0.65 0.00 7.67 0.00 2.45 2.23 0.02
dm-2 0.00 0.00 0.06 0.00 0.51 0.00 8.00 0.00 2.65 2.39 0.02
%util长期达到99%................
查看服务器本身状况,在nginx日志目录下发现,日志无切割,常年积累下来已经达到可怕的大小
-rw-r--r-- 1 nobody root 4959870331 5月 18 11:38 access.log.1
[root@xx16 logs]# du -sh
37G
so,先写nginx日志切割,其后强制执行一次.
[root@xx16 logrotate.d]# vim /etc/logrotate.d/nginx
/usr/local/nginx/logs/*log{
daily
rotate 7
compress
notifempty
nocompress
postrotate
/bin/kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` 2> /dev/null || true
endscript
}
强制执行一次,然后查看Io情况.
logrotate -f /etc/logrotate.d/nginx
root@xx16 logrotate.d]# iostat -x 1 10
avg-cpu: %user %nice %system %iowait %steal %idle
0.27 0.00 0.58 20.70 0.00 78.45
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.75 0.00 0.00 99.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 3.00 0.00 2.00 0.00 40.00 20.00 0.02 9.00 5.00 1.00
dm-0 0.00 0.00 0.00 5.00 0.00 40.00 8.00 0.05 9.60 2.00 1.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-3 0.00 0.00 0.00 5.00 0.00 40.00 8.00 0.05 9.60 2.00 1.00
TOP下
1234567 [root@xx16 logrotate.d]# top
top - 11:57:35 up 2:20, 3 users, load average: 0.00, 0.00, 0.26
Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 99.3%id, 0.3%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 3917212k total, 3762456k used, 154756k free, 2144812k buffers
Swap: 8388600k total, 0k used, 8388600k free, 774492k cached
0.3%wa zabbix警报解除.搞定!!
该服务器搭建于2014年,上一任管理员写了nginx切割脚本,但是没有后面由于nginx网站增添,没有添加到脚本,引起nginx日志一直无切割.
更多Nginx相关教程见以下内容:
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里