1、简介
在 Linux 系统管理和运维过程中,系统性能的实时监控尤为关键。传统上,我们依赖多个工具如 vmstat
、iostat
、netstat
、mpstat
、ifstat
等分别完成虚拟内存、IO、网络、CPU 使用率等方面的监测。然而,如果希望统一视角、高效集成且具备扩展能力,dool 无疑是最理想的选择。
dool
是一个基于命令行的多功能资源监控工具,能够集成并展示多个系统指标,具有出色的可视化输出和高度可扩展性,甚至支持通过 Python 编写插件进行功能拓展。
GitHub 项目主页:https://github.com/scottchiefbaker/dool
2、特点
功能 | 描述 |
---|---|
🧩 多工具集成 | 集成 vmstat 、netstat 、iostat 、mpstat 、ifstat 等工具能力 |
🖥️ 实时并行展示 | 所有指标同屏实时刷新,清晰可读 |
⚙️ 模块化插件系统 | 支持插件扩展,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