我写了一个简单的nagios命令来检查超过1秒的值的变化
#!/bin/bash
HOSTNAME=$1
COMMUNITY=$2
OID=$3
WAITTIME=1
echo "/usr/lib/nagios/plugins/check_snmp -H $HOSTNAME -C $COMMUNITY -o $OID" > /tmp/csnmp_comand
VAR1=`/usr/lib/nagios/plugins/check_snmp -H $HOSTNAME -C $COMMUNITY -o $OID|cut -d"=" -f2|sed 's/[a-Z]//'`
/bin/sleep $WAITTIME
VAR2=`/usr/lib/nagios/plugins/check_snmp -H $HOSTNAME -C $COMMUNITY -o $OID|cut -d"=" -f2|sed 's/[a-Z]//'`
CHANGED=`/usr/bin/expr $VAR2 - $VAR1`
BPS=`/usr/bin/expr $CHANGED / $WAITTIME`
echo "OK $BPS|bps=$BPS" > /tmp/check_snmptest
echo "OK $BPS|bps=$BPS"
exit 0
我写了一个叫这个脚本的服务
define command{
command_name snmp_cps
command_line /usr/lib/nagios/plugins/check_cps '$HOSTADDRESS$' '$_HOSTSNMPCOMMUNITY$' '$ARG1'
}
当我手动调用脚本时(即使是nagios用户)我得到了
OK 233|bps=233
或类似的东西,但是当我安排这个命令时,它返回null并将其设置为关键
我的host.cfg也是
define host{
use generic-host
host_name asa5505.customer.local
alias Options ASA 5505
address asa5505.customer.local
_SNMPCOMMUNITY SetSecurly
}
define service {
use generic-service
host_name asa5505.customer.local
service_description Outside Interface PBS
check_command snmp_cps!1.3.6.1.2.1.2.2.1.10.16
}
进行一些更改(主机名和snmpcommunity)
答案 0 :(得分:0)
这是引号,我需要使用“而不是'
答案 1 :(得分:0)
我在centos 6(64位)上配置hadoop datanode监控插件时遇到了这个问题。我解决了这个问题" nagios状态信息null"按照以下配置。
在nrpe客户端计算机上
修改/etc/nagios/nrpe.cfg
command [check_hadoop_datanodes] = / usr / lib64 / nagios / plugins / check_hadoop_datanode.pl -H name-node-ip
在Nagios服务器上
编辑/etc/nagios/objects/commands.cfg
定义命令{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
修改/etc/nagios/servers/master-hdp.cfg
定义服务{
use generic-service
host_name master-hdp
service_description check datanodes status
check_command check_nrpe!check_hadoop_datanodes
}
重新启动nagios服务器之后
service nagios restart
关于这篇文章的任何建议都很明显。谢谢