全能系統監控工具dstat
dstat 是一個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat克服了這些命令的局限并增加了一些另外的功能,增加了監控項,也變得更靈活了。dstat可以很方便監控系統運行狀況并用于基準測試和排除故障。
dstat可以讓你實時地看到所有系統資源,例如,你能夠通過統計IDE控制器當前狀態來比較磁盤利用率,或者直接通過網絡帶寬數值來比較磁盤的吞吐率(在相同的時間間隔內)。
dstat將以列表的形式為你提供選項信息并清晰地告訴你是在何種幅度和單位顯示輸出。這樣更好地避免了信息混亂和誤報。更重要的是,它可以讓你更容易編寫插件來收集你想要的數據信息,以從未有過的方式進行擴展。
Dstat的默認輸出是專門為人們實時查看而設計的,不過你也可以將詳細信息通過CSV輸出到一個文件,并導入到Gnumeric或者Excel生成表格中。
特性
- 結合了vmstat,iostat,ifstat,netstat以及更多的信息
- 實時顯示統計情況
- 在分析和排障時可以通過啟用監控項并排序
- 模塊化設計
- 使用python編寫的,更方便擴展現有的工作任務
- 容易擴展和添加你的計數器(請為此做出貢獻)
- 包含的許多擴展插件充分說明了增加新的監控項目是很方便的
- 可以分組統計塊設備/網絡設備,并給出總數
- 可以顯示每臺設備的當前狀態
- 極準確的時間精度,即便是系統負荷較高也不會延遲顯示
- 顯示準確地單位和和限制轉換誤差范圍
- 用不同的顏色顯示不同的單位
- 顯示中間結果延時小于1秒
- 支持輸出CSV格式報表,并能導入到Gnumeric和Excel以生成圖形
安裝方法
1、在centos下 可以 yum -y instatll dstat
2、下載rpm包進行安裝
wget http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm
rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm
使用方法
dstat的基本用法就是輸入dstat命令,輸出如下:

這是默認輸出顯示的信息:
默認情況下分五個區域:
1、 --total-cpu-usage---- CPU使用率
usr:用戶空間的程序所占百分比;
sys:系統空間程序所占百分比;
idel:空閑百分比;
wai:等待磁盤I/O所消耗的百分比;
hiq:硬中斷次數;
siq:軟中斷次數;
2、-dsk/total-磁盤統計
read:讀總數
writ:寫總數
3、-net/total- 網絡統計
recv:網絡收包總數
send:網絡發包總數
4、---paging-- 內存分頁統計
in: pagein(換入)
out:page out(換出)
注:系統的分頁活動。分頁指的是一種內存管理技術用于查找系統場景,一個較大的分頁表明系統正在使用大量的交換空間,通常情況下當系統已經開始用交換空間的時候,就說明你的內存已經不夠用了,或者說內存非常分散,理想情況下page in(換入)和page out(換出)的值是0 0。
5、--system--系統信息
int:中斷次數
csw:上下文切換
注:中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時才有意義。這一欄中較高的統計值通常表示大量的進程造成擁塞,需要對CPU進行關注。你的服務器一般情況下都會運行運行一些程序,所以這項總是顯示一些數值。
默認情況下,dstat 會每隔一秒刷新一次數據,一直刷新并一直輸出,按 Ctrl+C 退出 "dstat";
dstat 還有許多具體的參數,可通過man dstat命令查看,
常用參數如下:
通過dstat --list可以查看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 :顯示占用最多內存的進程
應用舉例:
dstat輸出默認監控、報表輸出的時間間隔為3秒鐘,并且報表中輸出10個結果
# dstat 3 10
查看全部內存都有誰在占用:
# dstat -g -l -m -s --top-mem
顯示一些關于CPU資源損耗的數據:
# dstat -c -y -l --proc-count --top-cpu
如何輸出一個csv文件
# dstat --output /tmp/sampleoutput.csv -cdn
備注:輸出的的 csv 文件,可以在 windows 下用 excel 打開,并生成圖表。
總結
以上所述是小編給大家介紹的Linux 全能系統監控工具dstat的實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!