1. 程式人生 > >監控linux中CPU 記憶體 磁碟資料的shell指令碼(圖文)

監控linux中CPU 記憶體 磁碟資料的shell指令碼(圖文)

# 伺服器CPU/MEM/DISK監控指令碼(server_moniter.sh) 
#------------------------------------------------------------------ 
# 對伺服器的CPU/MEM/DISK設定閾值,動態監控利用率,超過閾值傳送郵件 
# 或者簡訊告警 

# 本指令碼通過呼叫watch_mem函式實現記憶體利用率監控,這裡的記憶體利用率計算是程序實
# 際使用的記憶體,也就是used-buffer/cache,超過閾值傳送息。 
#  
# 通過呼叫watch_hd函式實現磁碟利用率監控,這裡的磁碟利用率,我採用 
# 一個一個磁碟或分割槽檢索,這種方式對於磁碟或分割槽較多時,可能不太方 
# 便,可以採用迴圈判斷。 
#  
# 通過呼叫wath_cpu函式實現CPU利用率監控,這裡是通過在一分鐘內2次採 
# 集/proc/stat中的CPU資料,再對每1次採集點的資料中的使用CPU時間與空閒CPU時
# 間累加求和,最後將2次採集點運算結果求差,獲得CPU在一分鐘類# 使用時間利用率,
# 這種計算方式比較準確,如果超過閾值傳送訊息。 

# 在每一個函式中設定一個判斷返回值,如果超過閾值,條件為真則返回1,如果返回值
# 為1則 將告警訊息附加到report中,最後如果report這個檔案 
# 存在,傳送郵件通知管理員,將report做為郵件的正文。 
#
# 可以將這個指令碼新增到定時任務,每隔10分種執行一次檢查。
#------------------------------------------------------------------