Centos排查流量异常进程

xiaohai 2020-08-18 09:28:05 460人围观 标签: Centos 
简介有时候当服务器出现流量出入过高的时候,需要去如何排查是哪些进程在使用,本文主要记录如何通过相关命令来进行排查。

1、基本知识

1.1、iftop介绍

一般涉及到流量的监控,经常会使用iftop,首先安装iftop:

yum install iftop -y

使用iftop命令,界面如下:
image.png

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的<= =>这两个左右箭头,表示的是流量的方向。

界面相关参数说明

  • TX:发送流量
  • RX:接收流量
  • TOTAL:总流量
  • cumm:运行iftop以来的总流量
  • peak:峰值流量
  • rates:分别表示过去 2s 10s 40s时间内网卡总的平均流量

iftop相关命令参数可以使用-h进行查看,这里主要说一个查看网卡有哪些IP和端口有流量流入流出:

iftop -i ensxxx -n -P #ensxxx表示网卡名称,可以通过ifconfig查看
1.2、查看某个端口被什么进程占用
#方式1 lsof -i :22 #22端口被哪个进程占用 #方式2 netstat -lnp|grep 7000 #7000端口被哪个进程占用

下面,根据我们以上的基本知识来进行排查

2、查看网卡流量流入流出信息

通过ifconfig查看某个网卡流量流入流出量:
image.png

知道ens33网卡流量流入流出量很大,通过iftop查看网卡有哪些IP和端口在使用:

iftop -i ens33 -n -P

image.png

从上面可以看出有27017、ssh、redis这些服务有流量流入流出信息。

3、查看某个端口对应的进程或服务

[root@localhost ~]# lsof -i :27017 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 21774 root 4u IPv6 235581 0t0 TCP *:27017 (LISTEN) [root@localhost ~]# lsof -i :redis COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 21746 root 4u IPv6 233002 0t0 TCP *:redis (LISTEN) [root@localhost ~]# lsof -i :ssh COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 940 root 5u IPv4 26047 0t0 TCP *:ssh (LISTEN) sshd 940 root 7u IPv6 26049 0t0 TCP *:ssh (LISTEN) sshd 24890 root 5u IPv4 270713 0t0 TCP localhost.localdomain:ssh->192.168.193.1:52755 (ESTABLISHED) sshd 24907 root 5u IPv4 270713 0t0 TCP localhost.localdomain:ssh->192.168.193.1:52755 (ESTABLISHED)

从以上可以了解到有什么样的进程在跑流量了,这就是大致的排查思路。

4、延伸阅读

网络流量实时监控工具nload:nload是个很好用的一个工具,功能也很强.只是相对单一,只能查看总的流量,不能像iptraf那样,可针对IP,协议等可以实时地监控网卡的流量,分Incoming,Outgoing两部分,也就是流入与流出的流量。同时统计当前,平均,最小,最大,总流量的值,使人看了一目了然。

安装:

yum install -y nload

nload的显示信息也是支持设置显示单位的。我们可以加入-u 参数,其后可以跟h(表示自动格式化为易读的单位)、b(表示为Bit/s)、k(表示为KBit/s)、m(表示为MBit/s),g(表示为GBit/s)。例如下面我们输入如命令"nload -u m",就是以MB为单位。

默认上边Incoming是进入网卡的流量;
默认下边Outgoing是网卡出去的流量;
默认右边(Curr当前流量)、(Avg平均流量)、(Min最小流量)、(Max最大流量)、(Ttl流量统计)

基本使用:

nload

image.png
通过上下键切换不同的网卡设备。

查看某个网卡,并设置查看显示单位:

nload 网卡名称 -u 以什么单位显示

如:

nload ens33 -u m