两招定位服务器高负载异常告警

    机器高负载告警一般是CPU负载在99-100%,同时伴有大量的网络出包和入包量,常见的原因是机器在某个时段进行LOG,数据等备份操作。

 

1,首先,执行top -d 1,查看CPU的负载情况和对应的繁忙的进程列表,如果要查看到各个核的CPU负载,只需按1即可切换到该视图。

     该命令的使用具体请看<<linux下如何查看多核负载情况>>

     如下图:

     两招定位服务器高负载异常告警_第1张图片

     可以看出,PID=15514的进程名字为rsync在进行同步文件操作,占CPU 99%

 

2,  查看该进程(PID=15514)的具体打开了哪些IO操作(包括网络socket),执行命令

     lsof -p 15514

     注意该命令需要root权限,可以通过su命令切换到root用户。

 

     两招定位服务器高负载异常告警_第2张图片

 

     可以看出,在该时刻,进程rsync在进行非常频繁的文件备份操作,并且是从IP后缀是102的机器,同步到IP后缀是87的机器,此时正在读取的文件是/data/log/sch_inorder_insert-1.0/back/201003.tar.gz

 

     这个是在指定的时间点进行现场抓包,也可以通过查看/var/log/messages 系统流水进行查看connection from来自哪个IP的请求:

     需要root密码

     cat /var/log/messages | grep "connection from"

     一般可以看出在系统通过ssh连接到该机器的rsync同步操作,但若对应的rsync不是通过ssh机制,则无法在该log中看到,这时候可以需要现场抓包了。

你可能感兴趣的:(linux,socket,网络,服务器,ssh,2010)