11.09.2011, 16:12 UTC+2

Sie sind nicht angemeldet.

check_multi Fehler...

Morbid Angel

Fortgeschrittener

Beiträge: 154

Geschlecht: Männlich

Beruf: Informatiker/Network Security Administrator

Anzahl Nagios-Server: 4

Hobbys: Motorrad, IT, Kraftsport

Nagios-Version(en): 3.x

Icinga-Version(en): 1.3.1, 1.4.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: ca. 200

Anzahl Services: ca. 500

Betriebssystem(e): Linux

Plugin-Version(en): 1.4.14

IDO-Version: 1.3.1, 1.4.1

Sonstige Addon's: pnp, nconf, check_multi

1

16.08.2011, 17:41

check_multi Fehler...

Hi

kann jemand helfen?

multi_interfaces.cmd:

Quellcode

1
2
3
4
5
6
eeval  [ interfaces ] =
        foreach my $ip (split(/,/,'$MULTI_name_ip'))
        {
                my ($name, $ip) = split /-/, $MULTI_name_ip;
                parse_lines("command [ interface_$name ] = check_bandwidth v2://$MULTI_ip/$MULTI_snmp_community:ip$ip -s /tmp/check_bandwidth -m -u");
        }


Aufruf:

Quellcode

1
check_multi -f multi_interface.cmd -s name_ip=eth0,10.0.11.81 -s ip=10.0.8.81 -s snmp_community=bla


Ergebnis:

Quellcode

1
2
3
4
5
WARNING - 1 plugins checked, 1 warning (interfaces)
[ 1] interfaces [Global symbol "$MULTI_name_ip" requires explicit package name at (eval 11) line 3.
 Global symbol "$MULTI_ip" requires explicit package name at (eval 11) line 4.
 Global symbol "$MULTI_snmp_community" requires explicit package name at (eval 11) line 4.
 ]|check_multi::check_multi::plugins=1 time=0.000664


Wieso tut es nicht?

WolfgangF

Fortgeschrittener

Beiträge: 253

Geburtstag: 26.03.1969 (42)

Geschlecht: Männlich

Wohnort: Österreich

Anzahl Nagios-Server: 3

Hobbys: Jazz

Nagios-Version(en): 3.0.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 380

Anzahl Services: 4100

Betriebssystem(e): Linux, Windows

Plugin-Version(en): 1.4.11

NDO-Version: 1.4b9

Sonstige Addon's: PNP-0.4.14

2

16.08.2011, 20:00

Servus,

die .cmd Datei sollte so aussehen:

Quellcode

1
2
3
4
5
6
eeval  [ interfaces ] =
    foreach my $ip (split(/,/,'$name_ip$'))
        {
         my ($name, $ip) = split /-/, "$name_ip$";
         parse_lines("command [ interface_$name ] = check_bandwidth v2://$ip/$snmp_community$:ip$ip -s /tmp/check_bandwidth -m -u");
         }


die übergebenen Variable (-s) brauchen ein $ an Anfang und Ende und das Prefix MULTI brauchst Du nicht
hoffe das hilft
LG

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »WolfgangF« (17.08.2011, 05:20)


Morbid Angel

Fortgeschrittener

Beiträge: 154

Geschlecht: Männlich

Beruf: Informatiker/Network Security Administrator

Anzahl Nagios-Server: 4

Hobbys: Motorrad, IT, Kraftsport

Nagios-Version(en): 3.x

Icinga-Version(en): 1.3.1, 1.4.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: ca. 200

Anzahl Services: ca. 500

Betriebssystem(e): Linux

Plugin-Version(en): 1.4.14

IDO-Version: 1.3.1, 1.4.1

Sonstige Addon's: pnp, nconf, check_multi

3

17.08.2011, 08:36

neuer Versuch:

Quellcode

1
2
3
4
5
6
eeval  [ interfaces ] =
        foreach my $ip (split(/,/,'$name_ip$'))
        {
        my ($name, $ip) = split /-/, "$name_ip$";
        parse_lines("command [ interface_$name ] = check_bandwidth v2://$host$/$snmp_community$:ip$ip -s /tmp/check_bandwidth -m -u");
        }


mit:

Quellcode

1
check_multi -f /multi_interface.cmd -s name_ip=eth0,10.0.11.81 -s host=10.0.8.81 -s snmp_community=bla


Quellcode

1
2
OK - 1 plugins checked, 1 ok [Use of uninitialized value in concatenation (.) or string at (eval 11) line 4. generated at line 2250 in /usr/lib64/nagios/plugins/check_multi ((eval))]
[ 1] interfaces |check_multi::check_multi::plugins=1 time=0.000680


noch was nicht ganz ok :/

WolfgangF

Fortgeschrittener

Beiträge: 253

Geburtstag: 26.03.1969 (42)

Geschlecht: Männlich

Wohnort: Österreich

Anzahl Nagios-Server: 3

Hobbys: Jazz

Nagios-Version(en): 3.0.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 380

Anzahl Services: 4100

Betriebssystem(e): Linux, Windows

Plugin-Version(en): 1.4.11

NDO-Version: 1.4b9

Sonstige Addon's: PNP-0.4.14

4

17.08.2011, 09:06

Hier liegt der Fehler

Quellcode

1
my ($name, $ip) = split /-/, "$name_ip$";


Du übergibst die Variable mit

Quellcode

1
-s  name_ip=eth0,10.0.11.81


also mit Komma getrennt, und im Code will Du mit - splitten
Ändere es auf

Quellcode

1
 my ($name, $ip) = split /,/, "$name_ip$";


und es funktioniert (lass Dich vom "command not found" nicht irritieren - ich habe das Plugin nicht)

Quellcode

1
2
3
4
check_multi -f /tmp/wolfgang/test.cmd -s name_ip=eth0,10.0.11.81 -s ip=10.0.8.81 -s snmp_community=bla
UNKNOWN - 2 plugins checked, 1 unknown (interface_eth0), 1 ok
[ 1] interfaces
[ 2] interface_eth0  [sh: check_bandwidth: command not found,RC was 127!]|check_multi::check_multi::plugins=2 time=0.006751

Morbid Angel

Fortgeschrittener

Beiträge: 154

Geschlecht: Männlich

Beruf: Informatiker/Network Security Administrator

Anzahl Nagios-Server: 4

Hobbys: Motorrad, IT, Kraftsport

Nagios-Version(en): 3.x

Icinga-Version(en): 1.3.1, 1.4.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: ca. 200

Anzahl Services: ca. 500

Betriebssystem(e): Linux

Plugin-Version(en): 1.4.14

IDO-Version: 1.3.1, 1.4.1

Sonstige Addon's: pnp, nconf, check_multi

5

17.08.2011, 10:10

mein Fehler, allerdings geht es darum mehrere solche Tupel angeben zu können. Mit einem klappt es:

Quellcode

1
2
3
4
check_multi -t 60 -T 240 -f /multi_interface.cmd -s name_ip=eth0-10.0.11.81 -s host=10.0.11.81 -s snmp_community=bla
OK - 2 plugins checked, 2 ok
[ 1] interfaces 
[ 2] interface_eth0 OK Out: 0.00Mbps; In: 0.00Mbps|check_multi::check_multi::plugins=2 time=0.246081 interface_eth0::check_bandwidth3::out=1113.75;750000000;900000000;0;1000000000 in=1674;750000000;900000000;0;1000000000


bei 2 merkt er aber die 2te Angabe nicht... dafür ist aber doch die foreach schleife da...

Quellcode

1
2
3
4
check_multi -t 60 -T 240 -f /multi_interface.cmd -s name_ip=eth0-10.0.11.81,lo-127.0.0.1 -s host=10.0.11.81 -s snmp_community=bla
OK - 2 plugins checked, 2 ok
[ 1] interfaces 
[ 2] interface_eth0 OK Out: 0.00Mbps; In: 0.00Mbps|check_multi::check_multi::plugins=2 time=0.246081 interface_eth0::check_bandwidth3::out=1113.75;750000000;900000000;0;1000000000 in=1674;750000000;900000000;0;1000000000


im cmd file:

Quellcode

1
2
3
4
5
6
eeval  [ interfaces ] =
        foreach my $ip (split(/,/,'$name_ip$'))
        {
        my ($name, $ip) = split /-/, "$name_ip$";
        parse_lines("command [ interface_$name ] = check_bandwidth3 -i v2://$host$/$snmp_community$:ip$ip -s /tmp/check_bandwidth -m -u");
        }


Die foreach Schleife sollte es fuer mehrere durch ',' getrennte Tupel iterieren und für jede Angabe nen check generieren... oder?

WolfgangF

Fortgeschrittener

Beiträge: 253

Geburtstag: 26.03.1969 (42)

Geschlecht: Männlich

Wohnort: Österreich

Anzahl Nagios-Server: 3

Hobbys: Jazz

Nagios-Version(en): 3.0.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 380

Anzahl Services: 4100

Betriebssystem(e): Linux, Windows

Plugin-Version(en): 1.4.11

NDO-Version: 1.4b9

Sonstige Addon's: PNP-0.4.14

6

17.08.2011, 10:21

das würde dann mit dieser Code erledigen

Quellcode

1
2
3
4
5
6
eeval  [ interfaces ] =
    foreach my $tupel (split(/,/,'$name_ip$'))
        {
         my ($name, $ip) = split /-/, $tupel;
         parse_lines("command [ interface_$name ] = check_bandwidth v2://$ip/$snmp_community$:$ip -s /tmp/check_bandwidth -m -u");
         }

dann funktioniert auch die Angabe mehrere Interface,IP Tupel

Quellcode

1
2
3
4
5
check_multi -f /tmp/wolfgang/test.cmd -s name_ip=eth0-10.0.11.81,lo-127.0.0.1 -s ip=10.0.8.81 -s snmp_community=bla
UNKNOWN - 3 plugins checked, 2 unknown (interface_eth0, interface_lo), 1 ok
[ 1] interfaces
[ 2] interface_eth0  [sh: check_bandwidth: command not found,RC was 127!]
[ 3] interface_lo  [sh: check_bandwidth: command not found,RC was 127!]|check_multi::check_multi::plugins=3 time=0.010277

WolfgangF

Fortgeschrittener

Beiträge: 253

Geburtstag: 26.03.1969 (42)

Geschlecht: Männlich

Wohnort: Österreich

Anzahl Nagios-Server: 3

Hobbys: Jazz

Nagios-Version(en): 3.0.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 380

Anzahl Services: 4100

Betriebssystem(e): Linux, Windows

Plugin-Version(en): 1.4.11

NDO-Version: 1.4b9

Sonstige Addon's: PNP-0.4.14

7

17.08.2011, 10:25

BTW: du hast für beide Schleifen die gleiche Variable gesplittet, das war der Fehler

Morbid Angel

Fortgeschrittener

Beiträge: 154

Geschlecht: Männlich

Beruf: Informatiker/Network Security Administrator

Anzahl Nagios-Server: 4

Hobbys: Motorrad, IT, Kraftsport

Nagios-Version(en): 3.x

Icinga-Version(en): 1.3.1, 1.4.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: ca. 200

Anzahl Services: ca. 500

Betriebssystem(e): Linux

Plugin-Version(en): 1.4.14

IDO-Version: 1.3.1, 1.4.1

Sonstige Addon's: pnp, nconf, check_multi

8

17.08.2011, 10:26

geil... tut... vielen Dank!

WolfgangF

Fortgeschrittener

Beiträge: 253

Geburtstag: 26.03.1969 (42)

Geschlecht: Männlich

Wohnort: Österreich

Anzahl Nagios-Server: 3

Hobbys: Jazz

Nagios-Version(en): 3.0.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: 380

Anzahl Services: 4100

Betriebssystem(e): Linux, Windows

Plugin-Version(en): 1.4.11

NDO-Version: 1.4b9

Sonstige Addon's: PNP-0.4.14

9

17.08.2011, 10:30

Gerne - Vor allem Dank an den Matthias Flacke für das geniale check_multi Plugin!

Ich ich habe aus Deinem Beispiel auch wieder gelernt und gleichein paar meiner älteren cmd-files umgebaut :)Dank zurück

Morbid Angel

Fortgeschrittener

Beiträge: 154

Geschlecht: Männlich

Beruf: Informatiker/Network Security Administrator

Anzahl Nagios-Server: 4

Hobbys: Motorrad, IT, Kraftsport

Nagios-Version(en): 3.x

Icinga-Version(en): 1.3.1, 1.4.1

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: ca. 200

Anzahl Services: ca. 500

Betriebssystem(e): Linux

Plugin-Version(en): 1.4.14

IDO-Version: 1.3.1, 1.4.1

Sonstige Addon's: pnp, nconf, check_multi

10

17.08.2011, 12:27

jo der check ist einfach genial... ich habe damit super viel erschlagen... dies und pnp sind meine favorites als erweiterung von icinga...

Ähnliche Themen