资源监控工具——dool

1、简介

在 Linux 系统管理和运维过程中,系统性能的实时监控尤为关键。传统上,我们依赖多个工具如 vmstatiostatnetstatmpstatifstat 等分别完成虚拟内存、IO、网络、CPU 使用率等方面的监测。然而,如果希望统一视角、高效集成且具备扩展能力,dool 无疑是最理想的选择。

dool 是一个基于命令行的多功能资源监控工具,能够集成并展示多个系统指标,具有出色的可视化输出和高度可扩展性,甚至支持通过 Python 编写插件进行功能拓展。

GitHub 项目主页:https://github.com/scottchiefbaker/dool

2、特点

功能描述
🧩 多工具集成集成 vmstatnetstatiostatmpstatifstat 等工具能力
🖥️ 实时并行展示所有指标同屏实时刷新,清晰可读
⚙️ 模块化插件系统支持插件扩展,Python 开发者可编写自定义监控模块
🎨 智能着色显示使用颜色区分单位和指标,便于肉眼识别
📦 单位精准换算避免常见的 KB/MB/GB 误解,保持准确统计
📈 可导出 CSV 报告可将结果输出为 Excel / Gnumeric 支持的 CSV 文件
⏱️ 高负载抗压能力保持高精度计时,即使在系统压力高峰期
📊 支持设备分组聚合磁盘或网卡设备统计,便于整体观察

3、使用场景

日常系统运行状态监控

  • 实时查看 CPU、内存、磁盘 IO、网络吞吐等关键资源使用情况。
  • 快速判断系统是否运行在健康状态。

性能调优与容量评估

  • 对比不同时间段系统负载变化趋势。
  • 评估系统瓶颈位置(如 CPU 负载高、磁盘 IO 慢等)。
  • 辅助扩容决策,如内存是否需升级、网络是否达到上限。

故障排查与瓶颈分析

  • 突发性能异常时快速定位异常资源(高 CPU/内存进程)。
  • 发现“占用但不释放”的系统资源或后台进程。

4、安装部署

安装步骤(适用于主流 Linux 系统)

#下载
root@huqi-virtual-machine:~# git clone https://github.com/scottchiefbaker/dool.git
正克隆到 'dool'...
remote: Enumerating objects: 4485, done.
remote: Counting objects: 100% (820/820), done.
remote: Compressing objects: 100% (130/130), done.
remote: Total 4485 (delta 748), reused 705 (delta 690), pack-reused 3665 (from 1)
接收对象中: 100% (4485/4485), 1.12 MiB | 142.00 KiB/s, 完成.
处理 delta 中: 100% (3203/3203), 完成.

#进入目录
root@huqi-virtual-machine:~# cd dool/

#执行安装脚本
root@huqi-virtual-machine:~/dool# ./install.py
You are root, doing a local install

Installing binaries to /usr/bin/
Installing plugins  to /usr/share/dool/
Installing manpages to /usr/share/man/man1/

Install complete. Dool installed to /usr/bin/dool

安装完成后,dool 会被安装到 /usr/bin/dool,插件放置于 /usr/share/dool/,man手册位于 /usr/share/man/man1/

5、基础用法示例

默认监控界面

root@huqi-virtual-machine:~# dool
Using default plugins: cpu, disk, net, load
┄┄total┄cpu┄usage┄┄┬┄dsk/total┄┬┄net/total┄┬┄┄┄load┄avg┄┄┄┬┄┄┄┄┄system┄┄┄┄
usr sys idl wai stl│ read  writ│ recv  send│ 1m   5m  15m │      time     
  2   1  97   0   0│2666k 2891k│   0     0 │   00.01 0.05│Jul-25 11:00:57
  0   0100   0   0│   0     0 │  22k 8336b│   00.01 0.05│Jul-25 11:00:58
  0   0  99   0   0│   0     0 │7920b 3024b│   00.01 0.05│Jul-25 11:00:59
  0   0  99   0   0│   0     0 │  39k 2960b│   00.01 0.05│Jul-25 11:01:00
  0   0100   0   0│   0     0 │ 480b 3024b│   00.01 0.05│Jul-25 11:01:01
  0   0100   0   0│   0     0 │  22k 2960b│   00.01 0.05│Jul-25 11:01:02   

输出包括 CPU 使用率、磁盘读写、网络收发、系统负载、时间戳等核心指标,默认每秒刷新一次。

vmstat 风格输出

root@huqi-virtual-machine:~# dool --vmstat
┄┄┄procs┄┄┄┬┄┄┄┄┄┄memory┄usage┄┄┄┄┄┬┄┄┄paging┄┄┬┄dsk/total┄┬┄┄┄system┄┄┬┄┄total┄cpu┄usage┄┄
run blk new│ used  free  cach  avai│  in   out │ read  writ│ int   csw │usr sys idl wai stl
  0   01.1│1532M  147M 1994M 2327M│   7B  408B│2660k 2885k│ 343   459 │  2   1  97   0   0
  0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │ 125   178 │  0   0100   0   0
  0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │ 108   166 │  0   0100   0   0
  0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │ 109   179 │  0   0100   0   0
  0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │ 105   165 │  0   0100   0   0
  0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │  90   146 │  0   0100   0   0
1.0   0   0│1532M  147M 1994M 2327M│   0     0 │   0     0 │ 102   169 │  0   0100   0   0

可查看进程状态、内存使用、分页、磁盘IO、中断上下文切换及CPU详情。

6、高级使用示例

监控 CPU 与内存占用最高进程

root@huqi-virtual-machine:~# dool -c --top-cpu -dn --top-mem
┄┄total┄cpu┄usage┄┄┬┄┄┄most┄expensive┄┄┄┬┄dsk/total┄┬┄net/total┄┬┄┄most┄expensive┄
usr sys idl wai stl│    cpu process     │ read  writ│ recv  send│  memory process 
  2   1  97   0   0│gnome-shell      0.2│2641k 2865k│   0     0 │gnome-shell  423M
  0   1  99   0   0│systemd-oomd     0.2│   0     0 │ 480b 8080b│gnome-shell  423M
  1   1  98   0   0│vmtoolsd         0.2│   0     0 │  24k 3152b│gnome-shell  423M
  1   1  99   0   0│sudo             0.2│   0     0 │ 480b 3152b│gnome-shell  423M
  1   1  98   0   0│gnome-shell      0.2│   0     0 │3880b 3864b│gnome-shell  423M
  1   0  98   0   0│                    │   0     0 │ 480b 3152b│gnome-shell  423M  

集合 CPU 总体使用率、Top CPU 占用进程、磁盘/网络流量、Top 内存占用进程于同一界面。

采样并导出为 CSV 报表

root@huqi-virtual-machine:~# dool --time --cpu --mem --load --output report.csv 1 10

每 1 秒采样一次,共采样 10 次,记录时间戳、CPU、内存、系统负载数据到 CSV 文件,便于后续分析或报表整理。

查看所有可用插件

root@huqi-virtual-machine:~# dool --list
internal:
aio,cpu,cpu-adv,cpu-use,disk,epoch,fs,int,io,ipc,load,lock,mem,mem-adv,net,page,proc,raw,socket,swap,sys,tcp,time,udp,unix,vm,vm-adv,zones
/usr/share/dool:
battery,battery-remain,bond,condor-queue,cpufreq,dbus,disk-avgqu,disk-avgrq,disk-inflight,disk-svctm,disk-tps,disk-util,disk-wait,dool,dool-cpu,dool-ctxt,dool-mem,dool-step,fan,freespace,fuse,gpfs,gpfs-ops,helloworld,ib,innodb-buffer,innodb-io,innodb-ops,jvm-full,jvm-vm,lnet,lustre,md-status,mem-percent,
memcache-hits,mongodb-conn,mongodb-mem,mongodb-opcount,mongodb-queue,mongodb-stats,mysql-io,mysql-keys,mysql5-cmds,mysql5-conn,mysql5-innodb,mysql5-innodb-basic,mysql5-innodb-extra,mysql5-io,mysql5-keys,net-packets,nfs3,nfs3-ops,nfsd3,nfsd3-ops,nfsd4-ops,nfsstat4,ntp,pid-detail,postfix,power,proc-count,qmail,redis,rpc,
rpcd,sendmail,snmp-cpu,snmp-load,snmp-mem,snmp-net,snmp-net-err,snmp-sys,snooze,squid,test,thermal,top-bio,top-bio-adv,top-childwait,top-cpu,top-cpu-adv,top-cputime,top-cputime-avg,top-int,top-io,top-io-adv,top-latency,top-latency-avg,top-mem,top-oom,utmp,vm-cpu,vm-mem,vm-mem-adv,vmk-hba,vmk-int,vmk-nic,vz-cpu,
vz-io,vz-ubc,wifi,zfs-arc,zfs-l2arc,zfs-zil

输出所有已安装插件名,可通过组合选项自定义监控面板。

7、总结

dool 是一个全面集成、多维展示的 Linux 系统监控工具,对于系统管理员、性能分析工程师和DevOps人员来说,提供了非常直观且强大的资源监控手段。其灵活的插件机制和人性化的界面,使其在日常巡检、故障诊断、系统优化中大放异彩。

✨ 只写原创,不接广告,不接广告,不接广告。

在这里,你将看到全新的技术分享、运维经验、以及最新的行业动态。我们坚信,原创内容才是最有价值的资源,所以所有文章都是独立创作,与你们一起成长。

声明:来自IT运维大爆炸,仅代表创作者观点。链接:https://eyangzhen.com/1844.html

IT运维大爆炸的头像IT运维大爆炸

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部