Nagios

Nagios3 到 Icinga 的遷移打破了 nrpe 檢查

  • June 20, 2017

我已經將一台伺服器從 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 的命令不起作用。

嗯,我找到了問題所在。

我從命令行使用 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.

我這樣做了,現在它可以工作了。

引用自:https://serverfault.com/questions/856771