Announcement

Collapse
No announcement yet.

Chtit probleme avec un plugin

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

  • Chtit probleme avec un plugin

    Voila ce que j'obtiens lorsque je lance ce script :

    srv-sup-rs:/usr/lib/nagios/plugins# ./check_graph_process.pl xxx.xxx.xxx.xxx -v 1 -C publyk
    Parameter to use lib must be directory, not file at /usr/lib/nagios/plugins/oreon.pm line 34
    srv-sup-rs:/usr/lib/nagios/plugins#

    le seul truc que je ne piges pas est la chose suivante

    ce script fonctionne actuellement pour d'autres machines mais seulement une merdoi

    et le resultat sur l'interface est -> unknown

    j'ai egalement toujours sur le meme host un autres check (real_mem)

    et encore plus fort j'ai d'autres plugins tjs en snmp sur ce host qui repondent bien ...

    zavez une idée ? recréer le host ? recréer les checks ?

    encore une derniere chose, ce host fais parti d'un hostgroup et les autres membres fonctionnent nikel (enfin les plugins associés)

    Merci

    ps: j'espere avoir été clair

  • #2
    Post ton oreon.pm
    Romain Le Merlus
    Centreon Forge
    MERETHIS

    Comment


    • #3
      le voilou

      Code:
      package oreon;
      
      use Exporter   ();
      use FindBin qw($Bin);
      use lib "$FindBin::Bin";
      use lib "/usr/lib/nagios/plugins";
      
      use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
      use utils qw($TIMEOUT %ERRORS &print_revision &support);
      
      if (eval "require Config::IniFiles" ) {
              use Config::IniFiles;
      } else {
              print "Unable to load Config::IniFiles\n";
          exit $ERRORS{'UNKNOWN'};
      }
      
      ### RRDTOOL Module
      use lib qw(/usr/lib/perl5/RRDs.pm ../lib/perl);
      if (eval "require RRDs" ) {
              use RRDs;
      } else {
              print "Unable to load RRDs perl module\n";
          exit $ERRORS{'UNKNOWN'};
      }
      
      # On défini une version pour les vérifications
      #$VERSION = do { my @r = (q$Revision: XXX $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
      
      our @ISA = qw(Exporter);
      our @EXPORT_OK = qw(get_parameters create_rrd update_rrd fetch_rrd &is_valid_serviceid);
      our @EXPORT = @EXPORT_OK;
      
      my $params_file="oreon.conf";
      my @ds = ("a","b","c","d","e","f","g","h","i","j","k","l");
      
      ###############################################################################
      #  Get all parameters from the ini file
      ###############################################################################
      sub get_parameters
      {
      
              $params_file = "/usr/lib/nagios/plugins/$params_file";
                       unless (-e $params_file)
              {
                  print "Unknown - In oreon.pm :: $params_file :: $!\n";
                  exit $ERRORS{'UNKNOWN'};
              }
          my %oreon;
          tie %oreon, 'Config::IniFiles', ( -file => $params_file );
          return %oreon;
      }
      
      
      ###############################################################################
      #  Create RRD file
      ###############################################################################
      sub create_rrd($$$$$$$)
      {
              my @rrd_arg;
              my ($rrd, $nb_ds ,$start, $step, $min, $max, $type) = @_;
              $nb_ds = 1 unless($nb_ds);
              $start = time unless($start);
              $step = 300 unless($step);
              $min = "U" unless($min);
              $max = "U" unless($max);
              $type = "GAUGE" unless($type);
      
              my $ERROR = RRDs::error;
      
              @rrd_arg=($rrd,
                                "--start",
                                $start-1,
                                "--step",
                                $step);
      
              for ($i = 0; $i < $nb_ds; $i++) {
              push(@rrd_arg,"DS:".$ds[$i].":$type:".($step * 2).":".$min.":".$max);
           }
              push(@rrd_arg,"RRA:AVERAGE:0.5:1:8640",
                        "RRA:MIN:0.5:12:8640",
                        "RRA:MAX:0.5:12:8640");
              RRDs::create (@rrd_arg);
              $ERROR = RRDs::error;
              if ($ERROR) {
                  print "unable to create '$rrd' : $ERROR\n" ;
                  exit 3;
              }
      }
      
      ###############################################################################
      #  Update RRD file
      ###############################################################################
      sub update_rrd([email protected])
      {
              my @rrd_arg;
              my ($rrd, $start,@values) = @_;
              $start = time unless($start);
      
              my $ERROR = RRDs::error;
              for (@values) {
                      s/,/\./ ;
                      $str_value .= ":" . $_;
                      }
              RRDs::update ($rrd, "$start$str_value");
          $ERROR = RRDs::error;
          if ($ERROR) {
              print "unable to update '$rrd' : $ERROR\n" ;
              exit 3;
           }
      }
      
      ###############################################################################
      #  Fetch RRD file
      ###############################################################################
      sub fetch_rrd($$)
      {
              my ($line, $val, @valeurs, $update_time, $step, $ds_names, $data, $i) ;
              my ($rrd, $CF,@values) = @_;
              $start = time unless($start);
      
              my $ERROR = RRDs::error;
      
              ($update_time,$step,$ds_names,$data) = RRDs::fetch($rrd, "--resolution=300","--start=now-5min","--end=now",$CF);
      
      
          $ERROR = RRDs::error;
          if ($ERROR) {
              print "unable to update '$rrd' : $ERROR\n" ;
              exit 3;
           }
           foreach $line (@$data) {
              foreach $val (@$line) {
                      if ( defined $val ) { $valeur[$i]=$val; } else { $valeur[$i]="undef"; }
                      $i++;
              }
          }
          return @valeur;
      }
      
      
      
      
      ###############################################################################
      #  Is a valid ServiceId
      ###############################################################################
      sub is_valid_serviceid {
              my $ServiceId = shift;
              if ($ServiceId && $ServiceId =~ m/^([0-9_]+)$/) {
                      return $ServiceId;
              }else{
                      print "Unknown -S Service ID expected... or it doesn't exist, try another id - number\n";
                      exit $ERRORS{'UNKNOWN'};
              }
      }
      
      1;
      
      __END__
      
      =head1 NAME
      
      Oreon - shared module for Oreon plugins
      
      =head1 SYNOPSIS
      
        use oreon;
        oreon::get_parameters()
        oreon::create_rrd( )
        oreon::update_rrd( )
      
      =head1 DESCRIPTION
      
      =head2 Functions
      
      B<oreon::create_rrd> create a rrd database.
      
        create_rrd($rrd, $nb_ds ,$start, $step, $min, $max, $type );
      
                $rrd : RRD filename
                $nb_ds : Number of Data Sources to create
                $start : Start time of RRD
                $step : RRD step
                $min : Minimum value in RRD
                $max : Maximum value in RRD
                $type : GAUGE or COUNTER
      
        update_rrd($rrd, $start,@values);
      
                $rrd : RRD filename to update
                $start :
                @values : update RRD with list values
      
      =head1 AUTHOR
      
      Mathieu Chateau E<lt>[email protected]<gt>
      Christophe Coraboeuf E<lt>[email protected]<gt>
      
      =cut

      Comment


      • #4
        Problème déja traité hier je crois :
        remplace
        use lib qw(/usr/lib/perl5/RRDs.pm ../lib/perl);
        par
        use lib qw(/usr/lib/perl5 ../lib/perl);
        Intel(R) Xeon(TM) CPU 3.4GHz - MemTotal : 1034476 kB
        Centreon 2.4.1 - Nagios 3.2.1 - Nagios Plugins 1.4.15 - Manubulon Plugins tuné
        Fedora Core 5 - 2.6.20-1.2320

        Comment


        • #5
          j'avais essayé ca deja et il me sortait la meme chose, enfin plus le message d'erreur mais j'ai pas de retour apres

          je vais essayer de voir dans les posts d'hier alors

          Comment


          • #6
            regarde où se trouve ton fichier :
            RRDs.pm
            Ubuntu 8.04
            Nagios 3.2 + nagios-plugins-1.4.14
            ndoutils-1.4b9
            Centreon 2.1.8
            centreon-syslog-frontend-1.2.1 + centreon-syslog-server-1.1

            Comment


            • #7
              ben juste a l'endroit qui est precisé dans le fichier oreon.pm

              srv-sup-rs:~# locate RRDs.pm
              /usr/lib/perl5/RRDs.pm
              srv-sup-rs:~#

              Comment


              • #8
                essaie ca alors:
                use lib qw(/usr/lib/perl5 ../lib/perl5);
                Ubuntu 8.04
                Nagios 3.2 + nagios-plugins-1.4.14
                ndoutils-1.4b9
                Centreon 2.1.8
                centreon-syslog-frontend-1.2.1 + centreon-syslog-server-1.1

                Comment


                • #9
                  pas mieux pas pire

                  bon je vais laisser en standby ce probleme le temps pour moi de rebooter la machine qui merde pour voir si le probleme ne vint pas d'elle

                  je vous itens au jus

                  Comment


                  • #10
                    Hello,

                    regarde au début du plugin :

                    use strict;
                    use Net::SNMP qw(nmp);
                    use FindBin;
                    use lib "$FindBin::Bin";
                    use ..... <-ici
                    StatusMap Module - NDO Tools Module - ImportCSV Module - SNMP-UI Module - PDFReports Module
                    Dons Paypal

                    Comment

                    Working...
                    X