码迷,mamicode.com
首页 > 移动开发 > 详细

nagios监控linux主机监控内存脚本

时间:2015-10-18 12:44:52      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

说明

工作包括两部分监控端(一二三)和被监控端(四)

一、nrpe.cfg中添加脚本

nrpe.cfg中添加命令索引

command[check_used_mem]=/usr/local/nagios/libexec/check_used_mem.sh 80 90

说明:实际内存使用量超过80%警告;超过90%严重警告

二、添加具体脚本

参考脚本check_used_mem.sh

warn=$1
critical=$2
all=`free | sed -n 2p | awk {print $2}`
used=`free | sed -n 3p | awk {print $3}`
let "c=$used*100/$all"
if [[ $c -lt $warn ]]
then 
    echo "used mem/total < $warn%  [used:$used, total:$total:$all]"
    exit 0
elif [[ $c -lt $critical ]]
then
    echo "used mem/total ≥$warn%  [used:$used, total:$total:$all]"
    exit 1
else
    echo "used mem/total ≥$critical%  [used:$used, total:$total:$all]"
    exit 2
fi

解释:

1. $1、$2分别指输入的第一、二个参数,比如:

del.sh脚本内容为

#/bin/bash
echo $1
  • sh del.sh  a                        #第一个参数是a
  • chmod a+x  ./del.sh a         #第一个参数是a

2. free用来查看内存的使用情况

[root@xen_202_12 /]# free -m
             total       used       free     shared    buffers     cached
Mem:          3072       2459        612          0        207       1803
-/+ buffers/cache:        447       2624
Swap:         1913          0       1913
  • total 内存总数: 3072
  • used 已经使用的内存数: 2459
  • free 空闲的内存数: 612
  • shared 当前已经废弃不用,总是0
  • buffers: Buffer Cache内存数: 13220
  • cached: Page Cache内存数: 2720160

关系:total = used + free

第3行:
-/+ buffers/cache的意思:
-buffers/cache 的内存数: 447 (等于第1行的 used - buffers - cached)
+buffers/cache 的内存数: 2624 (等于第1行的 free + buffers + cached)
注:此处的内存数在用上面式子计算后,在大小上有一点点出入(还不知道是什么原因)。

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

3. sed -n ‘2p‘指的是查找第二行

4. awk ‘{print $2} 指的是第二列,其中默认以空格分隔。可以利用-F指定分隔符

$echo 1b234b56b7 | awk -F b {print $2}
234

5. 实用[[]],<用来比较字符串;-lt用来比较数字

三、重启nrpe

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

四、在监控端添加监控项

define service {
        use                             generic-service
        host_name                       100.61.73.2,100,61,73.3
        service_description             内存
        check_command                   check_nrpe!check_used_mem
        notifications_enabled           1
        }

 

nagios监控linux主机监控内存脚本

标签:

原文地址:http://www.cnblogs.com/kaituorensheng/p/4881180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!