Announcement

Collapse
No announcement yet.

ods pb -indentifyService.pm error

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

  • ods pb -indentifyService.pm error

    bonjour a tous ,

    je viens de migrer de 1.3 vers 1.4 en suivant toute la procedure.
    J'ai aussi patché les sources avant upgrade .
    Cependant j'ai le message suivant à chaque traitement du deamon ods et les bases ods ne se remplissent pas correctement , tous les services ne sont pas la, etc...

    Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 39, <PFDT> line 7.
    Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 45, <PFDT> line 7.

    avant j'utilisais perfparse pour stocker les perfdata et donc j'ai pas mal lu les posts pour suivre les changements

    merci d'avance de votre aide

    manu

  • #2
    regarde sur le wiki. Y a des patchs a appliquer et tout rentre dans l'ordre

    tiens nous au courant.
    Julien Mathis
    Centreon Project Leader
    www.merethis.com |

    Comment


    • #3
      merci pour ta reponse mais tous les patchs ont été passés avant upgrade et pour preuve :

      for i in $(ls /root/oreon-patch/*.patch); do patch -p1 < ${i} ; done
      patching file ODS/lib/purge.pm
      Reversed (or previously applied) patch detected! Assume -R? [n]
      Apply anyway? [n] y
      Hunk #1 FAILED at 54.

      je continue a chercher l'erreur !!

      Comment


      • #4
        une autre piste

        la commande process-service-data doit etre comme cela :

        $USER1$process-service-perfdata "$LASTSERVICECHECK$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICEOUTPUT$" "$SERVICESTATE$" "$SERVICEPERFDATA$"


        ou comme cela :

        $USER1$process-service-perfdata

        car dans la commande il utilise deja toute ces variables dont si je les appele encore ensuite cela met le bronx .

        extrait de la commande :

        # some parameters passed on command line
        TIMET=$1
        HOSTNAME=$2
        SERVICEDESC=$3
        OUTPUT=$4
        SERVICESTATE=$5
        PERFDATA=$6
        PERFFILE="/usr/local/nagios/var/service-perfdata"

        /usr/bin/printf "%b" "$TIMET\t$HOSTNAME\t$SERVICEDESC\t$OUTPUT\t$SERVIC ESTATE\t$PERFDATA\n" >> $PERFFILE

        Comment


        • #5
          au secours !!!!

          j'ai essaye beaucoup de choses mais rien n'y fait . rien verifié à la main tous les patchs et tous sont bien appliqué
          je dois me planter qq part mais ou

          au fait quelle version mini pour rrd. ceci de corrigera pas mon pb mais l'interface me dit que je suis en 1.2 alors que j'utilise 1.0.49 ?

          Comment


          • #6
            un bo wiki tout neuf !! (je l'ai juste fait ce matin)

            http://wiki.oreon-project.org/index.php/Graphs

            Gaé

            Comment


            • #7
              Gae

              merci pour ton post ton wiki est tres bien seulement je ne comprends pas qqchose au depart concernant le process-service-perfdata.
              c'est un plugin ok! mais ensuite dans la configuraion dans OREON tu le selectionnes, mais en fait tu selectionnes une commande qui fait appel à ce plugin. Le pb pour moi c'est que cette commande je ne l'ai plus. je l'ai recree plusieurs fois en essayant differente chose du type:

              1

              $USER1$process-service-perfdata "$LASTSERVICECHECK$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICEOUTPUT$" "$SERVICESTATE$" "$SERVICEPERFDATA$"

              ou

              2

              $USER1$process-service-perfdata

              ou

              3

              /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$S ERVICEOUTPUT$\t$SERVICESTATE$\t$SERVICEPERFDATA$\n " >> /usr/local/nagios/var/service-perfdata

              etc ...

              mon pb est en fait maintenant bien identifié :j'ai plusieur graph par host et le 1er service se declare bien dans les tables mais les autres services n'arrive pas à se caler dans mysql. resultat j'ai l'erreur du 1er post en console et au niveau des graphe il me presente un seul graphe avec le 1er service correct puis dans la legende des " DS1, DS2, DS3" sans valeurs qui correspondent aux autres services à grapher mais qui sont pas en place dans mysql !!!

              Comment


              • #8
                toujours dans le sac !!

                voici ma commande process-service-data dans nagios.cfg:

                /usr/bin/printf "%b" "$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEOUTPU T$\t$SERVICESTATE$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata


                voici un bout de mon service-perfdata.tmp :

                cat /usr/local/nagios/var/service-perfdata.tmp
                1176474454 host1 Process_Total PROCESSES = 109,00 0 OK PROCESSES=109,0000000;200,000000;350,000000;
                1176474474 host1 Process_Total PROCESSES = 146,00 0 OK PROCESSES=146,0000000;200,000000;350,000000;
                1176474474 host2 Process_Total PROCESSES = 102,00 0 OK PROCESSES=102,0000000;200,000000;350,000000;
                1176474493 host3 Traffic_DSL eth0 TX: 1314775697 Bytes RX: 2487221981 Bytes OK DIFF_TX=690;0;0;0; DIFF_RX=14900;0;0;0;
                1176474493 host4 PageFile_Use Pagefile = 5,73 % OK Pagefile=5,725100%;70,000000;90,000000;

                et les messages associés
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 39, <PFDT> line 1.
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 42, <PFDT> line 1.
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 39, <PFDT> line 1.
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 42, <PFDT> line 1.
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 39, <PFDT> line 2.
                Use of uninitialized value in concatenation (.) or string at /usr/local/oreon/ODS/lib/indentifyService.pm line 42, <PFDT> line 2.


                dans msql :

                la table metrics

                Textes complets metric_id index_id metric_name unit_name warn crit rrdDataBase_Path
                Modifier Effacer 454 195 PROCESSES NULL NULL NULL
                Modifier Effacer 455 196 PROCESSES NULL NULL NULL
                Modifier Effacer 456 197 PROCESSES NULL NULL NULL
                Modifier Effacer 457 198 DIFF_TX NULL NULL NULL
                Modifier Effacer 458 198 DIFF_RX NULL NULL NULL
                Modifier Effacer 459 199 Pagefile % NULL NULL NULL



                la table data_bin

                Textes complets id_bin id_metric ctime value status
                Modifier Effacer 25252 454 1176474454 109 0
                Modifier Effacer 25253 455 1176474474 146 0
                Modifier Effacer 25254 456 1176474474 102 0
                Modifier Effacer 25255 457 1176474493 690 0
                Modifier Effacer 25256 458 1176474493 14900 0
                Modifier Effacer 25257 459 1176474493 5.7251 0


                la table index_data

                id host_name host_id service_description service_id special storage_type
                Modifier Effacer 195 host1 45 Process_Total 0 0 2
                Modifier Effacer 196 host1 40 Process_Total 0 0 2
                Modifier Effacer 197 host2 67 Process_Total 0 0 2
                Modifier Effacer 198 host3 29 Traffic_DSL 0 0 2
                Modifier Effacer 199 host4 33 PageFile_Use 0 0 2

                franchement je ne fais pas le lien !!!

                merci de votre aide

                Comment


                • #9
                  base mysql plus lisible

                  metric_id index_id metric_name unit_name warn crit rrdDataBase_Path
                  454 195 PROCESSES NULL NULL NULL
                  455 196 PROCESSES NULL NULL NULL
                  456 197 PROCESSES NULL NULL NULL
                  457 198 DIFF_TX NULL NULL NULL
                  458 198 DIFF_RX NULL NULL NULL
                  459 199 Pagefile % NULL NULL NULL



                  la table data_bin

                  id_bin id_metric ctime value status
                  25252 454 1176474454 109 0
                  25253 455 1176474474 146 0
                  25254 456 1176474474 102 0
                  25255 457 1176474493 690 0
                  25256 458 1176474493 14900 0
                  25257 459 1176474493 5.7251 0


                  la table index_data

                  id host_name host_id service_description service_id special storage_type
                  195 host1 45 Process_Total 0 0 2
                  196 host1 40 Process_Total 0 0 2
                  197 host2 67 Process_Total 0 0 2
                  198 host3 29 Traffic_DSL 0 0 2
                  199 host4 33 PageFile_Use 0 0 2

                  Comment


                  • #10
                    Je suis lessivé !! help !!

                    le pb est que le deamon ods ne rentre correctement plusieurs services pour un mm host. il manque les declarations propres dans la table index data pour les service en plus du 1er entré et cela fait planter "indentifyService.pm"

                    hey les gars me laisse dans cette merdasse !!

                    d'avance merci

                    Comment


                    • #11
                      le pb vient de du champs service_id de table "index_data" qui est tj null !!

                      un simple service de performance du type :
                      1176709064 host1 PageFile_Use Pagefile = 17,44 % OK Pagefile=17,440660%;70,000000;90,000000;

                      provoque l'erreur, et les tables sql sont remplies comme cela:

                      index_data

                      id host_name host_id service_description service_id special storage_type
                      325 host1 45 Process_Total 0 0 2

                      metrix:

                      metric_id index_id metric_name unit_name warn crit rrdDataBase_Path
                      802 325 PROCESSES NULL NULL NULL

                      data_bin:

                      id_bin id_metric ctime value status
                      26620 802 1176710028 133 0


                      j'ai repatché les fichiers à la main pour etre sur que tout soit à jour !!

                      merci de votre aide

                      Comment


                      • #12
                        Originally posted by manu77 View Post
                        Gae

                        merci pour ton post ton wiki est tres bien seulement je ne comprends pas qqchose au depart concernant le process-service-perfdata.
                        c'est un plugin ok! mais ensuite dans la configuraion dans OREON tu le selectionnes, mais en fait tu selectionnes une commande qui fait appel à ce plugin. Le pb pour moi c'est que cette commande je ne l'ai plus. je l'ai recree plusieurs fois en essayant differente chose du type:

                        1

                        $USER1$process-service-perfdata "$LASTSERVICECHECK$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICEOUTPUT$" "$SERVICESTATE$" "$SERVICEPERFDATA$"

                        ou

                        2

                        $USER1$process-service-perfdata

                        ou

                        3

                        /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$S ERVICEOUTPUT$\t$SERVICESTATE$\t$SERVICEPERFDATA$\n " >> /usr/local/nagios/var/service-perfdata

                        etc ...
                        merci pour le retour, j'ai effectivement oublié la partie 'création de la commande' pour lancer le plugin !! -> c'est corrigé, (j'ai mis mes paramètres qui fonctionnent)

                        attention cependant au '/' derriere %user1%, il faut le rajouter ou non en fonction de la definition de %user1% (ie si il est defini avec un '/' à la fin ou non)

                        la methode que je présente est une méthode qui fonctionne pour moi, mais il en existe d'autres..


                        Originally posted by manu77 View Post
                        Gae
                        mon pb est en fait maintenant bien identifié :j'ai plusieur graph par host et le 1er service se declare bien dans les tables mais les autres services n'arrive pas à se caler dans mysql. resultat j'ai l'erreur du 1er post en console et au niveau des graphe il me presente un seul graphe avec le 1er service correct puis dans la legende des " DS1, DS2, DS3" sans valeurs qui correspondent aux autres services à grapher mais qui sont pas en place dans mysql !!!
                        pour ce "problème", ce n'en est pas vraiement un puisque Oreon utilise ses templates graphiques pour les legendes...
                        par contre, tes labels doivent bien apparaitre dans la liste des courbes d'un graph (tout en bas de la page qui présente un graph daily/weekly/monthly/...)

                        donc, pour l'instant, si tu veux avoir autre chose que "DS1, DS2, DS3" comme label sur ton graphs en les recuperant dirrectement depuis les labels des données perfdata, il faut attendre un petit peu..

                        sinon, qq explications sur un de mes post du forum "oreon/french forum/plugins/plugins snmp ods (ou un truc du genre)
                        et sur le wiki consacté aux plugins (remonté d'infos perfdata vers la bdd ODS).

                        Cordialement

                        Gaé
                        Last edited by gae; 16 April 2007, 11:52.

                        Comment


                        • #13
                          pb reglé !!

                          Gaé merci pour ton aide.

                          le pb se regle par les patchs tout frais delivré sur :

                          http://wiki.oreon-project.org/index...._for_oreon-1.4

                          24-oreon-2007_04_13_-_19_28.patch
                          25-oreon-init_ods_2007_04_13.patch

                          une fois passé c'est le bonheur ...
                          Je remercie toute l'équipe pour leur code qui produit des choses superbes et leur réactivité qui limite le temps des doutes qui fait mal !!

                          manu

                          Comment

                          Working...
                          X