shell脚本nagios监控内存

回复 收藏
依葫芦画瓢,模仿监控硬盘使用比,练习了一下监控内存使用。
内存项目的话不像硬盘有很多挂载点,内存只有一个,所以应该不用for循环,只用了if判断。
关于sta数组的话也没有进行for循环,自己定义的值,大家看看有没有问题。

客户机上操作,脚本如下:
[root@localhost plugins]# cat check_mem.sh
#!/bin/bash
i=0
m=`free -m|grep "buffers/cache:"|awk '{print $4}'`
if [ $m -lt 100 ]
then
        echo -n "free memory is WARNING $m"
        sta[$i]=1
elif [ $m -lt 50 ]
then
        echo -n "free memory is CRITIACL $m"
        sta[$i]=2
else
        echo -n "free memory is OK $m"
        sta[$i]=0
fi

n=0
if [ "${sta[$i]}" -gt $n ]
then
        n=${sta[$i]}
fi
exit $n

客户机上操作,加入自定义的mem.sh脚本;
vi /etc/nagios/nrpe.cfg
command[check_mem]=/usr/lib/nagios/plugins/check_mem.sh
保存退出后,重启nrpe服务。

服务端进行测试,有结果出来;
# /usr/lib/nagios/plugins/check_nrpe -H 192.168.11.100 -c check_mem
free memory is OK 472

服务端配置文件,加入:
vi /etc/nagios/conf.d/192.168.11.100.cfg
define service{
        use     generic-service,srv-pnp
        host_name       192.168.11.100
        service_description     check_memory
        check_command           check_nrpe!check_mem
        max_check_attempts 5
        normal_check_interval 1
}

重启nagios服务后,在web网页可以看到service;
QQ截图20150630102259.jpg


2015-06-30 10:26 举报
已邀请:
0

狠懒

赞同来自:

沙发
0

定海偶然

赞同来自:

先顶后赞

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: