Announcement

Collapse
No announcement yet.

check_centreon_dell_temperature aucun graph

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Guigui2607
    replied
    A priori, le plugin ne remonte que la température, aucune de notion de warning ou de critical dans le code du plugin.
    Il ne renvoit rien non plus en perfdata d'après ce que je vois...

    Leave a comment:


  • Magios
    replied
    Merci de la réponse;
    en effet je n'ai rien de renseigné dans Performance Data

    Peut-être que tu vas pouvoir m'aider à compléter la question qui vient à moi.
    Ci-dessous l'aide associé au plugin
    Code:
    ./check_centreon_dell_temperature --help
    Copyright (c) 2005 Oreon
    Bugs to http://www.oreon.org/
    
    
    Usage:
    ./check_centreon_dell_temperature
       -H (--hostname)   Hostname to query - (required)
       -C (--community)  SNMP read community (defaults to public,
                         used with SNMP v1 and v2c
       -v (--snmp_version)  1 for SNMP v1 (default)
                            2 for SNMP v2c
       -t (--sensor)     Set the sensor number (1 by default)
       -s (--show)       Describes all sensors
       -V (--version)    Plugin version
       -h (--help)       usage help
    comment faire passer à celui-ci la notion de warning et critical ?
    faut-il le réécrire ?

    ci-dessous le code du plugin :
    Code:
    #! /usr/bin/perl -w
    #
    # $Id: check_graph_dell_temperature,v 1.4 2005/07/27 22:22:48 wistof Exp $
    #
    # Oreon's plugins are developped with GPL Licence :
    # http://www.fsf.org/licenses/gpl.txt
    # Developped by : Wistof
    #
    # Modified for Oreon Project by : Mathieu Chateau - Christophe Coraboeuf - Sugumaran Mathavarajan
    #
    # The Software is provided to you AS IS and WITH ALL FAULTS.
    # OREON makes no representation and gives no warranty whatsoever,
    # whether express or implied, and without limitation, with regard to the quality,
    # safety, contents, performance, merchantability, non-infringement or suitability for
    # any particular or intended purpose of the Software found on the OREON web site.
    # In no event will OREON be liable for any direct, indirect, punitive, special,
    # incidental or consequential damages however they may arise and even if OREON has
    # been previously advised of the possibility of such damages.
    ##
    ## Plugin init
    ##
    use strict;
    use Net::SNMP qw(:snmp oid_lex_sort);
    use FindBin;
    use lib "$FindBin::Bin";
    use lib "/usr/local/nagios/libexec";
    use utils qw($TIMEOUT %ERRORS &print_revision &support);
    
    if (eval "require oreon" ) {
    	use oreon qw(get_parameters);
    	use vars qw($VERSION %oreon);
    	%oreon=get_parameters();
    } else {
    	print "Unable to load oreon perl module\n";
        exit $ERRORS{'UNKNOWN'};
    }
    
    use vars qw($PROGNAME $VERSION);
    use Getopt::Long;
    use vars qw($opt_h $opt_V $opt_H $opt_C $opt_v $opt_s $opt_t $sensor $OID $OID_DESC);
    
    ##
    ## Plugin var init
    ##
    
    
    $VERSION = '$Revision: 1.1 $';
    $VERSION =~ s/^\$.*:\W(.*)\W.+?$/$1/;
    
    $PROGNAME = $0;
    sub print_help ();
    sub print_usage ();
    
    Getopt::Long::Configure('bundling');
    GetOptions
        ("h"   => \$opt_h, "help"         => \$opt_h,
         "V"   => \$opt_V, "version"      => \$opt_V,
         "v=s" => \$opt_v, "snmp=s"       => \$opt_v,
         "C=s" => \$opt_C, "community=s"  => \$opt_C,
         "s"   => \$opt_s, "show"     => \$opt_s,
         "t=s"   => \$opt_t, "sensor=s"     => \$opt_t,
         "H=s" => \$opt_H, "hostname=s"   => \$opt_H);
    
    if ($opt_V) {
        print_revision($PROGNAME,'$Revision: 1.1 $');
        exit $ERRORS{'OK'};
    }
    
    if ($opt_h) {
        print_help();
        exit $ERRORS{'OK'};
    }
    
    $opt_H = shift unless ($opt_H);
    (print_usage() && exit $ERRORS{'OK'}) unless ($opt_H);
    
    ($opt_v) || ($opt_v = shift) || ($opt_v = "1");
    my $snmp = $1 if ($opt_v =~ /(\d)/);
    
    ($opt_t) || ($opt_t = shift) || ($opt_t = "1");
    my $sensor = $1 if ($opt_t =~ /(\d)/);
    
    ($opt_C) || ($opt_C = shift) || ($opt_C = "public");
    
    my $start=time;
    my $name = $0;
    $name =~ s/\.pl.*//g;
    
    ##
    ## Plugin snmp requests
    ##
    my $OID = ".1.3.6.1.4.1.674.10892.1.700.20.1.6.1";
    my $OID_DESC = ".1.3.6.1.4.1.674.10892.1.700.20.1.8.1";
    
    
    # create a SNMP session
    my ( $session, $error ) = Net::SNMP->session(-hostname  => $opt_H,-community => $opt_C, -version  => $snmp);
    if ( !defined($session) ) {
        print("UNKNOWN: $error");
        exit $ERRORS{'UNKNOWN'};
    }
    
    if ($opt_s) {
        # Get desctiption table
        my $result = $session->get_table(
            Baseoid => $OID_DESC
        );
    
        if (!defined($result)) {
            printf("ERROR: Description Table : %s.\n", $session->error);
            $session->close;
            exit $ERRORS{'UNKNOWN'};
        }
    
        foreach my $key ( oid_lex_sort(keys %$result)) {
            my @oid_list = split (/\./,$key);
            my $index = pop (@oid_list) ;
            print "Temperature Sensor $index :: $$result{$key}\n";
        }
    exit $ERRORS{'OK'};
    }
    
    
    my $result = $session->get_request(
                                    -varbindlist => [$OID.".".$sensor,
                                                      $OID_DESC.".".$sensor]
                                       );
    if (!defined($result)) {
        printf("UNKNOWN: %s.\n", $session->error);
        $session->close;
        exit $ERRORS{'UNKNOWN'};
    }
    
    my $return_result =  $result->{$OID.".".$sensor};
    my $un = 0;
    if ($return_result =~ /(\d+)/ ) {
        $un = $1;
    } else {
        printf("UNKNOWN:  Unable to parse SNMP Output :: %s", $return_result );
        $session->close;
        exit $ERRORS{'UNKNOWN'};
    }
    
    $un =  sprintf("%02.2f", $un / 10);
    
    ##
    ## Plugin return code
    ##
    if ($un || ( $un == 0) ){
        print "OK - ". $result->{$OID_DESC.".".$sensor} ." : $un\n";
        exit $ERRORS{'OK'};
    }
    else{
            print "CRITICAL Host unavailable\n";
            exit $ERRORS{'CRITICAL'};
    }
    
    
    sub print_usage () {
        print "\nUsage:\n";
        print "$PROGNAME\n";
        print "   -H (--hostname)   Hostname to query - (required)\n";
        print "   -C (--community)  SNMP read community (defaults to public,\n";
        print "                     used with SNMP v1 and v2c\n";
        print "   -v (--snmp_version)  1 for SNMP v1 (default)\n";
        print "                        2 for SNMP v2c\n";
        print "   -t (--sensor)     Set the sensor number (1 by default)\n";
        print "   -s (--show)       Describes all sensors \n";
        print "   -V (--version)    Plugin version\n";
        print "   -h (--help)       usage help\n";
    
    }
    
    sub print_help () {
        print "Copyright (c) 2005 Oreon\n";
        print "Bugs to http://www.oreon.org/\n";
        print "\n";
        print_usage();
        print "\n";
    }

    Leave a comment:


  • Guigui2607
    replied
    Si tu vas dans nagios et que tu affiches le statut du service correspondant au check_centreon_dell_temperature de ton serveur, vérifie

    Status Information: OK - PROC_1 Temp : 38.00
    Performance Data: Taux=38.00;Warn;Crit;Min;Max

    Il faut dans un premier temps que la ligne Performance Data soit renseignée et que la syntaxe de cette ligne soit correcte pour que Centreon puisse l'exploiter.

    Taux=Valeur_relevée;Valeur_Warning;Valeur_Critical;Min_Graph;Max_Graph

    Les ; sont importants aussi dans la syntaxe de cette ligne...

    Leave a comment:


  • Magios
    started a topic check_centreon_dell_temperature aucun graph

    check_centreon_dell_temperature aucun graph

    Bonjour à tous.

    Nous venons de recevoir un beau serveur DELL, où je veux monitorer la température du processeur de celui-ci

    Ma commande :
    Code:
    $USER1$/check_centreon_dell_temperature -H $HOSTADDRESS$ -C $ARG1$ -v $ARG2$ -t $ARG3$
    Mes paramètres bien sûr le $hostadress est renseigné)
    Code:
    !public!1!1
    le retour sous oreon :
    Code:
     	
    OK - PROC_1 Temp : 38.00
    code retour et commande en ligne de commande :
    Code:
    ./check_centreon_dell_temperature -H monip -C public -v 1 -t 1
    OK - PROC_1 Temp : 39.00
    Jusqu'ici tout est OK par contre je n'ai pas de graph associé à ces valeurs sous oreon pourtant j'ai bien coché oui dans Traitement des données de performance....

    Quelqu'un sait d'où peut venir le souci ????
    Last edited by Magios; 28 November 2007, 10:20.
Working...
X