#!/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