nrpe 插件开发
Nagios用插件的返回值来生成主机或服务的状态.含义如下.
插件返回值 服务状态 主机状态
0 正常(OK) 运行(UP)
1 告警(WARNING) 运行(UP)或宕机(DOWN)/不可达(UNREACHABLE)*
2 紧急(CRITICAL) 宕机(DOWN)/不可达(UNREACHABLE)
3 未知(UNKNOWN) 宕机(DOWN)/不可达(UNREACHABLE)
1.在被监控机及监控平台服务器 安装nrpe,nagios-plugin
正确安装后:
被监控机 /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
nagios监控平台服务器 /usr/local/nagios/libexec/check_nrpe -H $目标主机地址
都会出现安装的NRPE的版本信息 NRPE v2.x.x
2.在被监控机 写插件脚本ip_conn.sh,并cp 到/usr/local/nrpe/libexec/目录
vim ip_conn.sh
#!/bin/sh
#if [ $# -ne 2 ]
#then
# echo "Usage:$0 -w num1 -c num2"
#exit 3
#fi
ip_conns=`netstat -an | grep tcp | grep EST | wc -l`
if [ $ip_conns -lt $1 ]
then
echo "OK -connect counts is $ip_conns"
exit 0
fi
if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ]
then
echo "Warning -connect counts is $ip_conns"
exit 1
fi
if [ $ip_conns -gt $2 ]
then
echo "Critical -connect counts is $ip_conns"
exit 2
fi
#chmod +x ip_conn.sh 加上执行权限
3.在被监控机改nrpe.cfg 定义插件命令.
vim /usr/local/nagios/etc/nrpe.cfg
command[check_ip_conn]=/usr/local/nagios/libexec/ip_conn.sh 800 1000 # 当前ip连接数大于800,系统就发warning报警,超过1000,则发"critical"报警信息.
如上即声明了一个命令check_ip_conn.
4.在监控平台定义执行
libexec/check_nrpe -H 被监控机 -c check_ip_conn
5. 在监控平台机定义命令及服务
define service{
use database-service ; Name of service template to use
hostgroup_name DatabaseProxy
service_description check_ip_conn
check_command check_nrpe!check_ip_conn ;check_nrpe!check_ip_conn
}
6. 平台reload nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
etc/init.d/nagios reload
阅读(1328) | 评论(0) | 转发(0) |