1. 程式人生 > >【Linux】全能系統監控工具dstat

【Linux】全能系統監控工具dstat

全能系統監控工具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命令,輸出如下:

image

這是預設輸出顯示的資訊:

預設情況下分五個區域:


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 開啟