#!/bin/bash
#This Nagios plugin can be check you system memory status
USAGE_Method="$(basename $0) [-w|--warning] <Free Percent> [-c|--critical] <Free Percent>"
USAGE_Value="WARNING value must be large than CRITICAL value: `basename $0` $*"
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
#設置Nagios 要求的狀態
if [ $# -lt 4 ];then
echo
echo "Usage: $USAGE_Method"
echo
exit 0
fi
while [ $# -gt 0 ];do
case "$1" in
-w|--warning)
shift
WARNING=$1
;;
-c|--critical)
shift
CRITICAL=$1
;;
esac
shift
done
if [[ $WARNING -eq $CRITICAL || $WARNING -lt $CRITICAL ]]
then
echo
echo "$USAGE_Value"
echo
echo "Usage: $USAGE_Method"
echo
exit 0
fi
FREE_MEM=$(free -m | grep - | awk -F ' ' '{print $4}') #取當前未使用的內存,注意是未使用!
TOTAL_MEM=$(free -m | grep Mem | awk -F ' ' '{print $2}') #取當前系統總內存
PERCENT=$(bc <<< "scale=2;$FREE_MEM/$TOTAL_MEM" | tr '^.' ' ') #使用bc 輸出百分比
if [ "$PERCENT" -le "$CRITICAL" ] #如果監測百分比小於等於用戶設置的嚴重錯誤值,返回2
then
echo "CRITICAL - $FREE_MEM MB ($PERCENT%) Free Memory"
exit 2
fi
if [ "$PERCENT" -le "$WARNING" ] #如果百分比小於等於用戶設置的警告值就警告並返回1
then
echo "WARNING - $FREE_MEM MB ($PERCENT%) Free Memory"
exit 1
fi
if [ "$PERCENT" -gt "$WARNING" ] #如果百分比大於用戶設置的警告值就輸出OK 返回0
then
echo "OK - $FREE_MEM MB ($PERCENT%) Free Memory"
exit 0
fi
check_mem
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
三星今年將推"相變內存" 取代手機閃存卡
GABY0625
2019-02-23 13:23:27
1TB固態硬盤已經跳水,要買趕緊
wx5c68cadd2d069
2019-02-23 13:14:31
五大晶元廠的內存型號命名方式
smallCrab2009
2019-02-23 13:10:47
Nagios 3.2 監控部署(三)
samplelife
2019-02-23 13:57:36
移動視頻監控傳輸技術
ran_sy
2019-02-23 13:41:40
傳統視頻監控系統的高清化改造
ran_sy
2019-02-23 13:41:40
Open-falcon部署文檔(繪圖及報警)
mtamor
2019-02-23 13:28:22
mrtg監控H3C交換機端口流量實例
幽鳴草
2019-02-23 13:28:10
Linux服務器上監控網絡帶寬的18個常用命令
apple0376
2019-02-23 13:15:44
zabbix 2.0.6監控cisco交換機 2950 2960s 3560G
chengcai
2019-02-23 13:08:35
Nagios監控vmware-esxi5.0
chengcai
2019-02-23 13:08:35