Linux系统之dool命令行工具的基本使用

时间:2023-02-23 16:27:15

(Linux系统之dool命令行工具的基本使用)

一、dool命令行工具介绍

Dool 是一个命令行工具,用于监控系统的许多方面:CPU、内存、网络、平均负载等。它还包括一个强大的插件架构,可以监控其他系统指标。

二、本地系统环境检查

1.检查系统版本

[root@jeven ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查系统内核版本

[root@jeven ~]# uname -r 
6.1.8-1.el7.elrepo.x86_64

三、下载dool软件包

1.创建下载目录

[root@jeven ~]# mkdir -p /data/dool
[root@jeven ~]# cd /data/dool
[root@jeven dool]# 

2.下载dool

https://github.com/scottchiefbaker/dool.git

四、安装dool

1.安装python3

yum -y install python3

2.安装dool

[root@jeven dool]# cd dool/
[root@jeven dool]# ls
AUTHORS  ChangeLog  COPYING  docs  dool  examples  install.py  Makefile  packaging  plugins  README.md
[root@jeven dool]# python3 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的命令帮助

[root@jeven dool]# dool --help
Usage: dool [options] [delay] [count]

Versatile tool for generating system resource statistics

Dool options:
  -c, --cpu                enable cpu stats
     -C 0,3,total             include cpu0, cpu3 and total
  -d, --disk               enable disk stats
     -D total,hda             include hda and total
  -g, --page               enable page stats
  -i, --int                enable interrupt stats
     -I 5,eth2                include int5 and interrupt used by eth2
  -l, --load               enable load stats
  -m, --mem                enable memory stats
  -n, --net                enable network stats
     -N eth1,total            include eth1 and total
  -p, --proc               enable process stats
  -r, --io                 enable io stats (I/O requests completed)
  -s, --swap               enable swap stats
     -S swap1,total           include swap1 and total
  -t, --time               enable time/date output
  -T, --epoch              enable time counter (seconds since epoch)
  -y, --sys                enable system stats

  --aio                    enable aio stats
  --fs, --filesystem       enable fs stats
  --ipc                    enable ipc stats
  --lock                   enable lock stats
  --raw                    enable raw stats
  --socket                 enable socket stats
  --tcp                    enable tcp stats
  --udp                    enable udp stats
  --unix                   enable unix stats
  --vm                     enable vm stats
  --vm-adv                 enable advanced vm stats
  --zones                  enable zoneinfo stats

  --list                   list all available plugins
  --<plugin-name>          enable external plugin by name (see --list)

  --defaults               equals -cdnlt
  --more                   equals -cdnmplt
  -a, --all                equals -cdngmyplt
  -f, --full               automatically expand -C, -D, -I, -N and -S lists
  -v, --vmstat             equals -pmgdsc -D total

  --bits                   force bits for values expressed in bytes
  --bytes                  force bytes for output measurements
  --float                  force float values on screen
  --integer                force integer values on screen

  --bw, --black-on-white   change colors for white background terminal
  --color                  force colors
  --nocolor                disable colors
  --noheaders              disable repetitive headers
  --noupdate               disable intermediate updates
  --output file            write CSV output to file
  --profile                show profiling statistics when exiting dool
  --ascii                  output table in ascii not unicode box drawing

delay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)

六、dool的基本使用

1.直接使用dool监控系统

[root@jeven dool]# 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     
  0   0  99   0   0│ 373K 1639K│   0     0 │0.05 0.09 0.06│Feb-11 12:08:29
  0   0 100   0   0│   0     0 │ 960B 8816B│0.05 0.09 0.06│Feb-11 12:08:30
  0   1  99   0   0│   0     0 │ 960B 3440B│0.05 0.09 0.06│Feb-11 12:08:31
  0   0 100   0   0│   0     0 │ 480B 2960B│0.05 0.09 0.06│Feb-11 12:08:32
  0   0 100   0   0│   0     0 │ 480B 2960B│0.05 0.09 0.06│Feb-11 12:08:33
  0   0 100   0   0│   0    66K│ 480B 2960B│0.04 0.09 0.06│Feb-11 12:08:34
  0   0 100   0   0│   0     0 │ 960B 3088B│0.04 0.09 0.06│Feb-11 12:08:35
  0   0 100   0   0│   0     0 │1440B 3440B│0.04 0.09 0.06│Feb-11 12:08:36
  0   0 100   0   0│   0     0 │2016B 4016B│0.04 0.09 0.06│Feb-11 12:08:37
  0   0 100   0   0│   0     0 │5392B 2960B│0.04 0.09 0.06│Feb-11 12:08:38
  0   1  99   0   0│   0   131K│5392B 2960B│0.04 0.09 0.06│Feb-11 12:08:39
  0   0 100   0   0│   0     0 │ 960B 3088B│0.04 0.09 0.06│Feb-11 12:08:40
  0   0 100   0   0│   0     0 │  15K 7664B│0.04 0.09 0.06│Feb-11 12:08:41
  0   0 100   0   0│   0     0 │1632B 4352B│0.04 0.09 0.06│Feb-11 12:08:42
  0   0 100   0   0│   0     0 │ 960B 2960B│0.04 0.09 0.06│Feb-11 12:08:43
  0   1  99   0   0│   0    98K│ 960B 2960B│0.04 0.09 0.06│Feb-11 12:08:44
  0   0 100   0   0│   0     0 │1448B 3744B│0.04 0.09 0.06│Feb-11 12:08:45
  1   0  99   0   0│   0     0 │ 960B 3440B│0.04 0.09 0.06│Feb-11 12:08:46
  0   0 100   0   0│   0     0 │ 480B 2960B│0.04 0.09 0.06│Feb-11 12:08:47
  0   0  99   0   0│   0     0 │2488B 3680B│0.04 0.09 0.06│Feb-11 12:08:48
  1   0  99   0   0│   0     0 │ 480B 2960B│0.03 0.08 0.06│Feb-11 12:08:49
  0   1  99   0   0│   0  1860K│ 480B 3680B│0.03 0.08 0.06│Feb-11 12:08:50
  0   1  99   0   0│   0     0 │2352B 4608B│0.03 0.08 0.06│Feb-11 12:08:51
  0   0 100   0   0│   0     0 │ 480B 4000B│0.03 0.08 0.06│Feb-11 12:08:52
  0   0 100   0   0│   0     0 │ 480B 2960B│0.03 0.08 0.06│Feb-11 12:08:53
  0   1  99   0   0│   0     0 │1536B 4016B│0.03 0.08 0.06│Feb-11 12:08:54
  0   0 100   0   0│   0     0 │ 960B 2960B│0.03 0.08 0.06│Feb-11 12:08:55^

2.监控cpu和网络接口

  • 显示CPU使用情况和每个网络接口
dool --cpu --net --time --full 15

3.监控内存和磁盘

  • 显示磁盘情况和内存占用
[root@jeven dool]# dool --disk --mem 5 
┄dsk/total┄┬┄┄┄┄┄┄memory┄usage┄┄┄┄┄
 read  writ│ used  free  cach  avai
 371K 1632K│3511M  144M 3570M 4069M
   0    20K│3511M  144M 3570M 4069M
   0    26K│3511M  144M 3570M 4069M
   0    83K│3490M  165M 3570M 4090M
   0     0 │3491M  164M 3570M 4089M
   0  6554B│3490M  165M 3570M 4090M
   0     0 │3493M  162M 3570M 4087M
   0  6554B│3507M  148M 3570M 4073M
   0    26K│3507M  148M 3570M 4073M

4.监控cpu/负载/swap

  • 监控cpu/负载/swap情况
[root@jeven dool]# dool --cpu --load --swap --time 60
┄┄total┄cpu┄usage┄┄┬┄┄┄load┄avg┄┄┄┬┄┄┄┄swap┄┄┄┬┄┄┄┄┄system┄┄┄┄
usr sys idl wai stl│ 1m   5m  15m │ used  free│      time     
  0   0  99   0   0│0.02 0.05 0.05│4612K 2039M│Feb-11 12:15:48