Nagios 4.1.1 Ubuntu 14.04 x64
请注意这是一个新的服务器。 我们的老Nagios服务器有这个完全相同的configuration,但在RHEL上的版本3,它的工作原理。
我有一个自定义命令来检查OpenVPN服务器的外部连接性:
define command{ command_name check_udp_openvpn command_line $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ -s "$38$01$00$00$00$00$00$00$00" -e "" }
$ USER1 $指向/ usr / local / nagios / libexec,这对我所有的命令声明都是一样的。
如果我运行它为ROOT:PASS
/usr/local/nagios/libexec/check_udp -H vpn.myhost.com -p 43963 -s "$38$01$00$00$00$00$00$00$00" -e "" UDP OK - 0.003 second response time on vpn.myhost.com port 43963 [@¬è«ÿï]|time=0.003033s;;;0.000000;10.000000
如果我运行sudo – nagios:PASS
su - nagios -c "/usr/local/nagios/libexec/check_udp -H vpn.myhost.com -p 43963 -s "$38$01$00$00$00$00$00$00$00" -e \"\"" UDP OK - 0.003 second response time on vpn.myhost.com port 43963 [@õq-Û¸]|time=0.002951s;;;0.000000;10.000000
如果作为主动检查运行:失败
所以,一切从命令行完美工作,但是,在Nagios控制台,它失败了!
以下是在主机中声明的方式:
define host{ host_name vpn.myhost.com alias vpn.myhost.com address vpn.myhost.com check_command check_udp_openvpn!43963 check_interval 5 retry_interval 1 max_check_attempts 5 check_period 24x7 process_perf_data 0 retain_nonstatus_information 0 # contacts nobody contact_groups sysadmins # 2d_coords 10,10 notification_interval 30 notification_period 24x7 notification_options d,u,r hostgroups web }
编辑:
我也尝试将主机定义设置为标准的ping检查,并放入check_upd_openvpn命令的服务定义。
主机显示UP,但服务closures 。 完全相同的错误“10秒后套接字超时” – 命令行使用几乎是即时的,并返回UDP OK。 我很难过
编辑2:
我调整了debugging设置,并将日志logging的详细程度提高到了最高值(2)。 它并没有真正地告诉我很多,但看起来Nagios正在按照预期解释命令。
[1460412294.994325] [256.1] [pid=21652] Read raw external command '[1460412294] SCHEDULE_FORCED_SVC_CHECK;vpn.myhost.com;OpenVPN Service;1460412293' [1460412294.994418] [2320.2] [pid=21652] Raw Command Input: $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ -s "$38$01$00$00$00$00$00$00$00" -e ""