Old Stuf‎ > ‎Linux‎ > ‎nagios‎ > ‎

powershell incl nagios NSClient++

Om powershell scripts te kunnen gebruiken icm met nagios moeten en aantal dingen aangepast worden.
Hierbij ga ik uit dat nrpe al werkt zo niet lees dan eerst hier hoe je nrpe moet installeren.
 
De stappen om powershell te laten werken
pas de NSC.ini aan
 
en voeg in de NSC.ini een check to zoals onderstaand voorbeeld. (let vooral op het - teken na het woord command
check_externalip=cmd /c echo scripts\getip.ps1 | powershell.exe -command -
 
maak een powershel script in de folder scripts of andere plaats.
 
Hier een voorbeeld script
 
$goodip="83.83.5.193"
$ip = (new-object System.Net.WebClient).DownloadString("http://whatismyip.com/automation/n09230945.asp")
if ($ip -like $goodip)
{
write-host "The external ip is: $ip"
exit 0
}
else
{
write-host "The external ip is: $IP and not $goodip"
$host.SetShouldExit(2)
exit
}
 
Let vooral op de regels
 
$host.SetShouldExit(2)
exit
 
deze zorgen ervoor dat powershell afsluit met een error code 2, default error codes zijn namelijk 0 of 1 en nagios verwerkt de codes als volgd
 
0 Ok
1 Warning
2 Crittical
 
Pas nu de NSClient++ aan deze moet onder het local account werken en er moet een vinkje staan bij Allow service to interact with desktop.
 
nu zou je het voorbeeld script moet kunnen testen door op je nagios server het volgende commando te geven
 
<server>/usr/local/nagios/libexec # ./check_nrpe -H <windows server met het script> -c check_externalip -t 40
Als dit werkt kun je het script aan de nagios omgeving toevoegen.
voorbeeltje

define service{
use generic-service
host_name <je windows server in nagios>
service_description Public IP
check_command check_nrpe!check_externalip
}


 
 
Comments