安装dstat
yum install dstat 安装glances
yum install python-devel
pip install glances
如果我们安装了 Bottle 这个 web 框架,还能够通过 web 浏览器显示和命令行终端相同的监控界面。
安装bottle
pip install bottle

  1.dstat 使用

man dstat

DSTAT(1)DSTAT(1)

名称
       dstat - 用于生成系统资源统计信息的通用工具 概要
       dstat [-afv] [options ..] [延迟[count]] 描述
       Dstat是vmstat,iostat和ifstat的多功能替代品。 Dstat克服了一些限制并增加了一些额外的功能。        Dstat允许您立即查看所有系统资源,例如。比较磁盘使用情况和中断
       您的IDE控制器,或直接将网络带宽数与磁盘吞吐量进行比较(在相同的时间间隔内)。        Dstat还巧妙地为您提供了列中最详细的信息,并清楚地表明了输出的大小和单位
       显示。减少混乱,减少错误,提高效率。        Dstat在让您为一组接口聚合某个磁盘集或网络带宽的块设备吞吐量方面是独一无二的,
       即。您可以看到构成单个文件系统或存储系统的所有块设备的吞吐量。        Dstat允许将其数据直接写入CSV文件,以便由OpenOffice,Gnumeric或Excel导入和使用以创建图形。        注意
       Sleuthkit的用户可能会发现Sleuthkit将dstat重命名为datastat以避免名称冲突。有关更多信息,请参阅Debian bug#283709
       信息。 OPTIONS
       -c, - cpu
              enable cpu stats(系统,用户,空闲,等待,硬件中断,软件中断)        -C 0,3,总计
              包括cpu0,cpu3和total(当使用-c / - cpu时)        -d, - disk
              启用磁盘统计信息(读取,写入)        -D total,hda
              包括total和hda(当使用-d / - disk时)        -g, - page
              启用页面统计信息(页面输入,页面输出)        -i, - int
              启用中断统计信息        -I 5,10
              包括中断5和10(当使用-i / - int时)        -l, - load
              启用负载平均值统计(1分钟,5分钟,15分钟)        -m, - mem
              启用内存统计(使用,缓冲,缓存,免费)        -n, - net
              启用网络统计(接收,发送)        -N eth1,总计
              包括eth1和total(当使用-n / - net时)        -p, - proc
              启用流程统计(可运行,不可中断,新)        -r,--io
              启用I / O请求统计信息(读取,写入请求)        -s, - swap
              启用交换统计(使用,免费)        -S swap1,总计
              包括swap1和total(当使用-s / - swap时)        -t, - time
              启用时间/日期输出        -T, - och
              启用时间计数器(自纪元以来的秒数)        -y, - sys
              启用系统统计信息(中断,上下文切换)        --aio启用aio stats(异步I / O)        --fs, - filesystem
              启用文件系统统计信息(打开文件,inode)        --ipc enable ipc stats(消息队列,信号量,共享内存)        --lock enable file lock stats(posix,flock,read,write)        --raw enable raw stats(原始套接字)         - 插座
              启用套接字统计信息(total,tcp,udp,raw,ip-fragments)        --tcp enable tcp stats(listen,established,syn,time_wait,close)        --udp enable udp stats(listen,active)        --unix启用unix stats(数据报,流,监听,活动)        --vm enable vm stats(硬页面故障,软页面故障,已分配,免费)        --plugin名
              通过插件名称启用(外部)插件,请参阅PLUGINS了解选项        可能的内部统计数据是
              aio,cpu,cpu24,disk,disk24,disk24old,epoch,fs,int,int24,io,ipc,load,lock,mem,net,page,page24,proc,raw,socket,
              swap,swapold,sys,tcp,time,udp,unix,vm        --list列出内部和外部插件名称        -a, - all
              equals -cdngy(默认)        -f, - fulll
              展开-C,-D,-I,-N和-S发现列表        -v, - vmstat
              equals -pmgdsc -D total         - 比特强制位以字节表示的值         - 浮动
              在屏幕上强制浮动值(与--integer互斥)         - 整数
              在屏幕上强制整数值(与--float互斥)        --bw, - blackwhite
              改变白色背景终端的颜色        --nocolor
              禁用颜色(暗示--noupdate)        --noheaders
              禁用重复标头        --noupdate
              延迟> 1时禁用中间更新         - 输出文件
              将CSV输出写入文件         - 轮廓
              退出dstat时显示性能分析统计信息 PLUGINS
       虽然任何人都可以创建他们自己的dstat插件(并贡献他们)dstat船上有许多插件已经扩展其
       C

  

1、查看全部内存都有谁在占用
dstat -g -l -m -s --top-mem

  

[root@hostuser src]# dstat -g -l -m -s --top-mem
---paging-- ---load-avg--- ------memory-usage----- ----swap--- --most-expensive-
in out | 1m 5m 15m | used buff cach free| used free| memory process
67k 63k| 0 0.02 0.06|1624M 0 128M 67.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.7M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.7M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.6M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.5M| 836M 1212M|sidekiq 5.0. 305M
8192B 0 | 0 0.02 0.06|1625M 0 128M 66.6M| 836M 1212M|sidekiq 5.0. 305M
40k 0 | 0 0.02 0.06|1625M 0 128M 66.6M| 836M 1212M|sidekiq 5.0. 305M
4096B 0 | 0 0.02 0.06|1625M 0 128M 66.2M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.4M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.4M| 836M 1212M|sidekiq 5.0. 305M
32k 0 | 0 0.02 0.06|1625M 0 128M 66.4M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1621M 0 128M 69.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1621M 0 128M 69.9M| 836M 1212M|sidekiq 5.0. 305M
8192B 0 | 0 0.02 0.06|1625M 0 128M 66.6M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.0M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
32k 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.8M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.7M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 66.0M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.06|1625M 0 128M 65.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.05|1625M 0 128M 66.0M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.05|1622M 0 128M 68.9M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.05|1622M 0 128M 69.2M| 836M 1212M|sidekiq 5.0. 305M
28k 0 | 0 0.02 0.05|1625M 0 128M 65.8M| 836M 1212M|sidekiq 5.0. 305M
0 0 | 0 0.02 0.05|1626M 0 128M 65.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 |0.08 0.04 0.06|1626M 0 128M 65.1M| 836M 1212M|sidekiq 5.0. 305M
0 0 |0.08 0.04 0.06|1626M 0 128M 65.3M| 836M 1212M|sidekiq 5.0. 305M
0 0 |0.08 0.04 0.06|1626M 0 128M 65.6M| 836M 1212M|sidekiq 5.0. 305M
0 0 |0.08 0.04 0.0

  

2、显示一些关于CPU资源损耗的数据:
dstat -c -y -l --proc-count --top-cpu

  

[root@hostuser src]# dstat -c -y -l --proc-count --top-cpu
----total-cpu-usage---- ---system-- ---load-avg--- proc -most-expensive-
usr sys idl wai hiq siq| int csw | 1m 5m 15m |tota| cpu process
0 1 99 0 0 0| 676 717 |0.06 0.04 0.06| 291|sidekiq 5.0.40.3
0 0 100 0 0 0| 386 434 |0.06 0.04 0.06| 291|sidekiq 5.0.40.2
0 1 99 0 0 0| 529 642 |0.06 0.04 0.06| 291|unicorn worke0.2
0 0 99 0 0 0| 337 431 |0.06 0.04 0.06| 291|sidekiq 5.0.40.1
1 1 99 0 0 0| 443 561 |0.06 0.04 0.06| 291|sidekiq 5.0.41.2
0 0 100 0 0 0| 401 458 |0.06 0.04 0.06| 291|kworker/5:2 0.1
0 0 99 0 0 0| 442 561 |0.06 0.04 0.06| 291|sidekiq 5.0.40.4
1 0 99 0 0 0| 421 475 |0.06 0.04 0.06| 291|unicorn maste0.1
0 0 99 0 0 0| 374 498 |0.05 0.04 0.06| 292|sidekiq 5.0.40.1
1 2 97 0 0 0|1096 1265 |0.05 0.04 0.06| 289|gitlab-mon 1.1
0 0 99 0 0 0| 430 576 |0.05 0.04 0.06| 289|sidekiq 5.0.40.1
2 1 97 0 0 0|1096 1240 |0.05 0.04 0.06| 292|gitlab-mon 0.6
1 0 99 0 0 0| 654 693 |0.05 0.04 0.06| 292|redis_exporte0.2
1 1 98 0 0 0| 830 898 |0.05 0.04 0.06| 293|prometheus 0.5
1 1 98 0 0 0| 717 631 |0.05 0.04 0.06| 292|sidekiq 5.0.40.4
1 1 99 0 0 0| 490 535 |0.05 0.04 0.06| 292|sshd: root@pt0.6
0 0 100 0 0 0| 388 535 |0.05 0.04 0.06| 292|sidekiq 5.0.40.2
0 0 99 0 0 0| 443 520 |0.05 0.04 0.06| 292|unicorn worke0.4
0 0 99 0 0 0| 425 546 |0.05 0.04 0.06| 292|sidekiq 5.0.40.4

  

 3、查看当前占用I/O、CPU、内存等最高的进程信息
 dstat --top-mem --top-io --top-cpu

  

[root@hostuser src]# dstat --top-mem --top-io --top-cpu
--most-expensive- ----most-expensive---- -most-expensive-
memory process | i/o process | cpu process
sidekiq 5.0. 305M|systemd 144k 31k|sidekiq 5.0.40.3
sidekiq 5.0. 305M|redis-serve 24k 65B|unicorn worke0.4
sidekiq 5.0. 305M|redis-serve 28k 73B|sidekiq 5.0.40.4
sidekiq 5.0. 305M|redis-serve 26k 221B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|redis-serve 27k 65B|prometheus 0.4
sidekiq 5.0. 305M|redis-serve 22k 50B|sidekiq 5.0.40.4
sidekiq 5.0. 305M|redis-serve 31k 75B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|redis-serve 22k 50B|xfsaild/dm-0 0.2
sidekiq 5.0. 305M|gitaly 390k 6B|gitlab-mon 1.0
sidekiq 5.0. 305M|postgres: g 31k 0 |watchdog/6 0.5
sidekiq 5.0. 305M|postgres 421k 0 |gitlab-mon 0.4
sidekiq 5.0. 305M|prometheus 26k 6583B|node_exporter0.8
sidekiq 5.0. 305M|gitlab-mon 1060k 1554B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|unicorn mas 44k 0 |sidekiq 5.0.40.2
sidekiq 5.0. 305M|redis-serve 29k 70B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|redis-serve 24k 55B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|redis-serve 28k 75B|unicorn worke0.2
sidekiq 5.0. 305M|redis-serve 23k 55B|sshd: root@pt0.1
sidekiq 5.0. 305M|redis-serve 31k 8517B|sidekiq 5.0.40.9
sidekiq 5.0. 305M|redis-serve 26k 60B|sidekiq 5.0.40.4
sidekiq 5.0. 305M|redis-serve 26k 60B|sidekiq 5.0.40.1
sidekiq 5.0. 305M|redis-serve 26k 60B|sidekiq 5.0.40.4
sidekiq 5.0. 305M|redis-serve 24k 63B|sidekiq 5.0.40.2
sidekiq 5.0. 305M|gitaly 390k 6B|gitlab-mon 0.9

  

4、将结果输出到CSV文件
dstat --output ./dstat_output.csv
Dstat 0.7.2 CSV output
Author: Dag Wieers <dag@wieers.com> URL: http://dag.wieers.com/home-made/dstat/
Host: hostuser User: root
Cmdline: dstat --output ./dstat_output.csv Date: 19 May 2019 00:01:32 CST total cpu usage dsk/total net/total paging system
usr sys idl wai hiq siq read writ recv send in out int csw
0.312 0.717 98.48 0.443 0 0.048 817221.645 203607.757 0 0 73861.799 71079.351 680.597 718.495
0 0.375 99.625 0 0 0 0 20480 60 194 0 0 421 566
0.629 0.126 99.245 0 0 0 0 0 60 122 0 0 307 364
0 0.251 99.749 0 0 0 0 0 60 114 0 0 337 488
0.126 0.252 99.623 0 0 0 98304 0 60 106 98304 0 362 436
0.125 0.251 99.624 0 0 0 0 0 60 114 0 0 372 504
0 0.251 99.749 0 0 0 0 0 60 98 0 0 300 398
0.126 0.378 99.496 0 0 0 49152 13312 252 286 32768 0 427 560
0 0.251 99.749 0 0 0 0 0 182 190 0 0 289 368
0 0.252 99.748 0 0 0 0 0 120 106 0 0 395 522
0 0.25 99.625 0 0 0.125 0 0 120 106 0 0 285 381
0.508 1.396 98.096 0 0 0 0 0 60 98 0 0 1025 1322
0.126 0.379 99.369 0 0 0.126 147456 0 60 106 0 0 525 637
0.504 1.008 98.489 0 0 0 0 0 60 114 0 0 739 816

  

二、交互性监控工具glances

glances可以在用户终端上实时显示重要的系统信息,并动态刷新内容。glances每隔3秒钟对其进行刷新,我们也可以使用命令行参数修改刷新的频率。与dstat相同的是,glances可以将捕获到的数据保存到文件中;而不同的是glances提供了API接口以便应用程序从glances中获取数据

glances 提供的系统信息

1 CPU使用率;
2 内存使用情况;
3 内核统计信息和运行队列信息;
4 磁盘I/O速度、传输和读/写比率;
5 文件系统中的可用空间;
6 磁盘适配器;
7 网络I/O速度、传输和读/写比率;
8 页面空间和页面速度;
9 消耗资源最多的进程;
10 计算机信息和系统资源。
glances的使用非常简单,直接输入glances命令便进入了一个类似于top命令的交互式界面。在这个界面中,显示了比top更加全面,更加具有可读性的信息。

  为了增加可读性,glances会以不同的颜色表示不同的状态。其中,绿色表示性能良好,元须做任何额外工作;蓝色表示系统性能有一些小问题,用户应当开始关注系统性能;紫色表示性能报警,应当采取措施;红色表示性能问题严重,应当立即处理。
  glances是一个交互式的工具.因此,我们也可以输入命令来控制glances的行为。

  

 如果我们安装了 Bottle 这个 web 框架,还能够通过 web 浏览器显示和命令行终端相同的监控界面。

  glances还支持将采集的数据导人到其他服务中心,包括InfluxDB,Cassandra,CouchDB,OpenTSDB,Prometheus,StatsD,ElasticSearch,RabbitMQ/ActiveMQ,ZeroMQ,Kafka和Riemann。

[root@hostuser src]#  glances -w
Glances Web User Interface started on http://0.0.0.0:61208/

开放61208端口

firewall-cmd --zone=public --add-port=61208/tcp --permanent

重启防火墙
firewall-cmd --reload
执行ifconfig 获取本机ipv4,然后http://ip:61208/

页面会动态刷新监控数据

  

最新文章

  1. javascript的函数
  2. Dev 关于用openFileDialog控件上传图片的问题
  3. windows、ubuntu下eclipse搭建java、Python环境问题总结
  4. Sliverlight 样式
  5. 换行符javajava去除字符串中的空格、回车、换行符、制表符
  6. Android——ListView相关作业(修改版)
  7. CSS Hack技术(一)
  8. 运行在YARN上的MapReduce应用程序(以MapReduce为例)
  9. mongoDb +Java+springboot
  10. 自动清理SQLServerErrorLog错误日志避免太大
  11. Android开发学习之路--数据持久化之初体验
  12. B哥竟然也被裁了,聊一聊我的看法
  13. iOS多线程GCD的使用
  14. JVM(2)--一文读懂垃圾回收
  15. mac 电脑下svn
  16. centos swap
  17. 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置
  18. Java理论学时第一节。课后作业。
  19. day05_雷神_函数进阶
  20. Ceph/共享存储 汇总

热门文章

  1. 全网最全!小白搭建hexo+Github/Gitee/Coding
  2. 剑指offer 面试题36.二叉搜索树与双向链表
  3. Vue - 动态组件 &amp; 异步组件
  4. Error: Invalid CSS after &quot;xxx&quot;: expected 1 selector or at-rule, was &quot;{}&quot;
  5. 公有IP和私有IP的区别
  6. 欧拉降幂 (a^t)%c 模板
  7. 剑指OFFER之合并两个排序的链表
  8. Ubuntu16 nginx 配置 Let&#39;s Encrypt 免费ssl
  9. 树莓派raspbian安装matchbox-keyboard虚拟键盘
  10. layui-表格宽度自适应