I'm trying to run an Powershell script from NRPE.cfg and get the output in Nagios.

When i run the script on the local (Windows) server, everything is just fine. But when i put it in the NRPE.cfg en try to get the output in Nagios, i get an Unable to Read Output error.

Searched the internet but can't find the solution, so maybe you can help me out..

The command/script is:

command[check_veeam_dailyone]=cmd /c echo c:\install\veeam_check.ps1 ; exit($lastexitcode) | powershell.exe -ExecutionPolicy Bypass -noninteractive -noprofile -File -

When i put this on the Windows server in PowerShell, i'll get this output:

PS C:\Install> OK - Job: VeeamOne_Daily completed successfully at 10/09/2014 04:45:51.

The "PS C:\Install>" part is strange, but it does read the last job, so seems 'okay'..

But when I try to get this output in Nagios with:

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

It says:

NRPE: Unable to read output

NRPE is running fine, cause when i try to get another command, like the C drive, everything is OK:

/usr/lib/nagios/plugins/check_nrpe -H -t 300 -c pdm_disk_c DISK OK - usage: C: 38717.2 MB (63.12% of total 61337.0 MB)|'disk in use'=38717.2MB; 'disk usage'=63.12%;90;95; 'disk total'=61337.0MB;

Just can't figure out whats wrong.

The script i use is this one:


Thanks for your reply!

  • Do other NRPE checks work on this host?
    – Keith
    Commented Oct 10, 2014 at 19:03
  • Yes they work, like the 'pdm_disk_c' check aboven and CPU for example, are also NRPE checks.
    – J2014
    Commented Oct 11, 2014 at 17:37
  • Can we see the command def for check_veeam_dailyone?
    – Keith
    Commented Oct 14, 2014 at 14:46
  • Is poller/op5 host added to allowed list in nrpe.conf?
    – Petter H
    Commented May 10, 2015 at 8:18

1 Answer 1

  1. I would first try to reduce the complexity of the script to let's say...

    echo "Hello World" and see if that works.

  2. More than that, NRPE is usually ran by the user which is called nrpe (unless specified otherwise) so when you run your checks, run them from the nrpe user rather than from root.
  3. Also make sure that "dont_blame_nrpe" is set to "1" in nrpe.cfg on the monitored machine.
  4. Another thing you can try is wrapping this:

cmd /c echo c:\install\veeam_check.ps1 ; exit($lastexitcode) | powershell.exe -ExecutionPolicy Bypass -noninteractive -noprofile -File -

within a batch file (.bat) and then change the command in NRPE to something simpler like so:


Then try to run the command again and see if that works.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .