Announcement

Collapse
No announcement yet.

**ePN check_graph_snmp_value.pl: "Option S requires an argurement"

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

  • **ePN check_graph_snmp_value.pl: "Option S requires an argurement"

    Bonjour,
    J'ai un petit souci avec le check_graph_snmp_value.pl. J'ai fait des recherche et j'ai trouvé une solution mais ca ne me satisfait qu'a moitier.

    Mon install : OREON 1.3.3, Nagios 2.6 avec l'interpréteur Perl et le cache intégré (ePN). Perl 5.8.4 d'une distribe Debian Sarge à jour.

    Quand je lance (en utilisateur nagios) :
    ./check_graph_snmp_value.pl -H xx.xx.xx.xx -C xxxxxxx -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w 29 -c 35 -g -f -S 111_119
    Ok value : 25|value=25;29;35;;
    Ca fonctionne.

    Par contre lors de l'utilisation du check par nagios ca ne marche pas :
    **ePN /usr/local/nagios/libexec//check_graph_snmp_value.pl: "Option S requires an argument".

    La commande se nomme bien check_graph_xxx, elle est définie comme suit :
    define command{
    command_name check_graph_temperature
    command_line $USER1$/check_graph_snmp_value.pl -H $HOSTADDRESS$ -C xxxxxxxx -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w $ARG1$ -c $ARG2$ -g -f -S $ARG3$
    }

    et est le service est le suivant :
    define service{
    host_name MAINFENV01
    service_description Temperature_Salle_Machine
    use Template_Service_Reseau
    check_command check_graph_temperature!29!35!111_119
    max_check_attempts 3
    normal_check_interval 6
    retry_check_interval 2
    check_period 24x7
    }

    J'ai plein d'autres services type check_graph_traffic qui fonctionnent parfaitement. Le problème semble venir de l'éxécution de ce script par l'interpréteur perl de nagios.

    Pour mettre cela en évidence et résoudre le problème j'ai ajouté /usr/bin/perl dans la définition de ma commande :
    define command{
    command_name check_graph_temperature
    command_line /usr/bin/perl $USER1$/check_graph_snmp_value.pl -H $HOSTADDRESS$ -C bourbon148 -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w $ARG1$ -c $ARG2$ -g -f -S $ARG3$
    }
    et là ca fonctionne !

    Qu'un a-t'il les compétences pour fixer ce problème à la source (le script, pas la désactivation de l'interpréteur...)?

    Merci.

    Seb

  • #2
    Originally posted by sdesse View Post
    Bonjour,
    J'ai un petit souci avec le check_graph_snmp_value.pl. J'ai fait des recherche et j'ai trouvé une solution mais ca ne me satisfait qu'a moitier.

    Mon install : OREON 1.3.3, Nagios 2.6 avec l'interpréteur Perl et le cache intégré (ePN). Perl 5.8.4 d'une distribe Debian Sarge à jour.

    Quand je lance (en utilisateur nagios) :
    ./check_graph_snmp_value.pl -H xx.xx.xx.xx -C xxxxxxx -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w 29 -c 35 -g -f -S 111_119
    Ok value : 25|value=25;29;35;;
    Ca fonctionne.

    Par contre lors de l'utilisation du check par nagios ca ne marche pas :
    **ePN /usr/local/nagios/libexec//check_graph_snmp_value.pl: "Option S requires an argument".

    La commande se nomme bien check_graph_xxx, elle est définie comme suit :
    define command{
    command_name check_graph_temperature
    command_line $USER1$/check_graph_snmp_value.pl -H $HOSTADDRESS$ -C xxxxxxxx -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w $ARG1$ -c $ARG2$ -g -f -S $ARG3$
    }

    et est le service est le suivant :
    define service{
    host_name MAINFENV01
    service_description Temperature_Salle_Machine
    use Template_Service_Reseau
    check_command check_graph_temperature!29!35!111_119
    max_check_attempts 3
    normal_check_interval 6
    retry_check_interval 2
    check_period 24x7
    }

    J'ai plein d'autres services type check_graph_traffic qui fonctionnent parfaitement. Le problème semble venir de l'éxécution de ce script par l'interpréteur perl de nagios.

    Pour mettre cela en évidence et résoudre le problème j'ai ajouté /usr/bin/perl dans la définition de ma commande :
    define command{
    command_name check_graph_temperature
    command_line /usr/bin/perl $USER1$/check_graph_snmp_value.pl -H $HOSTADDRESS$ -C bourbon148 -o .1.3.6.1.4.1.17373.2.2.1.5.1 -w $ARG1$ -c $ARG2$ -g -f -S $ARG3$
    }
    et là ca fonctionne !

    Qu'un a-t'il les compétences pour fixer ce problème à la source (le script, pas la désactivation de l'interpréteur...)?

    Merci.

    Seb
    As-tu lu les conseils de la documentation officielle à propos du support de l'interpréteur embarqué de Perl ?
    Raphaël 'SurcouF' Bordet
    Je ne teste pas mes plugins en root, tu ne testes pas tes plugins en root...
    Dons Paypal

    Comment


    • #3
      C'est fait...

      Pour être franc non. Mais maintenant c'est fait, 2x !

      J'avoue être en cancre en dev (je me ratrappe sur d'autres sujets). Je ne fais que des petits scripts en perl et je ramme pour le debug.

      La doc s'adresse au développeurs principalement, c'est un peu obscur pour moi même avec de bonne volonté. Ce que je ne comprend pas bien c'est pourquoi je n'arrive pas à faire fonctionner ce scripts que des gens plus compétents que moi ont mis au point et probablement testé.

      Est-ce moi ou le script ? Dans les deux cas si qqu'un à une idée je ne veux bien la connaitre (a part que j'arrête l'informatique bien sûr!).

      Merci.

      Seb

      Comment


      • #4
        up

        juste up car ca concerne un plugin OREON et que malgrès avoir lu la doc sur ce point je ne vois pas de cause immédiate.

        Seb

        Comment


        • #5
          Meme problème sur le plugin: check_graph_ping.pl

          Code:
          	**ePN /usr/share/nagios2/plugins/eventhandlers/check_graph_ping.pl: "Option S requires an argument".
          Si quelqu'un à une solution ?
          Debian 4.0 Etch / Noyau 2.6

          Oreon 1.4-5 / Nagios 2.6

          Comment

          Working...
          X