我在 NAT 后面有 2 台服务器,两者都有相同的公共 IP,并且 NRPE 正在侦听非标准端口。
我想使用我的中央 icinga 服务器来监控它们,但我找不到在哪里可以指定替代 nrpe 端口,icinga 正在尝试在目标公共 IP 上未打开的默认端口。我怎样才能做到这一点?
答案1
请注意,我假设您的 NAT-ing 设备已配置为将流量转发到 NRPE 服务器。并且您正在运行 Icinga 1。
在您的 Icinga 服务器上,您可能存在一些/etc/nagios-plugins/config/check_nrpe.cfg
由 Icinga 守护程序加载的文件。当您定义check_nrpe
检查时,Icinga 会在此处找到您的命令定义。
默认check_nrpe
命令定义不允许动态端口。如果要设置运行 NRPE 命令的自定义端口,则需要在某处添加新命令,或更改现有命令(以及可能的所有对其的引用),以便允许定义此端口。
在纸面上,你可能有这样的东西:
define command {
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$' -t 30
}
define command {
command_name check_nrpe5667
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -p 5667 -c '$ARG1$' -t 30
}
define command {
command_name check_nrpe_dynport
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -p '$ARG1$' -c '$ARG2$' -t 30
}
check_nrpe!my_remote_check
现在,您可以使用check_nrpe5667!my_remote_check
, or check_nrpe_dynport!5667!my_remote_check
,而不是将检查命令定义为。