我试图从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
感谢您的回复!
我会首先尝试降低脚本的复杂性,让我们说…
回声“你好世界”,看看是否有效。
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
然后尝试再次运行该命令,看看是否有效。