Icinga

將 NRPE 與 Icinga2 一起使用時出錯

  • August 29, 2015

我有 Nagios 的工作實例,我想在其他機器上執行 Icinga2。Nagios 正在使用 NRPE,所以我也想使用它。

我在文件中有以下配置:

object Service "NRPE check load" {
   import "generic-service"
   host_name = "agrippina"
   check_command = "nrpe-check-2arg"
   vars.host = "agrippina.domain.net"
   vars.check = "check_load"
   vars.loads = "'10' '20'"
   }

object CheckCommand "nrpe-check-2arg" {
   import "plugin-check-command"
   command = [PluginDir + "/check_nrpe" ]
   arguments = {
   "-H" = "$host$"
   "-c" = "$check$"
   "-a" = "$loads$"
   }
}

當我手動發出命令時:

/usr/lib/nagios/plugins/check_nrpe -H agrippina.domain.net -c 'check_load' -a '10' '20'

我收到

OK - 平均負載:0.98, 1.39, 3.79|load1=0.980;10.000;20.000;0; 負載5=1.390;10.000;20.000;0; 負載15=3.790;10.000;20.000;0;

Icinga2 日誌:

CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.

我應該在哪裡查找這些消息?

自從我手動執行此檢查並且它有效時,如何在 Icinga2 中修復它?

更改vars.loads = "'10' '20'"為,vars.loads = "10!20"因為 NRPE 無法按照您在對象服務中聲明的方式讀取參數。

我不會為多個案例創建自定義 CheckCommand 定義。在我們的開發週期中,我們已經全神貫注地讓 CheckCommand 對象更具可重用性,並且您會得到一件事 - 可選參數和條件參數。

http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/monitoring-basics#command-arguments

此外,icinga2 已經發布了“nrpe”外掛檢查命令定義,還允許您添加多個附加參數 -a) 作為數組傳遞。

http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/plugin-check-commands#plugin-check-command-nrpe

你的例子:

vars.nrpe_arguments =

$$ 10, 20 $$ 最好走這條路,如果您有更多 CheckCommand 定義要共享,請將它們發送到上游 - 它當然有助於不關心 CheckCommand 定義,而只關心主機/服務及其用作命令參數的自定義屬性:)

https://wiki.icinga.org/display/community/Contribute+Icinga+2+ITL+Plugin+Check+Command+Definitions

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