NRPE(Winrpe)Powershell命令 – 无法读取Nagios中的输出

我试图从NRPE.cfg运行Powershell脚本,并在Nagios中获得输出。

当我在本地(Windows)服务器上运行脚本时,一切都很好。 但是,当我把它放在NRPE.cfg EN尝试获得输出在Nagios,我得到一个无法读取输出错误。

search互联网,但无法find解决scheme,所以也许你可以帮助我..

命令/脚本是:

命令[check_veeam_dailyone] = cmd / c echo c:\ install \ veeam_check.ps1; 退出($ lastexitcode)| powershell.exe -ExecutionPolicy绕过-noninteractive -noprofile -File –

当我把这个在PowerShell的Windows服务器上,我会得到这个输出:

PS C:\ Install> OK – 工作:VeeamOne_Daily在10/09/2014 04:45:51成功完成。

“PS C:\ Install>”部分很奇怪,但它确实读取了上一份工作,所以看起来“没问题”。

但是当我尝试在Nagios中获得这个输出时:

root @ nagios:〜#/ usr / lib / nagios / plugins / check_nrpe -H 192.168.1.1 -t 300 -c check_veeam_dailyone

它说:

NRPE:无法读取输出

NRPE运行良好,因为当我尝试获得另一个命令,如C盘,一切都OK:

用法:C:38717.2 MB(63.13%,共61337.0 MB)|'disk in use'= 38717.2MB; / usr / lib / nagios / plugins / check_nrpe -H 192.168.1.1 -t 300 -c pdm_disk_c DISK OK '磁盘使用率'= 63.12%; 90; 95; '磁盘总数'= 61337.0MB;

只是无法弄清楚什么是错的。

我使用的脚本是这样的:

http://exchange.nagios.org/directory/Plugins/Backup-and-Recovery/Others/check_veeam_backups/details

感谢您的回复!

  1. 我会首先尝试降低脚本的复杂性,让我们说…

    回声“你好世界”,看看是否有效。

  2. 更重要的是,NRPE通常由被称为nrpe的用户运行(除非另外指定),所以当您运行检查时,从nrpe用户而不是从root运行它们。
  3. 还要确保在受监视的计算机上的nrpe.cfg中将“dont_blame_nrpe”设置为“1”。
  4. 你可以尝试的另一件事是包装这个:

cmd / c echo c:\ install \ veeam_check.ps1; 退出($ lastexitcode)| powershell.exe -ExecutionPolicy绕过-noninteractive -noprofile -File –

在batch file(.bat)中,然后将NRPE中的命令更改为如下简单的命令:

command[check_veeam_dailyone]=yourscript.bat 

然后尝试再次运行该命令,看看是否有效。