Announcement

Collapse
No announcement yet.

Centreon_Plugin.pl Oracle

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

  • Centreon_Plugin.pl Oracle

    Bonjour,

    Je rencontre deux problèmes pour la supervision d'une base oracle via Centreon 2.8.16. J'ai installé le plugin "centreon_plugin.pl" et tout va bien, j'ai pu me faire un super template pour mon Firewall PaloAlto. Malheureusement je sèche un peu sur la syntaxe de ma commande pour superviser un des modes ci-dessous et j'ai un problème ave DBD::Oracle perl module

    Modes Available:
    asm-diskgroup-usage
    connected-users
    connection-time
    corrupted-blocks
    data-files-status
    datacache-hitratio
    event-waits-usage
    invalid-object
    long-queries
    process-usage
    rman-backup-age
    rman-backup-problems
    rman-online-backup-age
    rollback-segment-usage
    session-usage
    sql
    sql-string
    tablespace-usage
    temp-usage
    tnsping
    undo-usage

    Je récupère l'aide avec la commande
    Code:
    perl centreon_plugins.pl --plugin=database::oracle::plugin --mode=tablespace-usage --help
    mais je n'arrive pas à trouver la bonne syntaxe. De plus j'ai l'erreur suivante :

    Code:
    perl centreon_plugins.pl --plugin=database::oracle::plugin --dyn-mode=database::oracle::mode::tablespaceusage --hostname=IP-SERVER --port=1521 --SID=NOM-DE-LA-BASE --warning-tablespace 6000 --critical-tablespace 8000
    UNKNOWN: install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains: /usr/lib/nagios/plugins/centreon-plugins /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 10) line 3.
    Perhaps the DBD::Oracle perl module hasn't been fully installed,
    or perhaps the capitalisation of 'Oracle' isn't right.
    Available drivers: DBM, ExampleP, File, Gofer, Pg, Proxy, SQLite, Sponge, mysql.
    at /usr/lib/nagios/plugins/centreon-plugins/centreon/plugins/dbi.pm line 210

    J'ai installé oracle-instantclient-basic via le rpm et aussi essayer avec CPAN mais rien à faire.

    Si quelqu'un a une idée je suis preneur :-)

    Merci d'avance pour vos réponses.
    Last edited by peyot; 12th December 2017, 19:52.

  • #2
    Bonjour,

    Si cela peut vous aidez voici ma commande :
    Code:
     /usr/lib/nagios/plugins/centreon_plugins.pl --plugin=database::oracle::plugin --mode='tablespace-usage' --hostname=<HOST>  --port='1521' --sid=<DATABASESNAME> --username=<USER> --password=<PASSWORD>  --warning='' --critical=''

    Comment


    • #3
      Install les packets suivant:

      oracle-instantclient-basic
      oracle-instantclient-sqlplus
      oracle-instantclientdevel

      Comment


      • #4
        Bonjour,

        Je profite de ce post car je suis en Centreon 2.8.26 et je rencontre un problème similaire et que ma question apporte une réponse a ce post.

        J'ai installé également le plugin centreon_plugins.pl dans sa dernière version ainsi que les outils oracles et la bibliothèque DBD-Oracle-1.76.

        La commande suivante sous la console :

        Code:
        ./centreon_plugins.pl --plugin=database::oracle::plugin --dyn-mode=database::oracle::mode::tablespaceusage --hostname=10.61.10.20 --port=1521 --sid=PCTD --username=toto --password=titi --filter-tablespace=BDDREC --warning-tablespace=80 --critical-tablespace=93
        Retourne bien les valeurs suivantes :

        Code:
        WARNING: Tablespace 'bddrec' Total: 29.30 GB Used: 25.46 GB (86.91%) Free: 3.83 GB (13.09%) | 'tbs_bddrec_usage'=27340570624B;0:25165824000;0:29255270400;0;31457280000
        Pourtant lorsqu'on lance cette même commande sous centreon on obtient :

        Code:
        UNKNOWN: install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.18.1: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type at /usr/lib64/perl5/DynaLoader.pm line 200.
        at (eval 12) line 3
        Compilation failed in require at (eval 12) line 3.
        Perhaps a required shared library or dll isn't installed where expected
        at /usr/lib/nagios/plugins/centreon/plugins/dbi.pm line 210

        Le problème vient du fait que sous la session ssh pour que cela fonctionne j'ajoute les deux valeurs suivantes :
        export ORACLE_HOME=/usr/lib/oracle/18.3/client64/lib/
        export LD_LIBRARY_PATH=$ORACLE_HOME


        Les mêmes valeurs qui m'ont permis de compiler la bibliothèque DBD-Oracle.


        Maintenant j'aimerais les graver dans le dur afin que centreon les prennes en compte. Pour cela je les ai rajouté dans /etc/environment elles sont ainsi prise en compte par chaque session système. Mais toujours pas par la commande.

        Lorsque j'exécute le script shell suivant depuis interface commande de centreon.


        Code:
        #! /bin/sh
        
        whoami
        
        #export ORACLE_HOME=/usr/lib/oracle/18.3/client64/lib/
        #export LD_LIBRARY_PATH=$ORACLE_HOME
        printenv
        echo ORACLE_HOME : $ORACLE_HOME
        J'obtiens le résultat sous l'interface commande du menu configuration :

        Code:
        apache
        TERM=linux
        PATH=/sbin:/usr/sbin:/bin:/usr/bin
        PWD=/usr/share/centreon/www
        LANG=fr_FR.UTF-8
        SHLVL=4
        _=/usr/bin/printenv
        ORACLE_HOME :
        Ou cela depuis la supervision :

        Code:
        centreon-engine
        HOSTNAME=centreon.rms
        SHELL=/bin/bash
        TERM=linux
        HISTSIZE=1000
        QTDIR=/usr/lib64/qt-3.3
        QTINC=/usr/lib64/qt-3.3/include
        USER=centreon-engine
        LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
        MAIL=/var/spool/mail/centreon-engine
        PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
        PWD=/var/lib/centreon-engine
        LANG=fr_FR.UTF-8
        HISTCONTROL=ignoredups
        SHLVL=3
        HOME=/var/lib/centreon-engine
        LOGNAME=centreon-engine
        QTLIB=/usr/lib64/qt-3.3/lib
        CVS_RSH=ssh
        LESSOPEN=|/usr/bin/lesspipe.sh %s
        G_BROKEN_FILENAMES=1 _=/usr/bin/printenv
        ORACLE_HOME :
        Auriez-vous une idée de l’endroit où rajouter ces valeurs ?
        Last edited by llaffont; 4th January 2019, 16:12.

        Comment


        • #5
          Il semblerait que j'ai une piste :
          Lorsqu'on se rends sous le compte centreon-engine en console, on remarque qu'Oracle.pm n'est pas accessible. Pour cause le fait qu'il se trouve uniquement sous /root/perl5/lib/perl5/x86_64-linux-thread-multi/DBD/

          Dossier bien étendu inaccessible à ce compte.

          Une idée sur comment installer correctement Oracle.pm pour qu'il ne soit pas sous la racine de root ?

          Merci

          Comment


          • #6
            Voilà ce que j'ai mis en oeuvre sur une installation neuve tournant sous 18.10.2 :

            Il m'a fallu d'abord télécharger les packs :
            • oracle-instantclient-basic
            • oracle-instantclient-sqlplus
            • oracle-instantclientdevel
            Code:
            export ORACLE_HOME='/usr/lib/oracle/18.3/client64/'
            export LD_LIBRARY_PATH='/usr/lib/oracle/18.3/client64/lib/'
            echo ORACLE_HOME='/usr/lib/oracle/18.3/client64/' >> /etc/environment
            echo LD_LIBRARY_PATH='/usr/lib/oracle/18.3/client64/lib/' >> /etc/environment
            yum install gcc
            cd /tmp/
            yum install /tmp/oracle-instantclient18.3-basic-18.3.0.0.0-1.x86_64.rpm -y
            yum install /tmp/oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.x86_64.rpm -y
            yum install /tmp/oracle-instantclient18.3-devel-18.3.0.0.0-1.x86_64.rpm -y
            tar -xzf /tmp/DBD-Oracle-1.76.tar.gz
            cd DBD-Oracle-1.76
            perl Makefile.PL    
            make && make test
            make install
            ll /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so

            Comment

            Working...
            X