Announcement

Collapse
No announcement yet.

Plugin Oracle??

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

  • #31
    Re. Bon rectification j'ai bien un tnsnames.ora au meme endroit que toi, mais que je renseigne ce chemin ou pas je me prends le meme msg d'erreur : TODO USAGE ! et rien qui se passe apres Je vois pas a quoi correspond ce message ya bien juste comme option -oranames a mettre ? c'est bien la meme pour tout type de version d oracle ?
    Centreon 1.4
    Nagios 2.9
    Suse 10.2

    Comment


    • #32
      Je pense que tu te trompes de script, relis un peu mes messages plus haut. Je veux bien essayer de te dépanner mais soit un peu plus attentif

      Comment


      • #33
        Et bien oui, au post #24 tu fournis un script avec la variable tnsnames.ora
        au post #30 tu fournis un script sans la variable tnsnames.ora
        et au post #31 je dis que j'ai essayé avec tes 2 scripts, avec et sans la variable tnsnames (qui existe bien sur mon serv oracle), et j'ai toujours le meme message d'erreur. ?

        Sinon quand tu test un tnsping en commande sur ta machine Oreon tu as quelque chose ou command not found ? Je me demande si ce service doit etre lancé ou si il est apélé auto.
        Centreon 1.4
        Nagios 2.9
        Suse 10.2

        Comment


        • #34
          Alors tu peux relire mon post #26

          Quand je fais un tnsping tout seul ça ne fonctionne pas car je n'ai pas mis l'installation d'Oracle dans mon $PATH par contre si je passe par le chemin absolu de tnsping ça marche.

          Comment


          • #35
            Ok...donc apres m'etre renseigné sur les tnsnames.ora etc....tjs le meme soucis....DONC :

            Un tnsping vers mon serv oracle fonctionne bien. Donc la conf de tnsnames.ora est correcte a priori. MAIS j'ai tjs ce message d'erreur :

            ./check_oracle -H strat1 -w 80 -c 95
            Hote introuvable dans tnsnames.ora
            WTF ! ? Voila le check_oracle (ORACLE_HOME et TNS_ADMIN sont bien renseignés) :

            #!/bin/bash
            #
            # Test de tablespaces
            #
            #
            export IFS='^M' # on ne traite pas les espaces comme des retours chariot
            export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
            TNSNAMES=$ORACLE_HOME/network/admin/tnsnames.ora
            LOGIN=system
            PASS=manager
            STATE_OK=0
            STATE_WARNING=1
            STATE_CRITICAL=2
            STATE_UNKNOWN=3
            RETURN_FILE=/usr/local/oreon/log/retour.tmp
            EXIT=$STATE_UNKNOWN

            cat /dev/null > $RETURN_FILE

            if [[ $# -lt 6 ]]
            then
            echo "Usage : todo usage"
            exit $STATE_UNKNOWN
            fi
            #echo Il y a $# arguments
            while getopts w:c:H:h option
            do
            case $option in
            w)
            warn=$OPTARG
            ;;
            c)
            crit=$OPTARG
            ;;
            H)
            host=$OPTARG
            ;;
            *)
            echo "Todo : usage"
            exit $STATE_UNKNOWN
            ;;
            esac
            done
            grep -q $host $TNSNAMES

            if [[ $? -eq 1 ]]
            then
            echo "Hote introuvable dans tnsnames.ora"
            exit $STATE_UNKNOWN
            fi

            $ORACLE_HOME/bin/sqlplus -s $LOGIN/[email protected]$host <<EOF |sed -e 's/[\t]/ /g'|sed -e 's/ */ /g'|(while read i
            set pagesize 100
            set linesize 200
            set head off
            set feed off

            col "EXT TS" format A36
            col TAILLE format 999999999999
            col UTILISE format 999999999999
            col %UTILISE format 9999
            col LIBRE format 999999999999
            col %LIBRE format 9999
            col %UTIL_MAXSIZE format 999
            col DISPO_MAXSIZE format 999999

            select 'YES '||ddf.TABLESPACE_NAME "EXT TS",
            ddf.BYTES/1024 "TAILLE",
            (ddf.BYTES-DFS.BYTES)/1024 "UTILISE",
            round(((ddf.BYTES-dfs.BYTES)/ddf.BYTES)*100,2) "%UTILISE",
            dfs.BYTES/1024 "LIBRE",
            round((1-((ddf.BYTES-dfs.BYTES)/ddf.BYTES))*100,2) "%LIBRE",
            F."%UTIL_MAXSIZE" "%UTIL_MAXSIZE",
            F.DISPO_MAXSIZE "DISPO_MAXSIZE"
            from (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_data_files
            group by TABLESPACE_NAME) ddf,
            (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_free_space
            group by TABLESPACE_NAME) dfs,
            (select TABLESPACE_NAME,
            ROUND(100*SUM(BYTES)/SUM(MAXBYTES)) "%UTIL_MAXSIZE",
            ROUND((SUM(MAXBYTES)-SUM(BYTES))/1048576) "DISPO_MAXSIZE"
            from DBA_DATA_FILES
            where AUTOEXTENSIBLE ='YES'
            group by TABLESPACE_NAME) F
            where ddf.TABLESPACE_NAME=dfs.TABLESPACE_NAME and
            F.TABLESPACE_NAME=dfs.TABLESPACE_NAME
            union
            (
            (
            select 'NO '||ddf.TABLESPACE_NAME "EXT TS",
            ddf.BYTES/1024 "TAILLE",
            (ddf.BYTES-DFS.BYTES)/1024 "UTILISE",
            round(((ddf.BYTES-dfs.BYTES)/ddf.BYTES)*100,2) "%UTILISE",
            dfs.BYTES/1024 "LIBRE",
            round((1-((ddf.BYTES-dfs.BYTES)/ddf.BYTES))*100,2) "%LIBRE",
            0 "%UTIL_MAXSIZE",
            0 "DISPO_MAXSIZE"
            from (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_data_files
            group by TABLESPACE_NAME) ddf,
            (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_free_space
            group by TABLESPACE_NAME) dfs,
            (select TABLESPACE_NAME
            from DBA_DATA_FILES
            where AUTOEXTENSIBLE ='NO'
            group by TABLESPACE_NAME) F
            where ddf.TABLESPACE_NAME=dfs.TABLESPACE_NAME and
            F.TABLESPACE_NAME=dfs.TABLESPACE_NAME
            )
            minus
            (
            select 'NO '||ddf.TABLESPACE_NAME "EXT TS",
            ddf.BYTES/1024 "TAILLE",
            (ddf.BYTES-DFS.BYTES)/1024 "UTILISE",
            round(((ddf.BYTES-dfs.BYTES)/ddf.BYTES)*100,2) "%UTILISE",
            dfs.BYTES/1024 "LIBRE",
            round((1-((ddf.BYTES-dfs.BYTES)/ddf.BYTES))*100,2) "%LIBRE",
            F."%UTIL_MAXSIZE" "%UTIL_MAXSIZE",
            F.DISPO_MAXSIZE "DISPO_MAXSIZE"
            from (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_data_files
            group by TABLESPACE_NAME) ddf,
            (select TABLESPACE_NAME,
            sum(BYTES) bytes
            from dba_free_space
            group by TABLESPACE_NAME) dfs,
            (select TABLESPACE_NAME,
            ROUND(100*SUM(BYTES)/SUM(MAXBYTES)) "%UTIL_MAXSIZE",
            ROUND((SUM(MAXBYTES)-SUM(BYTES))/1048576) "DISPO_MAXSIZE"
            from DBA_DATA_FILES
            where AUTOEXTENSIBLE ='YES'
            group by TABLESPACE_NAME) F
            where ddf.TABLESPACE_NAME=dfs.TABLESPACE_NAME and
            F.TABLESPACE_NAME=dfs.TABLESPACE_NAME
            )
            );
            exit;
            EOF
            do
            occupe=`echo $i|cut -d ' ' -f 7`
            if [[ $occupe -gt $crit ]]
            then
            echo -n "Critical : " >> $RETURN_FILE
            echo -n $i|cut -d ' ' -f 2,7 >> $RETURN_FILE
            elif [[ $occupe -gt $warn ]]
            then
            echo -n "Warning : " >> $RETURN_FILE
            echo $i|cut -d ' ' -f 2,7 >> $RETURN_FILE
            fi
            done)
            cat $RETURN_FILE|tr \\n " "
            if grep -q Critical $RETURN_FILE
            then
            EXIT=$STATE_CRITICAL
            elif grep -q Warning $RETURN_FILE
            then
            EXIT=$STATE_WARNING
            else
            echo "Ok"
            EXIT=$STATE_OK
            fi

            rm $RETURN_FILE
            exit $EXIT
            et mon tnsnames.ora qui fonctionne :

            # tnsnames.ora Network Configuration File:
            hexa=
            (DESCRIPTION=
            (ADDRESS=
            (PROTOCOL=tcp)(HOST=192.168.65.7)(PORT=1521))
            (CONNECT_DATA =
            (SID=hexa)
            )
            )
            Quiaurait une idée pour faire fonctionner ce fichu plugin ? ? Je vois vraiment pas ce qui cloche la Merci d'avance.
            Last edited by lowdata; 5 September 2007, 11:28.
            Centreon 1.4
            Nagios 2.9
            Suse 10.2

            Comment


            • #36
              UP ! une tite aide venant de DBA ou autre please c la galere la
              Centreon 1.4
              Nagios 2.9
              Suse 10.2

              Comment


              • #37
                Te prends pas la tête sinon, et vire la partie qui vérifie l'existence dans tnsnames.ora .

                Comment


                • #38
                  Originally posted by Poulpatine View Post
                  Te prends pas la tête sinon, et vire la partie qui vérifie l'existence dans tnsnames.ora .
                  Re. Bin je viens de commenter la ligne, ca lance le script mais il ne se passe rien et ca ne sort aucun message d'error....

                  Code:
                  suse-exp:/usr/local/nagios/libexec # ./check_oracle -H strat1 -w 80 -c 95
                  
                  suse-exp:/usr/local/nagios/libexec #
                  La commande precedente est censée me retourner quoi quand le tnsnames.ora est commenté ? ? en tout cas ca ne marche pas :/
                  Centreon 1.4
                  Nagios 2.9
                  Suse 10.2

                  Comment

                  Working...
                  X