Linux dstat 监控工具[通俗易懂]

Linux dstat 监控工具[通俗易懂]简述dstat是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘…

大家好,又见面了,我是你们的朋友全栈君。

Linux dstat 监控工具[通俗易懂]


简述

dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。

dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。

dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。

dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。

特性

⒈结合了vmstat,iostat,ifstat,netstat以及更多的信息
⒉实时显示统计情况
⒊在分析和排障时可以通过启用监控项并排序
⒋模块化设计
5.使用python编写的,更方便扩展现有的工作任务
6.容易扩展和添加你的计数器(请为此做出贡献)
7.包含的许多扩展插件充分说明了增加新的监控项目是很方便的
8.可以分组统计块设备/网络设备,并给出总数
9.可以显示每台设备的当前状态
10.极准确的时间精度,即便是系统负荷较高也不会延迟显示
11.显示准确地单位和和限制转换误差范围
12.用不同的颜色显示不同的单位
13.显示中间结果延时小于1秒
14.支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形

RHEL/Centos和Fedora系统:

你可以在romforge软件库中添加有相关安装包,参照指导,使用如下命令很简单就能进行安装:

# yum install dstat

Linux dstat 监控工具[通俗易懂]

 

工具是基于Python开发的安装了Python3的可能运行会报错

Linux dstat 监控工具[通俗易懂]

需要修改下启动文件的python路径

使用方法

dstat的基本用法就是输入dstat命令,输出如下:

这是默认输出显示的信息:

Linux dstat 监控工具[通俗易懂]

CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到”wait”一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在”waits”时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。

磁盘统计(dsk):磁盘的读写操作,这一栏显示磁盘的读、写总数。

网络统计(net):网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。

分页统计(paging):系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。

系统统计(system):这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按”CTRL+C”键。

需要注意的是报告的第一行,通常这里所有的统计都不显示数值的。

这是由于dstat会通过上一次的报告来给出一个总结,所以第一次运行时是没有平均值和总值的相关数据。

但是dstat可以通过传递2个参数运行来控制报告间隔和报告数量。例如,如果你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果,你可以运行如下命令:

Linux dstat 监控工具[通俗易懂]

在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多数常用的参数有这些:

-l :显示负载统计量

-m :显示内存使用率(包括used,buffer,cache,free值)

-r :显示I/O统计

-s :显示交换分区使用情况

-t :将当前时间显示在第一行

–fs :显示文件系统统计数据(包括文件总数量和inodes值)

–nocolor :不显示颜色(有时候有用)

–socket :显示网络统计数据

–tcp :显示常用的TCP统计

–udp :显示监听的UDP接口及其当前用量的一些动态数据

当然不止这些用法,dstat附带了一些插件很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:

-–disk-util :显示某一时间磁盘的忙碌状况

-–freespace :显示当前磁盘空间使用率

-–proc-count :显示正在运行的程序数量

-–top-bio :指出块I/O最大的进程

-–top-cpu :图形化显示CPU占用最大的进程

-–top-io :显示正常I/O最大的进程

-–top-mem :显示占用最多内存的进程

举一些例子:

查看全部内存都有谁在占用:

Linux dstat 监控工具[通俗易懂]

显示一些关于CPU资源损耗的数据:

# dstat -c -y -l –proc-count –top-cpu

Linux dstat 监控工具[通俗易懂]

如何输出一个csv文件

想输出一个csv格式的文件用于以后,可以通过下面的命令:

#  dstat  -cdngy  –output /opt/sjzywsq.csv

Linux dstat 监控工具[通俗易懂]


欢迎关注“石家庄运维社区” 后续还将持续更新更多精彩内容,觉得这个公众号还可以烦请转发到您的朋友圈,帮助到更多的人 谢谢!!!

Linux dstat 监控工具[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150115.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SELinux系列(五)——SELinux工作模式设置(getenforce、setenforce和sestatus命令)[通俗易懂]

    SELinux系列(五)——SELinux工作模式设置(getenforce、setenforce和sestatus命令)[通俗易懂]除了通过配置文件可以对SELinux进行工作模式的修改之外,还可以使用命令查看和修改SELinux工作模式。首先,查看系统当前SELinux的工作模式,可以使用getenforce命令;而如果想要查看配置文件中的当前模式和模式设置,可以使用sestatus命令,下面的代码显示了这两个命令:[root@localhost~]#getenforce#查询SELinux的运行模式Enforcing#当前的SELinux是强制模式[root@localhost~]#s.

    2022年6月27日
    40
  • 10个JS常见算法题目

    10个JS常见算法题目1、冒泡排序调优(从小到大排序)2、输出九九乘法表3、输出水仙花数4、1–10的阶乘和5、输出1900年至2100年中的所有闰年6、输出10–100之间的所有素数7、1,2,3,4四个数字,能组合成多少种互不相同且没有重复的三位数8、取出四位数中的各个位上的数字9、猴子吃桃问题10、用星号输出菱形。源码如下:js算法题目练习&…

    2022年6月29日
    50
  • 有效避免JS全局变量污染

    有效避免JS全局变量污染1、使用名称空间varA={};//必须定义为对象A.person={name:"zhangsan",age:18,body:{height:"180cm",weight:"70kg"}};//var定义的全局不能被删除//deleteA;//隐式全局变量被删除//deleteA.p…

    2022年5月9日
    38
  • 创建servlet的4个步骤_映射不能一对多还是多对一

    创建servlet的4个步骤_映射不能一对多还是多对一Servlet接口的实现类,路径配置映射,ServletConfig对象,ServletContext对象及web工程中文件的读取…

    2022年4月20日
    55
  • LHS和RHS理解

    LHS和RHS理解最近在重学前端 遇到 LHS 和 RHS 两个名词 这里记录下 方便深入理解两个概念见名知意 L 和 R 的含义 它们分别代表左侧和右侧 这里举一个简单的例子 console log a 在这段代码中 a 就是进行 RHS 查询 因为我们并没有对 a 进行赋值操作 而是直接引用了 a 我们需要查找并拿到 a 的值才能传递给 console log 如果 a 2 这里对 a 的引用则是 LHS 引用 LHS

    2025年8月23日
    3
  • 动态dns有什么好处_动态DNS设置

    动态dns有什么好处_动态DNS设置1.核心思想配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在

    2022年8月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号