Hallo Leute,
ich hab ein paar Probleme beim Check von Diensten mit NRPE.
Als erstes hab ich einen Debian Server auf dem Icinga2 läuft, welcher die Clients überprüfen soll.
Auf einem der Clients läuft ebenfalls Debian mit dem nagios-nrpe-server Service.
Wenn ich auf dem Icinga-Server einen Check absetze funktioniert er, zumindest die meiste normalen Checks ala Disk oder Load.
Will ich jetzt aber den Status von Pacemaker und Resourcen abfragen, kommt Unable to read Output.
Ich weiß nicht ob das Pacemaker Skript selbst geschrieben wurde, ich hab das ganze Projekt nur übernommen und soll es fertigstellen.
Da in dem Skript /usr/sbin/crm_mon aufgerufen wird, habe ich den User Nagios zur Gruppe haclient hinzugefügt. Manuell als Nagios User kann ich den Befehl auch abschicken und bekomme den eigentlich zu erwartenden Output.
Die Konfig auf dem Client sollte auch richtig sein.
Die bisherigen Tipps die ich gelesen haben, wie zum Beispiel: /etc/sudoers --> defaults:nagios !requiretty
funktionieren hier nicht, weil wir auf den meisten Maschinen kein sudo nutzen und auch nicht nutzen wollen.
Habt ihr irgendwelche Ideen??
Vorgehensweise:
Icinga:~# /usr/lib/nagios/plugins/check_nrpe -H CLIENT -c check_pcmk_master_1 --> Unable to read Output
nagios@CLIENT:~# /usr/lib/nagios/plugins/check_pacemaker Master CLIENT --> OK: Master: CLIENT
Konfiguration Client (/etc/nagios/nrpe.cfg):
nrpe_user=nagios
nrpe_group=nagios
server_port=5666
allowed_hosts=ICINGA
command[check_pcmk_master_1]=/usr/lib/nagios/plugins/check_pacemaker Master CLIENT
check_pacemaker Skript:
ich hab ein paar Probleme beim Check von Diensten mit NRPE.
Als erstes hab ich einen Debian Server auf dem Icinga2 läuft, welcher die Clients überprüfen soll.
Auf einem der Clients läuft ebenfalls Debian mit dem nagios-nrpe-server Service.
Wenn ich auf dem Icinga-Server einen Check absetze funktioniert er, zumindest die meiste normalen Checks ala Disk oder Load.
Will ich jetzt aber den Status von Pacemaker und Resourcen abfragen, kommt Unable to read Output.
Ich weiß nicht ob das Pacemaker Skript selbst geschrieben wurde, ich hab das ganze Projekt nur übernommen und soll es fertigstellen.
Da in dem Skript /usr/sbin/crm_mon aufgerufen wird, habe ich den User Nagios zur Gruppe haclient hinzugefügt. Manuell als Nagios User kann ich den Befehl auch abschicken und bekomme den eigentlich zu erwartenden Output.
Die Konfig auf dem Client sollte auch richtig sein.
Die bisherigen Tipps die ich gelesen haben, wie zum Beispiel: /etc/sudoers --> defaults:nagios !requiretty
funktionieren hier nicht, weil wir auf den meisten Maschinen kein sudo nutzen und auch nicht nutzen wollen.
Habt ihr irgendwelche Ideen??
Vorgehensweise:
Icinga:~# /usr/lib/nagios/plugins/check_nrpe -H CLIENT -c check_pcmk_master_1 --> Unable to read Output
nagios@CLIENT:~# /usr/lib/nagios/plugins/check_pacemaker Master CLIENT --> OK: Master: CLIENT
Konfiguration Client (/etc/nagios/nrpe.cfg):
nrpe_user=nagios
nrpe_group=nagios
server_port=5666
allowed_hosts=ICINGA
command[check_pcmk_master_1]=/usr/lib/nagios/plugins/check_pacemaker Master CLIENT
check_pacemaker Skript:
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#/bin/bash IN=$(/usr/sbin/crm_mon --one-shot | grep "$1") #Check Master if [[ "$1" == "Master" ]] then saveIFS=$IFS IFS=" " IN2=($IN) IFS=$saveIFS count=${#IN2[@]} IN3="Master: ${IN2[$count-2]}" if [[ "$IN3" != *$2* ]] then echo "WARNING: $IN3" exit 1 else echo "OK: $IN3" exit 0 fi #Check Service else saveIFS=$IFS IFS=" " IN2=($IN) IFS=$saveIFS count=${#IN2[@]} IN3="$1 ${IN2[$count-1]}" if [[ "$IN3" == *Stopped* ]] then echo "Critical: $IN3" exit 2 elif [[ "$IN3" != *$2* ]] then echo "Warning: $IN3" exit 1 else echo "OK: $IN3" exit 0 fi fi |