linux动态监控dstat&&glances&&psutil&&bottle
安装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/
页面会动态刷新监控数据
linux动态监控dstat&&glances&&psutil&&bottle的更多相关文章
- Linux系统监控实用工具Glances
Linux系统监控实用工具Glances Glances安装 Glances安装要求:python >= 2.6 和 psutil >= 0.4.1 1.第一步,安装了python-> ...
- python进行linux系统监控
python进行linux系统监控 Linux系统下: 静态指标信息: 名称 描述 单位 所在文件 mem_total 内存总容量 KB /proc/meminfo disks 磁盘相关信息 - ...
- Linux中监控命令top命令使用方法详解
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...
- [转载]你需要知道的 16 个 Linux 服务器监控命令
转载自: 你需要知道的 16 个 Linux 服务器监控命令 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 ...
- zabbix实现对磁盘动态监控
zabbix实现对磁盘动态监控 前言 zabbix一直是小规模互联网公司服务器性能监控首选,首先是免费,其次,有专门的公司和社区开发维护,使其稳定性和功能都在不断地增强和完善.zabbix拥有详细的U ...
- Linux动态频率调节系统CPUFreq之二:核心(core)架构与API
上一节中,我们大致地讲解了一下CPUFreq在用户空间的sysfs接口和它的几个重要的数据结构,同时也提到,CPUFreq子系统把一些公共的代码逻辑组织在一起,构成了CPUFreq的核心部分,这些公共 ...
- Linux开源监控平台归总
Linux开源监控平台归总 Cacti 偏向于基础监控.成图非常漂亮,需要php环境支持,并且需要mysql作为数据存储 Cacti是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何 ...
- linux上监控tomcat down掉后自动重启tomcat
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- [转]linux 系统监控、诊断工具之 IO wait
1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...
随机推荐
- 面试题17.打印从1到最大的n位数
void print_n_number(int n){ if(n<=0){ cout<<"fuckyou"; return; } string s="1 ...
- android Seekbar 拖动按钮显示不全问题
增加下面属性即可解决: android:thumbOffset="0dip" <SeekBar android:id="@+id/controller_progre ...
- 虚拟机下的Linux连接校园网上网问题
安装了CentOS7后,本地Windows系统连接用的是校园网,虚拟机用的是桥接模式,无法上网. 解决的办法是:找到连接的校园网的网卡,给虚拟机的VMnet8共享. 步骤:打开[网络和共享中心]-[更 ...
- FreeRTOS学习笔记1:任务
任务特性每个任务有自己的环境,不依赖于其他任务与调度器任何时间点只有一个任务运行.由调度器决定上下文环境:(寄存器值.堆栈内容等)调度器保证的就是任务开始执行时的上下文环境与上一次退出时相同所以每个任 ...
- opencv:图像轮廓发现
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- bugku 本地包含
本地包含 题目信息 地址:http://123.206.87.240:8003/ <?php include "flag.php"; $a = @$_REQUEST['hel ...
- 寒假安卓app开发学习记录(4)
今天的任务第一个项目运行并部署.没想到第一个环节就出现了错误,运行之后eclipse报错:Errors occurred during the build.Errors running builder ...
- 【DRF版本控制】
目录 使用内置的URLPathVersioning类 使用自定义的版本控制类 "首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版 ...
- Linux下mysql使用systemctl restart mysqld命令失败
Linux下mysql使用systemctl restart mysqld命令失败: 解决方法:将mysql赋予root的权限 vim /etc/passwd 找到mysql开头的一行文件mysql: ...
- Python - metaclass元类(图)
个人总结