开发者社区> 技术小阿哥> 正文

线上服务器nginx日志无切割引起的祸

简介:
+关注继续查看

状况:lnmp环境下nginx反向代理服务器,部分网站无法访问,重启服务器后ok

拿到权限后安装zabbix监控,负载Ok ,

IO报警:

1
Disk I/O is overloaded on xss152

使用命令工具查看io状况,top下78%wa........................

1
2
3
4
5
6
7
8
9
[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日志目录下发现,日志无切割,常年积累下来已经达到可怕的大小

1
2
3
-rw-r--r--  1 nobody root  4959870331 5月  18 11:38 access.log.1
[root@xx16 logs]# du -sh
37G

so,先写nginx日志切割,其后强制执行一次.

1
2
3
4
5
6
7
8
9
10
11
[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情况.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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下

1
2
3
4
5
6
7
[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日志一直无切割.



本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1774673,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
145 0
精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
62 0
深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
67 0
深入浅出学习透析Nginx服务器的基本原理和配置指南「负载均衡篇」
深入浅出学习透析Nginx服务器的基本原理和配置指南「负载均衡篇」
51 0
深入浅出学习透析Nginx服务器的基本原理和配置指南「进阶实践篇」
深入浅出学习透析Nginx服务器的基本原理和配置指南「进阶实践篇」
52 0
深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇」
深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇」
46 0
ECS 服务器迁移,(nginx 安装、 ecs 安装组与防火墙设置)
每一次 启动和关闭都要进入 cd /usr/local/nginx/sbin 然后执行对应的命令,是不是感觉很烦呀,来配置个全局环境变量或者一个软连接, 这个是一个2选1的,配置哪个都行个人推荐使用软连接,方便,一行命令解决。
34 0
软件测试|Docker 搭建Web服务器nginx
软件测试|Docker 搭建Web服务器nginx
66 0
解决 Nginx Let's Encrypt HTTPS 证书 错误: 服务器缺少中间证书
解决 Nginx Let's Encrypt HTTPS 证书 错误: 服务器缺少中间证书
231 0
+关注
技术小阿哥
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载