3 网卡实时流量分析

Posted captain0815

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3 网卡实时流量分析相关的知识,希望对你有一定的参考价值。

1 安装软件包
#yum -y install sysstat
sar命令
目录
1.查看CPU使用情况 ?sar -u

2.将统计结果保存到文件 sar -o ?& ?sar -f

3.查看平均负载 ?sar -q

4.查看内存使用情况 ?sar -r

5.查看系统swap分区统计情况 ?sar -W

6.查看IO和传递速率 ?sar -b

7.查看磁盘使用情况 ?sar -d

  1. 统计网络信息 sar -n?

8.1 ?网络接口信息 sar -n DEV

8.2?网络设备通信失败信息 sar -n EDVE

8.3统计socket连接信息 ?sar -n SOCK

8.4 TCP连接的统计 ?sar -n TCP?

使用总结

?

语法格式
? ?sar [ 选项 ] [ <时间间隔> [ <次数> ] ]

sar -h 显示:

-A:所有报告的总和

-b:显示I/O和传递速率的统计信息

-B:显示换页状态

-d:输出每一块磁盘的使用信息

-e:设置显示报告的结束时间

-f:从制定的文件读取报告

-i:设置状态信息刷新的间隔时间

-P:报告每个CPU的状态

-R:显示内存状态

–u:输出cpu使用情况和统计信息

–v:显示索引节点、文件和其他内核表的状态

-w:显示交换分区的状态

-x:显示给定进程的装

-r:报告内存利用率的统计信息

?

1.查看CPU使用情况 ?sar -u
sar 1 3 ?或 sar -u 1 3

%user ? 用户空间的CPU使用

%nice ? 改变过优先级的进程的CPU使用率

%system ? 内核空间的CPU使用率

%iowait ? CPU等待IO的百分比?

%steal ? 虚拟机的虚拟机CPU使用的CPU

%idle ? 空闲的CPU

在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。??

2.将统计结果保存到文件 sar -o ?& ?sar -f
sar -o test 1 3 #保存
sar -f test #查看

3.查看平均负载 ?sar -q
sar -q 1 3

runq-sz ? ?运行队列的长度(等待运行的进程数,每核的CP不能超过3个)

plist-sz ? 进程列表中的进程(processes)和线程数(threads)的数量

ldavg-1 ?最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推

ldavg-5 ? 最后5分钟的CPU平均负载

ldavg-15 ?最后15分钟的CPU平均负载

blocked ??

4.查看内存使用情况 ?sar -r
sar -r 1 3

kbmemfree ? 空闲的物理内存大小

kbmemused ? 使用中的物理内存大小

%memused ?物理内存使用率

kbbuffers ?内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.?

kbcached ?缓存的文件大小

kbcommit ? 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)

commit ? 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

kbactive ?

kbinact?

kbdirty?

5.查看系统swap分区统计情况 ?sar -W
sar -W 1 3

pswpin/s ? ?每秒从交换分区到系统的交换页面(swap page)数量

pswpott/s ? 每秒从系统交换到swap的交换页面(swap page)的数量

6.查看IO和传递速率 ?sar -b
sar -b 1 3

tps ?磁盘每秒钟的IO总数,等于iostat中的tps

rtps ?每秒钟从磁盘读取的IO总数

wtps ?每秒钟从写入到磁盘的IO总数

bread/s ?每秒钟从磁盘读取的块总数

bwrtn/s ?每秒钟此写入到磁盘的块总数

7.查看磁盘使用情况 ?sar -d
sar -d

DEV ?磁盘设备的名称,如果不加-p,会显示dev253-0类似的设备名称,因此加上-p显示的名称更直接

tps ?每秒I/O的传输总数

rd_sec/s ?每秒读取的扇区的总数

wr_sec/s ?每秒写入的扇区的总数

avgrq-sz ?平均每次次磁盘I/O操作的数据大小(扇区)

avgqu-sz ?磁盘请求队列的平均长度

await ?从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间

svctm ?I/O的服务处理时间,即不包括请求队列中的时间

%util ?I/O请求占用的CPU百分比,值越高,说明I/O越慢

  1. 统计网络信息 sar -n?
    ?? ?-n { <关键词> [,...] | ALL }
    ?? ??? ?关键词可以是:
    ?? ??? ?DEV?? ?网卡
    ?? ??? ?EDEV?? ?网卡 (错误)
    ?? ??? ?NFS?? ?NFS 客户端
    ?? ??? ?NFSD?? ?NFS 服务器
    ?? ??? ?SOCK?? ?Sockets (套接字)?? ?(v4)
    ?? ??? ?IP?? ?IP 流?? ?(v4)
    ?? ??? ?EIP?? ?IP 流?? ?(v4) (错误)
    ?? ??? ?ICMP?? ?ICMP 流?? ?(v4)
    ?? ??? ?EICMP?? ?ICMP 流?? ?(v4) (错误)
    ?? ??? ?TCP?? ?TCP 流?? ?(v4)
    ?? ??? ?ETCP?? ?TCP 流?? ?(v4) (错误)
    ?? ??? ?UDP?? ?UDP 流?? ?(v4)
    ?? ??? ?SOCK6?? ?Sockets (套接字)?? ?(v6)
    ?? ??? ?IP6?? ?IP 流?? ?(v6)
    ?? ??? ?EIP6?? ?IP 流?? ?(v6) (错误)
    ?? ??? ?ICMP6?? ?ICMP 流?? ?(v6)
    ?? ??? ?EICMP6?? ?ICMP 流?? ?(v6) (错误)
    ?? ??? ?UDP6?? ?UDP 流?? ?(v6)

8.1 ?网络接口信息 sar -n DEV
sar -n DEV 1 1

IFACE ?本地网卡接口的名称

rxpck/s ?每秒钟接受的数据包

txpck/s ?每秒钟发送的数据库

rxKB/S ?每秒钟接受的数据包大小,单位为KB

txKB/S ?每秒钟发送的数据包大小,单位为KB

rxcmp/s ?每秒钟接受的压缩数据包

txcmp/s ?每秒钟发送的压缩包

rxmcst/s ?每秒钟接收的多播数据包????

8.2?网络设备通信失败信息 sar -n EDVE
sar -n EDEV 1 1

IFACE 网卡名称

rxerr/s ?每秒钟接收到的损坏的数据包

txerr/s ?每秒钟发送的数据包错误数

coll/s ?当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有

rxdrop/s ?当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目

txdrop/s 当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目

txcarr/s ?当发送数据包的时候,每秒钟载波错误发生的次数

rxfram/s? ?在接收数据包的时候,每秒钟发生的帧对其错误的次数

rxfifo/s ? ?在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数

txfifo/s ? ?在发生数据包 的时候,每秒钟缓冲区溢出的错误发生的次数

8.3统计socket连接信息 ?sar -n SOCK
sar -n SOCK 1 1

totsck ?当前被使用的socket总数

tcpsck ?当前正在被使用的TCP的socket总数

udpsck ? 当前正在被使用的UDP的socket总数

rawsck ?当前正在被使用于RAW的skcket总数

if-frag ? 当前的IP分片的数目

tcp-tw ?TCP套接字中处于TIME-WAIT状态的连接数量

8.4 TCP连接的统计 ?sar -n TCP?
sar -n TCP 1 1

active/s ?新的主动连接

passive/s ?新的被动连接

iseg/s ?接受的段

oseg/s ?输出的段

?

使用总结
默认监控: sar 1 1 // CPU和IOWAIT统计状态

(1) sar -b 1 1 // IO传送速率

(2) sar -B 1 1 // 页交换速率

(3) sar -c 1 1 // 进程创建的速率

(4) sar -d 1 1 // 块设备的活跃信息

(5) sar -n DEV 1 1 // 网路设备的状态信息

(6) sar -n SOCK 1 1 // SOCK的使用情况

(7) sar -n ALL 1 1 // 所有的网络状态信息

(8) sar -P ALL 1 1 // 每颗CPU的使用状态信息和IOWAIT统计状态

(9) sar -q 1 1 // 队列的长度(等待运行的进程数)和负载的状态

(10) sar -r 1 1 // 内存和swap空间使用情况

(11) sar -R 1 1 // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)

(12) sar -u 1 1 // CPU的使用情况和IOWAIT信息(同默认监控)

(13) sar -v 1 1 // inode, file and other kernel tablesd的状态信息

(14) sar -w 1 1 // 每秒上下文交换的数目

(15) sar -W 1 1 // SWAP交换的统计信息(监控状态同iostat 的si so)

(16) sar -x 2906 1 1 // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上

(17) sar -y 1 1 // TTY设备的活动状态

(18) 将输出到文件(-o)和读取记录信息(-f)
?
原文链接:https://blog.csdn.net/liyongbing1122/article/details/89517282

以上是关于3 网卡实时流量分析的主要内容,如果未能解决你的问题,请参考以下文章

运维工作常用的性能分析工具介绍-iftop

分析ADG网卡流量出现规律性毛刺现象

在电商行业,采用flink进行热门实时流量统计,流量PV和UV分析市场营销分析恶意登录监控订单支付实时监控等场景的解决方案

Shell应用之网卡流量监测

道路交通实时流量监控预测系统

Linux查看实时网卡流量的几种方式