Announcement

Collapse
No announcement yet.

[reglé]service windows et caracteres speciaux...

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

  • [reglé]service windows et caracteres speciaux...

    j'utilise le plugin check_nt associé a son client (nsclient) pour tester si des services windows fonctionnent. Cela marche tres bien pour la plupart MAIS lorsque le service windows contient un espace ou une parenthese (je parle biensur du "service name" et non du "display name"), cela ne marche plus : j'ai les erreurs suivantes : "no output" ou "service unknown".
    J'ai bien essayé d'enlever les parentheses dans la liste des caracteres interdits via Oreon mais cela ne marche pas...
    Comment puis je faire?

  • #2
    Bon, quelqu'un m'a repondu sur un autre forum qu'il fallait mettre des " " et un espace entre le ! et " mais le pb c'est qu'en ligne de commande, ca marche bien, par contre Oreon ajoute SYSTEMATIQUEMENT des \ avant chaque " .
    Donc au lieu d'avoir des services définis de la facon suivante :
    define service{
    ...
    check_command check_nt_service! "IBMWAS5Service - server1"
    ...
    }
    j'ai :
    define service{
    ...
    check_command check_nt_service!\"IBMWAS5Service - server1\"
    ...
    }
    avec
    define command{
    command_name check_nt_service
    command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v SERVICESTATE -d SHOWALL -l $ARG1$
    }
    Comment purrais je faire?

    Comment


    • #3
      Alors j'ai teste en passant ca comme argument :
      ! "IBMWAS5Service - server1"
      et ca passe bien a la generation.

      Je ne sais pas pourqoi ca ne passe pas chez toi mais tu peux essaier en modifiant le fichier Service.class.php a la ligne 383.

      Tu rajoutes la fonction stripslashes, ca donne :

      function get_check_command_arg(){
      return stripslashes($this->check_command_arg);
      }

      Tiens nous au courant.
      Romain Le Merlus
      Centreon Forge
      MERETHIS

      Comment


      • #4
        ca marche nickel ! merci
        Par contre, lorsque j'édite mon service, le contenu du champ check_command_argument apparait juste avec un ! au lieu d'avr !"monservice" (et ceci uniquement pour les services contenant des ""). Par contre, quand je visualise juste mon service le champ check_command_argument est OK.
        Comment pourrais je modifier ca?

        Comment


        • #5
          La ca va etre plus complique a corriger pour toi.

          En fait nos inputs de champs d'affichage sont de la forme value="", ce qui implique que si tu mets un texte dedans avec un ", et bien ca va merder.

          A l'inverse, si tu mets un value='', ca passera avec un texte avec des ", mais pas avec un texte avec des '. Compris ?

          Est ce que quelqu'un sait si les " sont frequemment utilises ? Et si oui, est ce qu'on peut les remplacer par des ' dans les arguments ?

          Pour resoudre ton probleme, et si ca fonctionne, tu peux donc essaier de renommer ! "IBMWAS5Service - server1" en ! 'IBMWAS5Service - server1'
          Romain Le Merlus
          Centreon Forge
          MERETHIS

          Comment


          • #6
            Même soucis

            Bonjour,

            j'ai le même problème, même en modifiant la fonction function get_check_command_arg comme spécifié.

            Si je tente de créer une check command avec les infos suivantes:

            Code:
            /usr/local/nagiostat/nagiostat -p "$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$"
            J'obtiens dans le champ:


            Code:
            /usr/local/nagiostat/nagiostat -p \"$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$\"
            Du coup, mon check ne fonctionne pas convenablement.

            :idea: Si vous avez des idées, ce serait super, car maintenant , je suis obligé de retoucher à la main le fichier checkcommands.cfg à chaqu modification.

            Merci d'avance pour votre aide

            Thierry

            Comment


            • #7
              Pourquoi tu utilises cette syntaxe?
              /usr/local/nagiostat/nagiostat -p "$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SE RVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$"
              Ce ne serait pas plutot :
              /usr/local/nagiostat/nagiostat -p "$LASTCHECK$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $OUTPUT$ $PERFDATA$"
              A quoi te servent les | et les ! ?

              Comment


              • #8
                C'est nagiostat que le propose.
                C'est simplement afin de pouvoir séparer les arguments de la ligne de commande.

                Si comme dans ta proposition, on choisit l'espace, cela ne fonctionnera pas, car certains contenur de variables contiennent aussi des espaces.

                Le traitement de la chaîne "|!!|" est propre à nagiostat.

                Par contre, ce qui me pose problème, c'est que lorsque je rentre cette commande au travers d'Oreon, il me rajoute des "\" devant les caractères ".

                Du coup, si je refait un modifiy de la check command sans rien toucher, Oreon en rajoute une couche.

                Code:
                /usr/local/nagiostat/nagiostat -p \"$LASTCHECK$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $OUTPUT$ $PERFDATA$\"
                Puis :

                Code:
                /usr/local/nagiostat/nagiostat -p \\\"$LASTCHECK$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $OUTPUT$ $PERFDATA$\\\"
                Merci pour votre aide.

                Thierry

                Comment


                • #9
                  Soucis toujours présent avec la version 1.2.1

                  Bonjour,

                  je suis passé à la version 1.2.1 d'Oreon, mais malheuresement, le problème précité n'est pas corrigé.

                  Etant donné qu'il est bloquant pour moi, si vous avez un workaround, je suis preneur.

                  :!: Car pour l'instant, à chaque fois que je regénère les fichiers de conf Nagios, je suis bon pour les retoucher à la main. C'est vraiment pas terrible. :!:

                  Merci

                  Thierry

                  Comment


                  • #10
                    avec des simples quote > ' < ca marche pas ?
                    Julien Mathis
                    Centreon Project Leader
                    www.merethis.com |

                    Comment


                    • #11
                      Salut,
                      bonne idée, mais j'avais déjà testé.

                      Si j'insère ce champ:

                      Code:
                      /usr/local/nagiostat/nagiostat -p '$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$'
                      je retrouve cela après sauvegarde du champ:

                      Code:
                      /usr/local/nagiostat/nagiostat -p \'$LASTCHECK$|!!|$HOSTNAME$|!!|$SERVICEDESC$|!!|$SERVICESTATE$|!!|$OUTPUT$|!!|$PERFDATA$\'
                      Si tu as une autre piste, je suis preneur.

                      Merci d'avance

                      Thierry

                      Comment

                      Working...
                      X