Nagiosgrapher erkennt Werte nicht

Dieses Thema im Forum "Anwendungen" wurde erstellt von bitmuncher, 12.01.2010.

  1. #1 bitmuncher, 12.01.2010
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Ich hab hier ein Nagios mit Nagiosgrapher auf einem lenny laufen. Prinzipiell funktioniert auch alles, aber Nagiosgrapher erstellt für einige Werte keine Grafiken, obwohl entsprechende Konfigurationen vorliegen. Dies betrifft z.B. den Wert, der ausgibt wieviele Sockets eine Tomcat-Instanz offen hat. Ermittelt wird dies mit folgendem Skript/Plugin:

    Code:
    #!/usr/bin/perl
    
    use Getopt::Std;
    
    my $OK_STATE = 0;
    my $WARNING_STATE = 1;
    my $CRITICAL_STATE = 2;
    
    getopts('i:w:c:') or die "Usage: $0 -i <instance> -w <warnlevel> -c <critlevel>";
    if(!$opt_w || !$opt_c || !$opt_i) {
        print "Usage: $0 -i <instance> -w <warnlevel> -c <critlevel>";
        exit $WARNING_STATE;
    }
    my $warn_level = $opt_w;
    my $crit_level = $opt_c;
    my $instance = $opt_i;
    
    $cmd = "ps ax | grep catalina | grep ".$instance." | grep -v 'ps ax' | awk '{print \$1}'";
    my $tmp = `$cmd`;
    chomp($tmp);
    
    $cmd = "sudo /bin/netstat -lntpa | awk '{print \$7}' | grep ".$tmp." | wc -l";
    $tmp = `$cmd`;
    my $count = $tmp + 0;
    
    if($crit_level <= $count) {
        print "CRITICAL - ".$count." sockets.\n";
        exit $CRITICAL_STATE;
    } elsif($warn_level <= $count) {
        print "WARNING - ".$count." sockets.\n";
        exit $WARNING_STATE;
    } else {
        print "OK - ".$count." sockets.\n";
        exit $OK_STATE;
    }
    
    Die Graphen-Definition im Nagios-Grapher sieht dafür so aus:

    Code:
    define ngraph{
            service_name            Tomcat open sockets p0
            graph_log_regex         ([0-9]+)\s+sockets
            graph_value             sockets
            graph_units             sockets
            graph_legend            open sockets
            rrd_plottype            AREA
            rrd_color               ff0000
            }
    
    Diese Definition existiert für jede Tomcat-Instanz (p0 bis p6) auf den Servern. Nagiosgrapher meint dazu aber nur

    Code:
    2010-01-12 12:08:46 REGEX: 2 blocks for 'Tomcat open sockets p0' found.
    2010-01-12 12:08:46 REGEX: graph_value=sockets
    2010-01-12 12:08:46 REGEX: perfdata=ok - 23 sockets.
    2010-01-12 12:08:46 VALUES: [de05.domain.tld][Tomcat open sockets p0]:No matching output values found...
    
    Ich hatte als graph_log_regex auch schon '(\d+) sockets' versucht, aber das bringt das gleiche Ergebnis. Seltsamerweise funktionieren ähnliche Graphen aber problemlos. Das Problem tritt scheinbar zumeist dann auf, wenn der zu verarbeitende Wert am Anfang des Plugin-Outputs steht. Allerdings auch nicht immer, denn ich habe z.B. ein Plugin, das ausgibt wieviele neue Log-Einträge es in einem Tomcat gibt und dessen graph_log_regex '(\d+) new entries' funktioniert problemlos. Das gleiche Problem existiert aber auch noch bei einigen anderen Graphen (z.B. zum Heap Memory u.a.).

    Hat irgendwer eine Idee wie das Problem zu lösen ist?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. foexle

    foexle Kaiser

    Dabei seit:
    02.05.2007
    Beiträge:
    1.104
    Zustimmungen:
    0
    Ort:
    Saarbrücken
    ja dann stimmt der regexe nicht ....

    haste den mal versucht ob er auch das parst was er wirklich machen soll ?
     
  4. #3 bitmuncher, 12.01.2010
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Die Regexe stimmt, lässt sich in einem Test-Skript problemlos nutzen und parsed genau das, was sie soll. Auch diverse Regex-Tester zeigen an, dass sie funktioniert. Wenn sie nicht stimmen würde oder ich verifizieren könnte, dass es daran liegt, würde ich hier nicht fragen müssen.

    Innerhalb von Nagiosgrapher hat man keine Möglichkeit sich ausgeben zu lassen, was er dort parsed. Zumindest keine, die mir bekannt wäre. Wenn du da aber mehr weisst, dann schreibe mir bitte, wie ich innerhalb von Nagiosgrapher Regexen verifizieren kann.
     
  5. #4 bitmuncher, 21.01.2010
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    *push* Keiner eine Idee?
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Nagiosgrapher erkennt Werte nicht

Die Seite wird geladen...

Nagiosgrapher erkennt Werte nicht - Ähnliche Themen

  1. GParted 0.24 erkennt ZFS-Dateisysteme

    GParted 0.24 erkennt ZFS-Dateisysteme: Mit der Freigabe von GParted 0.24 korrigiert das Team diverse Fehler, fügt dem Programm aber auch etliche Neuerungen hinzu. Unter anderem erkennt...
  2. Software erkennt heiße News an Wikipedia

    Software erkennt heiße News an Wikipedia: Ein internationales Forscherteam um den deutschen Google-Mitarbeiter Thomas Steiner hat eine Software entwickelt, die anhand von...
  3. Debian 6.0.6 erkennt Raid-Controller in HP-Server nicht

    Debian 6.0.6 erkennt Raid-Controller in HP-Server nicht: Hallo zusammen Versuche auf einem HP DL380p Gen8 Server das neuste Debian-6.0.6 amd64 zu installieren. Leider findet der...
  4. Backtrack5 in Oracle VM erkennt WLAN nicht?

    Backtrack5 in Oracle VM erkennt WLAN nicht?: Hi, wie schon der titel sagt erkennt die Backtrack in VM meine WLAN Karte nicht? In VM hab ich als ersten Adapter NAT und als zweites...
  5. Fachinformatiker Systemintegration/Anwendungsentwicklung Programmierkenntnisse?

    Fachinformatiker Systemintegration/Anwendungsentwicklung Programmierkenntnisse?: Aloha, Ich interessiere mich für die Berufe Fachinformatiker-Systemintegration / Fachinformatiker -Anwendungsentwicklung. Bei den...