Quantcast
Channel: Monitoring-Portal Feed
Viewing all articles
Browse latest Browse all 1338

Probleme mit send_nsca

$
0
0
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

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

Viewing all articles
Browse latest Browse all 1338