Hallo Forengemeinde,
gleich zum Anfang, sollte ich mich irgendwo ein Bisschen blöd anstellen, bitte ich um Entschuldigung. Ich bin noch ziemlich unerfahren was Nagios betrifft.
Ich habe ein Problem mit send_nsca. Wir überwachen mehrere Hosts mit Nagios. Wobei wir ein verteiltes Monitoring betreiben, in dem die überwachten Hosts ihr Ergebnis an einen zentralen Nagiosserver übermitteln, der die dann grafisch darstellt, bzw. im Bedarfsfall Benachrichtigungen versendet.
Es läuft auch auf allen Hosts problemlos, bis auf einen ...
Zum übermitteln der Testergebnisse verwenden wir zwei Scripte submit_host_check und submit_service_check.
Die Scripte
Submit Service Check
Submit Host Check
Die Kommando Definition
Auszug aus der nagios.cfg
Das verwendete Nagios ist ein Nagios3 und auf allen Hosts läuft ein Debian.
Nun zu meinem Problem. Send_nsca übermittelt die Checks nur teilweise. Wie im nagios.log zu sehen ist werden die Checks anstandslos ausgeführt. Der Host Check geht auch an den zentralen Nagiosserver. Aber die Service Checks werden einfach nicht übermittelt. Nachdem ich nun mehrere Tage gesucht, probiert und gelesen habe komme ich einfach nicht weiter. Ich hoffe jemand von Euch hat einen Tipp wo ich weiter suchen kann, oder vielleicht sogar eine Lösung.
Vielen Dank, Clemens
gleich zum Anfang, sollte ich mich irgendwo ein Bisschen blöd anstellen, bitte ich um Entschuldigung. Ich bin noch ziemlich unerfahren was Nagios betrifft.
Ich habe ein Problem mit send_nsca. Wir überwachen mehrere Hosts mit Nagios. Wobei wir ein verteiltes Monitoring betreiben, in dem die überwachten Hosts ihr Ergebnis an einen zentralen Nagiosserver übermitteln, der die dann grafisch darstellt, bzw. im Bedarfsfall Benachrichtigungen versendet.
Es läuft auch auf allen Hosts problemlos, bis auf einen ...
Zum übermitteln der Testergebnisse verwenden wir zwei Scripte submit_host_check und submit_service_check.
Die Scripte
Submit Service Check
![]() |
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 |
#!/bin/bash # Created: 23.07.8008 # By: mzettel # # usage: submit_service_check HOSTNAME SERVICENAME RESULT OUTPUTSTRING # HOSTNAME - as defined in hosts.cfg as host_name ? # SERVICENAME - as defined in services.cfg al service_description ? # RESULT - 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN ! # OUTPUTSTRING - Status information for more verbosity # # Sends a service message in the predefined format to # the server defined as NAGIOS # CMD="/usr/sbin/send_nsca" # CHECK LOCATIONS ON YOUR MACHINE! CFG="/etc/send_nsca.cfg" # May have different locations # use: find / -name send_nsca\* HOST=$1 SRV=$2 RESULT=$3 OUTPUT=$4 PERFDATA=$5 WINDNG_NAGIOS_01=198.154.172.90 WINDNG_NAGIOS_02=230.207.200.97 echo "sending record" >> /var/log/nagios3/submit_service_check.log echo "$HOST\t$SRV\t$RESULT\t$OUTPUT|$PERFDATA\n\n" >> /var/log/nagios3/submit_service_check.log echo -e "$HOST\t$SRV\t$RESULT\t$OUTPUT|$PERFDATA\n\n" | $CMD -H $WINDNG_NAGIOS_01 -c $CFG & echo -e "$HOST\t$SRV\t$RESULT\t$OUTPUT|$PERFDATA\n\n" | $CMD -H $WINDNG_NAGIOS_02 -c $CFG & |
Submit Host Check
![]() |
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 |
#!/bin/bash # Created: 31.08.8009 # By: mzettel # # usage: submit_service_check HOSTNAME RESULT OUTPUTSTRING # HOSTNAME - as defined in hosts.cfg as host_name ? # RESULT - 0 = OK; 1 = WARNING; 2 = CRITICAL; 3 = UNKNOWN ! # OUTPUTSTRING - Status information for more verbosity # # Sends a service message in the predefined format to # the server defined as NAGIOS # CMD="/usr/sbin/send_nsca" # CHECK LOCATIONS ON YOUR MACHINE! CFG="/etc/send_nsca.cfg" # May have different locations # use: find / -name send_nsca\* HOST=$1 RESULT=$2 OUTPUT=$3 PERFDATA=$4 WINDNG_NAGIOS_01=198.154.172.90 WINDNG_NAGIOS_02=230.207.200.97 echo "sending record" >> /var/log/nagios3/submit_host_check.log echo "$HOST\t$RESULT\t$OUTPUT|$PERFDATA\n\n" >> /var/log/nagios3/submit_host_check.log echo -e "$HOST\t$RESULT\t$OUTPUT|$PERFDATA\n\n" | $CMD -H $WINDNG_NAGIOS_01 -c $CFG & echo -e "$HOST\t$RESULT\t$OUTPUT|$PERFDATA\n\n" | $CMD -H $WINDNG_NAGIOS_02 -c $CFG & |
Die Kommando Definition
![]() |
Quellcode |
1 2 3 4 5 |
# 'submit-service-check' command definition define command{ command_name submit_service_check command_line $USER1$/submit_service_check.sh $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATEID$ '$SERVICEOUTPUT$' '$SERVICEPERFDATA$' } |
![]() |
Quellcode |
1 2 3 4 |
# 'submit-host-check' command definition define command{ command_name submit_host_check command_line $USER1$/submit_host_check.sh $HOSTNAME$ $HOSTSTATEID$ '$HOSTOUTPUT$' '$HOSTPERFDATA$'} |
Auszug aus der nagios.cfg
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
obsess_over_services=1 ocsp_command=submit_service_check obsess_over_hosts=1 ochp_command=submit_host_check translate_passive_host_checks=0 passive_host_checks_are_soft=0 check_for_orphaned_services=1 check_for_orphaned_hosts=1 check_service_freshness=1 |
Das verwendete Nagios ist ein Nagios3 und auf allen Hosts läuft ein Debian.
Nun zu meinem Problem. Send_nsca übermittelt die Checks nur teilweise. Wie im nagios.log zu sehen ist werden die Checks anstandslos ausgeführt. Der Host Check geht auch an den zentralen Nagiosserver. Aber die Service Checks werden einfach nicht übermittelt. Nachdem ich nun mehrere Tage gesucht, probiert und gelesen habe komme ich einfach nicht weiter. Ich hoffe jemand von Euch hat einen Tipp wo ich weiter suchen kann, oder vielleicht sogar eine Lösung.
Vielen Dank, Clemens