在工作中经常遇到服务器流量异常,时不时的流量很高。遇到这种流量异常和网站打开缓慢的情况,最后基本上可以归结为三种原因:一种是网站正在遭受DD或CC攻击;一种是服务器内存或者CPU耗尽;最后一种就是服务器被“挂马”了。
那么Linux/Centos服务器带宽异常跑满的情况怎么排查呢?下面是基于一次运维事件的排查过程描述,欢迎大家点评学习~
问题描述:
在8月1号9点左右接到用户反馈企业 Web 服务无法正常浏览,通过监控平台或阿里云监控,查看服务器异常状态,通常会出现 CPU 100%和流量激增的情况。通过SSH远程连接,查看当时的情况,监控信息显示如下:
可以看出,服务器此时的出流量达到5G,和正常运行时的流量相比,差异明显。
处理过程:
此时已无法正常远程管理,只能通过阿里云VNC控制台连接进入系统。
1)安装流量查看工具iftop;
- yum -y install iftop
2)查看经典网络ECS外网卡流量;
- iftop -i eth1
确认使用超过5G的出流量。
3)通过以下命令确认导致异常流量的进程;
- iftop -i eth1 -P
此时抓取到导致异常流量的进程
通过netstat或ps命令,获取memcache进程号,并结束该进程。
- netstat -tlunpkill -9 2127
将该进程结束后,web服务和ssh远程管理恢复正常,后续观察流量异常情况消失。memcache 为遗留废弃程序,生产环境中已没有再使用,取消开启自启动。
- vim /etc/rc.local#/usr/local/memcached/bin/memcached -m 1024 -l 127.0.0.1 -p 11211 -u root -d
总结
问题的解决并没有花费多少时间,但是由于是用户最先发现反馈,必然被批的是非常惨,没有即时发现业务异常。
很多运维同学在将业务部署上云后多会出现这种情况,由于运维工作变得更加轻松便捷往往忽略很多重要的告警信息,比如:服务器到期提醒、服务器CPU使用率过高、安全组发生变化等告警提醒...由此引发很多低级的运维事故。
为了避免上述的情况,对于目前在做云运维的同学,小编推荐一个运维利器——王教授,对于我们日常运维工作帮助确实非常大,可以及时提醒我云资源的变化情况,例如:服务器 CPU 使用率偏高、服务器安全组设置不安全、云数据库存在慢SQL等...
服务器 CPU 使用率偏高
云数据库存在慢SQL