Nagios3 到 Icinga 的迁移破坏了 nrpe 检查

Nagios3 到 Icinga 的迁移破坏了 nrpe 检查

我已经将一台服务器从 Debian 8 升级到了 Debian 9。该服务器正在运行 Nagios 3 进行一些检查,但该软件已停用。自然的替代品是 Icinga(版本 1)。

我已经安装了它,并复制和调整了配置文件。大部分都直接起作用了,但 NRPE 远程检查不起作用。

首先,我正在使用该check_nrpe_1arg命令,但它似乎已被更改为check_nrpe明确它不接受参数(唯一的参数是远程命令名称)。

这修复了 icinga 的启动配置。但所有 NRPE 检查都在未知用此消息声明:

CHECK_NRPE: Receive header underflow - only -1 bytes received (4 expected).

我已经从 bash 提示符运行了命令来检查它是否正常工作,看起来确实如此。

$ /usr/lib/nagios/plugins/check_nrpe -H 192.168.4.1 -c check_users
USERS OK - 0 users currently logged in |users=0;5;10;0

但不知何故,Icinga 的命令不起作用。

答案1

嗯,我找到问题了。

我是从命令行使用 SSL,而不是从 Icinga 配置使用。我将可执行文件check_nrpe与同名的命令定义混淆了。

这是版本 3(Debian 9 附带的版本)的 NRPE 配置:

# this command runs a program $ARG1$ with no arguments and disables SSL support
define command {
        command_name    check_nrpe
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -n
}

# this command runs a program $ARG1$ with no arguments and enables SSL support
define command {
        command_name    check_nrpe_ssl
        command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

注意-n第一个参数。我翻译了 Nagios 3 中所有check_nrpe_1argwith的用法check_nrpe,但应该是check_nrpe_ssl

我已经这样做了并且现在有效。

相关内容