各种监控工具

国外linux监控大神:百度搜Brendan D. Gregg

http://www.brendangregg.com/linuxperf.html

linux各种监控工具(必须精通其中几种)_第1张图片

linux各种监控工具(必须精通其中几种)_第2张图片

linux各种监控工具(必须精通其中几种)_第3张图片

linux各种监控工具(必须精通其中几种)_第4张图片

一、hatop

linux交互式进程查看器,支持鼠标点,搜索杀死进程,排序等,功能相当强大,具体参考:

https://www.cnblogs.com/enet01/p/8316006.html

PID:进程标志号,是非零正整数

USER:进程所有者的用户名

PR:进程的优先级别

NI:进程的优先级别数值

VIRT:进程占用的虚拟内存值

RES:进程占用的物理内存值

SHR:进程使用的共享内存值

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数

%CPU:该进程占用的CPU使用率

%MEM:该进程占用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间

COMMAND:进程启动的启动命令名称
[root@linux1 ~]# yum install hatop -y

linux各种监控工具(必须精通其中几种)_第5张图片

二、iftop

linux强大的流量监控工具,可以监控哪些程序占用带宽严重

linux各种监控工具(必须精通其中几种)_第6张图片

还有个命令也很有意思

[root@linux1 ~]# netstat -Iens33
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500  6688500      0      0 0       6485126      0      0      0 BMsU

三、iotop

监控磁盘io的一款强大工具,看哪个程序读写磁盘厉害

参考:

linux各种监控工具(必须精通其中几种)_第7张图片

-n:显示输出次数
-o:只显示有io输出的进程
-b:阻止动态显示

io异常时的输出

[root@linux1 ~]# iotop -bon2
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
Total DISK READ :     386.67 M/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:     386.67 M/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
 18359 be/4 root        0.00 B/s    0.00 B/s  0.00 %  1.09 % [kworker/0:3]
 18414 be/4 root      386.67 M/s    0.00 B/s  0.00 %  0.00 % dd if=/dev/sda of=/dev/null

非交互式,输出pid为18414

[root@linux1 ~]# iotop -botq -p 18414
23:48:22 Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
23:48:22 Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
    TIME   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
23:48:23 Total DISK READ :     378.51 M/s | Total DISK WRITE :       0.00 B/s
23:48:23 Actual DISK READ:     378.51 M/s | Actual DISK WRITE:       0.00 B/s
23:48:23  18414 be/4 root      378.51 M/s    0.00 B/s  0.00 %  0.00 % dd if=/dev/sda of=/dev/null
23:48:24 Total DISK READ :     384.19 M/s | Total DISK WRITE :       0.00 B/s
23:48:24 Actual DISK READ:     384.22 M/s | Actual DISK WRITE:       0.00 B/s
23:48:24  18414 be/4 root      384.19 M/s    0.00 B/s  0.00 %  0.00 % dd if=/dev/sda of=/dev/null
23:48:25 Total DISK READ :     383.16 M/s | Total DISK WRITE :       0.00 B/s
23:48:25 Actual DISK READ:     383.16 M/s | Actual DISK WRITE:       0.00 B/s
23:48:25  18414 be/4 root      383.16 M/s    0.00 B/s  0.00 %  0.00 % dd if=/dev/sda of=/dev/null
23:48:26 Total DISK READ :     382.40 M/s | Total DISK WRITE :       0.00 B/s
23:48:26 Actual DISK READ:     382.40 M/s | Actual DISK WRITE:       0.00 B/s
23:48:26  18414 be/4 root      382.40 M/s    0.00 B/s  0.00 %  0.00 % dd if=/dev/sda of=/dev/null

四、iostat

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

参考:https://www.cnblogs.com/ftl1012/p/iostat.html

# 每隔2s,刷新三次
[root@linux1 yum.repos.d]# iostat 2 3
Linux 3.10.0-957.el7.x86_64 (linux1)    08/19/2019  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.28    0.00    0.83    0.01    0.00   98.88

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.33      2011.50        12.25  107916522     657311
scd0              0.00         0.02         0.00       1028          0
dm-0              0.40        12.49        12.18     670047     653191
dm-1              0.00         0.05         0.00       2460          4
dm-2              0.00         0.02         0.04       1119       2048

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.50    0.00    0.00   99.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0

如果%iowait的值过高,表示硬盘存在I/O瓶颈

如果%idle值高,表示CPU较空闲

如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。

如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

五、vmstat

vmstat(Virtual Memory Statistics 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。

擦考:https://www.cnblogs.com/ftl1012/p/vmstat.html

[root@linux1 yum.repos.d]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      8 184004 401904 298628    0    0  2006    12   87   49  0  1 99  0  0
 0  0      8 184004 401904 298628    0    0     0     0   32   47  0  0 100  0  0
 0  0      8 184004 401904 298628    0    0     0     0   31   43  0  0 100  0  0

六、top

linux各种监控工具(必须精通其中几种)_第8张图片

七、nload

监控网卡和iftop功能差不多

多个网卡的话可以左右或者回车切换

linux各种监控工具(必须精通其中几种)_第9张图片

八、sar

也很牛逼

linux各种监控工具(必须精通其中几种)_第10张图片

九、dstat

自称自己很牛鼻

参考:https://www.cnblogs.com/wuling129/p/4773199.html

参数很多

linux各种监控工具(必须精通其中几种)_第11张图片

十、glance

参考:https://www.cnblogs.com/Huangsh2017Come-on/p/7294247.html

C/S模式

服务端:

[qqq@k8s-master2 ~]$ glances -s

客户端连:

[root@linux1 ~]# glances -c 192.168.38.144

linux各种监控工具(必须精通其中几种)_第12张图片

另:

linux各种监控工具(必须精通其中几种)_第13张图片