Announcement

Collapse
No announcement yet.

check_centreon_dell_temperature aucun graph

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

  • 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, 11:20.

  • #2
    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...
    Guigui

    > PAS DE SUPPORT VIA MP <

    "Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche !!" (Shadoks)

    Comment


    • #3
      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";
      }

      Comment


      • #4
        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...
        Guigui

        > PAS DE SUPPORT VIA MP <

        "Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche !!" (Shadoks)

        Comment

        Working...
        X