nagios监控内存

来源:互联网 发布:历史 知乎 编辑:程序博客网 时间:2024/05/23 01:43



一  nrpe.cfg 中添加

command[check_mem]=/usr/local/icinga/libexec/check_mem.sh -w 80 -c 90


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


二  添加检查脚本

check_mem.sh
# $2 = 80warn=$2# $4 = 90critical=$4#free -m#--------------------------------------------------------------------------#             total       used       free     shared    buffers     cached#Mem:          3832       2191       1640          0        154       1542#-/+ buffers/cache:        493       3338#Swap:         3967          0       3967#第二行 第二列total=`free -m | sed -n '2p' | awk '{print $2}'`#第二行 第三列used=`free -m| sed -n '2p' | awk '{print $3}'`#第三行 第三列buff=`free -m | sed -n '3p' | awk '{print $3}'`#第二行 第四列free=`free -m| sed -n '2p' | awk '{print $4}'`let "c=$buff*100/$total"if [[ $c -lt $warn ]]then    echo "buff/total($c%) < $warn% [free:$free MB: used:$used MB: buff:$buff MB: total:$total MB]|free:$free;;;; used:$used;;;; total:$total;;;;"    exit 0elif [[ $c -lt $critical ]]then    echo "buff/total($c%) < $warn% [free:$free MB: used:$used MB: buff:$buff MB: total:$total MB]|free:$free;;;; used:$used;;;; total:$total;;;;"    exit 1else    echo "buff/total($c%) < $warn% [free:$free MB: used:$used MB: buff:$buff MB: total:$total MB]|free:$free;;;; used:$used;;;; total:$total;;;;"    exit 2fi

解释:

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

  • total 内存总数: 3072
  • used 已经使用的内存数: 2459
  • free 空闲的内存数: 612
  • shared 当前已经废弃不用,总是0
  • buffers: Buffer Cache内存数: 13220
  • cached: Page Cache内存数: 2720160

关系:total = used + free

Linux中实际的内存使用是第三行buffers/cache中的used,所以这里以这个实际使用除总内存作为报警的依据。

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


三 重启nrpe

/etc/init.d/nrpe restart


四 nagios增加监控项

1  vim /usr/local/nagios/etc/objects/commands.cfg
define command{        command_name    check_mem        command_line    $USER1$/check_mem -u -w $ARG1$ -c $ARG2$        }

2  vi xxx.xxx.xxx.xxx.cfg
define service{       use                             xxxxxx-service       host_name                       xxx.xxx.xxx.xxx       service_description             Memory       check_command                   check_nrpe!check_mem       contact_groups                  xxxxx        }


五 未解决的问题

1   目前不能出图

参考:http://blog.csdn.net/ronmy/article/details/68941096?ticket=ST-133921-wjVarkforBe2bTQwhNhz-passport.csdn.net

原创粉丝点击