在Linux系統中有很多流行且經常使用的系統資源監控工具,例如:vmstat、netstat、iostat、ifstat和mpstat, 這些工具可用於監控不同系統元件的統計資訊, 包括:虛擬記憶體、網路連線和介面、CPU、輸入/輸出裝置等。
dool是一款功能強大且靈活的多功能命令列工具, 除了提供上述工具提供的功能之外, 還具備額外的功能和能力, 用於監控Linux系統資源的各個方面, 如:CPU、記憶體、網路、負載均衡等, 該工具還具備額外的功能和計數器, 而且非常容易擴充套件, 如果具備Python程式設計能力,還可以構建屬於自己的外掛, 最後該工具的介面讓人感覺舒適。
dool的核心功能如下:
-
能夠匯聚來自vmstat、netstat、iostat、ifstat和mpstat工具的資訊。
-
顯示統計資訊
-
具有排序計數器功能且可高度擴充套件。
-
支援對網路裝置進行彙總。
-
顯示每個裝置的中斷。
-
在精確的時間框架下工作, 不會因系統受到高強度壓力時發生時間偏移。
-
支援彩色輸出, 以不同顏色表示不同的單位。
-
支援將CSV格式輸出或匯出到Gnumeric和Excel文件。
安裝dool工具非常簡單, 以ubuntu為例, 直接輸入以下命令安裝即可:
[root@hankyoon]# git clone https://github.com/scottchiefbaker/dool.git
[root@hankyoon]# cd dool
[root@dool]# ./install.py
以下是使用dool工具在不加任何引數的情況下執行輸出結果, dool預設載入的外掛包括:cpu、disk、net、load, 如圖:
上述輸出資訊包括以下幾個維度:
-
CPU使用率:使用者(user)程序、系統(sys)程序以及空間(idl)和等待(wai)程序的CPU使用率, 以及被竊取的時間(stl)。
-
磁碟統計資訊:磁碟上的讀取(read)和寫入(writ)操作的總數。
-
網路統計資訊: 網路介面上接收(recv)和傳送(send)的總位元組數。
-
負載平均值: 顯示系統在不同時間間隔(1分鐘、5分鐘和15分鐘)內的平均負載。
-
系統統計資訊: 提供了資料收集的時間戳。
如果要顯示vmstat顯示的資訊, 可以使用-v或--vmstat引數, 如圖:
[root@hankyoon dool]# dool --vmstat
在上圖中, 顯示下以下資訊:
-
程序統計資訊: 執行(run)、阻塞(BLK)和新生成(new)程序的數量。
-
記憶體統計資訊: 已用(used)、緩衝(buff)、快取(cach)和空閒(free)記憶體的數量。
下面看一個高階案例, 如果想要監控一個使用最多CPU並消耗記憶體最多的單個程式需要輸入什麼命令?命令引數如下:
-
-c : CPU使用率
-
--top-cpu: 使用最多CPU的程序
-
-dn: 磁碟和網路統計資訊
-
--top-mem: 消耗最多記憶體的程序
完整命令執行後結果如圖:
[root@hankyoon dool]# dool -c --top-cpu -dn --top-mem
另外,還可以啟用--output選項將dool的輸出儲存到.csv檔案中,以便離線分析, 完整命令如下:
[root@hankyoon dool]# dool --time --cpu --mem --load --output /tmp/report.csv 1 5
該命令的作用是顯示時間、CPU、記憶體和系統負載統計資訊, 每5次計數更新之間延遲一秒, 輸出的report.csv
轉自:https://mp.weixin.qq.com/s/dDc_BqNFxgLEOqOUxDP7Pw