最近收到线上一台DB服务器ping丢包,丢包率一直在30%左右。通过Zabbix监控查看了服务器CPU,内存都很正常,网卡流量也不高,基本在100M左右。
首先确认一下服务器硬件是否正常,由于没有收到硬件报警。登录服务器通过HP管理工具在此确认了硬件信息都正常(硬盘,缓存卡,内存等)。
第二步在排查一下系统问题,通过top,ps等命令也没有发现什么异常,基本上排除系统问题。
第三步查看了一下该服务器上联监控机端口流量,也都很正常,由于收到只有这一台服务器报警,也排除了上联交换机故障问题。
最后向同事咨询了服务器承载业务类型,每2分钟会同步大量的数据文件到该服务器上面,然后用sar命令查看一下网卡流量,发现发送流量瞬间在12万KB/s,换算成b/s基本上在940-950Mb/s,意味着千兆网卡流量基本上爆满,才会引起服务器ping丢包。
由于我的监控是每5分钟抓一次,所以对应服务器瞬间高流量都没有获取到,还得优化一下监控时间间隔。
下面顺便总结一下sar命令常用的选项,sar命令行的常用格式如下:
1)查看CPU信息,1表示1秒钟取一次值,2表示采集2次数据。
Linux2.6.32-358.el6.x86_64(monitor)08/05/16_x86_64_(24CPU)10:51:39CPU%user%nice%system%iowait%steal%idle10:51:40all0.080.000.170.000.0099.7510:51:41all0.210.000.210.000.0099.58Average:all0.150.000.190.000.0099.67
输出项说明:
%user显示在用户级别(application)运行使用CPU总时间的百分比。%nice显示在用户级别,用于nice操作,所占用CPU总时间的百分比。%system在核心级别(kernel)运行所使用CPU总时间的百分比。%iowait显示用于等待I/O操作占用CPU总时间的百分比。%steal管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。%idle显示CPU空闲时间占用CPU总时间的百分比。
2)查看网络接口信息。
[root@monitor~]#sar-nDEV12Linux2.6.32-358.el6.x86_64(monitor)08/05/16_x86_64_(24CPU)11:04:22IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s11:04:23lo0.000.000.000.000.000.000.0011:04:23eth0140.40170.7198.0784.000.000.002.0211:04:23eth10.000.000.000.000.000.000.0011:04:23eth20.000.000.000.000.000.000.0011:04:23eth30.000.000.000.000.000.000.0011:04:23IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s11:04:24lo0.000.000.000.000.000.000.0011:04:24eth040.5926.7341.624.170.000.000.9911:04:24eth10.000.000.000.000.000.000.0011:04:24eth20.000.000.000.000.000.000.0011:04:24eth30.000.000.000.000.000.000.00Average:IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/sAverage:lo0.000.000.000.000.000.000.00Average:eth090.0098.0069.5643.690.000.001.50Average:eth10.000.000.000.000.000.000.00Average:eth20.000.000.000.000.000.000.00Average:eth30.000.000.000.000.000.000.00
输出项说明:
rxmcst/s每秒接收的多播(multicast)包的总数3)查看磁盘1/0信息。Linux2.6.32-358.el6.x86_64(monitor)08/05/16_x86_64_(24CPU)11:07:55tpsrtpswtpsbread/sbwrtn/s11:07:5611.110.0011.110.00129.2911:07:576.930.006.930.0063.37Average:9.000.009.000.0096.00
输出项说明:
bread/s每秒钟从物理设备读入的数据量,单位为块/sbwrtn/s每秒钟向物理设备写入的数据量,单位为块/s
总结:在系统运维的过程中,一般关注服务器的下面指标。
CPU使用率:如果服务器CPU使用率超过80-85%,说明服务器CPU处理能力比较繁忙,需要提升CPU性能。
CPU iowait:如果服务器CPU iowait的值大于5-10%,说明磁盘I/O存在瓶颈,需要提升硬盘的读写速度。
网卡流量:网卡流量和上联交换机和服务器网卡都有关系。如果系统和网络都正常,服务器出现丢包,应该考虑网卡的吞吐率是否达到上限而出现的丢包。
|