设为首页 收藏本站
查看: 1141|回复: 0

Nagios 监控服务器剩余内存

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-22 08:52:38 | 显示全部楼层 |阅读模式
Linux系统内存机制:在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。所以 空闲内存=free+buffers+cached   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash  
USAGE="`basename $0` [-w|--warning]<percent free> [-c|--critical]<percent free>"  
THRESHOLD_USAGE="WARNING threshold must be greater than CRITICAL: `basename $0` $*"  
calc=/tmp/memcalc  
percent_free=/tmp/mempercent  
critical=""  
warning=""  
STATE_OK=0  
STATE_WARNING=1  
STATE_CRITICAL=2  
STATE_UNKNOWN=3  
# print usage  
if [ $# -lt 4 ]; then  
    echo ""  
    echo "Wrong Syntax: `basename $0` $*"  
    echo ""  
    echo "Usage: $USAGE"  
    echo ""  
    exit 0  
fi  
# read input  
while [ $# -gt 0 ]  
do  
    case "$1" in  
        -w|--warning)  
            shift  
            warning=$1  
            ;;  
        -c|--critical)  
            shift  
            critical=$1  
            ;;  
    esac  
    shift  
done  
   
   
# verify input  
if [[ $warning -eq $critical || $warning -lt $critical ]]; then  
    echo ""  
    echo "$THRESHOLD_USAGE"  
    echo ""  
    echo "Usage: $USAGE"  
    echo ""  
    exit 0  
fi  
# Total memory available  
total=`free -m | head -2 |tail -1 |gawk '{print $2}'`  
# Total memory used  
used=`free -m | head -3 |tail -1 |awk '{print $3}'`  
# Calc total minus used  
free=`free -m | head -3 |tail -1 |awk '{print $4}'`  
# normal values  
#echo "$total"MB total  
#echo "$used"MB used  
#echo "$free"MB free  
# make it into % percent free = ((free mem / total mem) * 100)  
echo "5" > $calc # decimal accuracy  
echo "k" >> $calc # commit  
echo "100" >> $calc # multiply  
echo "$free" >> $calc # division integer  
echo "$total" >> $calc # division integer  
echo "/" >> $calc # division sign  
echo "*" >> $calc # multiplication sign  
echo "p" >> $calc # print  
percent=`/usr/bin/dc $calc|/bin/sed 's/^\./0./'|/usr/bin/tr "." " "|/usr/bin/gawk {'print $1'}`  
#percent1=`/usr/bin/dc $calc`  
#echo "$percent1"  
if [[ "$percent" -le  $critical ]];  then  
    echo "CRITICAL - $free MB ($percent%) Free Memory"  
    exit 2  
fi  
if [[ "$percent" -le  $warning ]]; then  
    echo "WARNING - $free MB ($percent%) Free Memory"  
    exit 1  
fi  
if [[ "$percent" -gt  $warning ]]; then  
    echo "OK - $free MB ($percent%) Free Memory"  
    exit 0  
fi



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59439-1-1.html 上篇帖子: nagios 访问域名问题 下篇帖子: 基于Nginx平台部署Nagios监控系统 服务器 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表