客户端
1、创建脚本check_disk.sh
[[email protected] ~]# vim /usr/lib64/nagios/plugins/check_disk.sh #一般都放在这个路径下
#!/bin/bash
row=`df -h|wc -l`
for i in `seq 2 $row`
do
ava=`df -h|sed -n "$i"p|awk ‘{print $4}‘` #获取磁盘可用值
u_per=`df -h|sed -n "$i"p|sed -n "s/\%//"p|awk ‘{print $5}‘` #获取使用百分比值
p_p=`df -h|sed -n "$i"p|awk ‘{print $6}‘` #获取挂载分区
if [ "$u_per" -gt "97" ]
then
echo -n "$p_p CRITICAL $u_per% $ava "
sta[$i]=2
elif [ "$u_per" -gt "95" ]
then
echo -n "$p_p WARNING! $u_per% $ava "
sta[$i]=1
else
echo -n "$p_p OK $u_per% $ava "
sta[$i]=0
fi
done
n=0
for j in `seq 2 $row`
do
if [ "${sta[$j]}" -gt $n ]
then
n=${sta[$j]}
fi
done
exit $n
######输出结果######
[[email protected] ~]# sh /usr/lib64/nagios/plugins/check_disk.sh
/ OK 26% 13G /dev/shm OK 0% 242M /boot OK 8% 426M
[[email protected] ~]# echo $?
0
2、保存后,修改该脚本的权限
[[email protected] ~]# chmod +x /usr/lib64/nagios/plugins/check_disk.sh
3、编辑/etc/nagios/nrpe.cfg,加入自定义的脚本
[[email protected] ~]# vim /etc/nagios/nrpe.cfg
command[check_disk]=/usr/lib64/nagios/plugins/check_disk.sh
4、重启nrpe服务
[[email protected] ~]# /etc/init.d/nrpe restart
服务端
5、检测刚才的脚本是否正常运行
[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.219.128 -c check_disk
/ OK 26% 13G /dev/shm OK 0% 242M /boot OK 8% 426M
解释说明:
如果正常的话,会输出一行磁盘检测的数据,否则可能会报错。
#####错误#####
[[email protected] ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.153.129 -c check_disk
NRPE: Unable to read output
#############
注:原因是客户端的脚本没有修改权限
6、添加相应的service
[[email protected] ~]# cd /etc/nagios/conf.d
[[email protected] conf.d]# vim 192.168.219.128.cfg
define service{
use generic-service
host_name 192.168.219.128
service_description check_disk
check_command check_nrpe!check_disk
max_check_attempts 5
normal_check_interval 1
}
注:也要检查一下/etc/nagios/object/commands.cfg里有没有check_nrpe
7、重启nagios服务、启动http服务
[[email protected] conf.d]# /etc/init.d/nagios restart
[[email protected] conf.d]# /etc/init.d/httpd start
8、访问浏览器查看