AppWorx, Dollar Universe and Sysload Community

Expand all | Collapse all

[Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

  • 1.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 25, 2011 09:28 AM
    Transmettre le code retour exact du script à la supervision
    Bonjour,

    J'ai parametré les uprocs pour que le statut final soit à incidenté si le code retour est supérieur à 12.
    De part l'activation de ce paramétrage, le script u_batch convertit systématiquement la valeur de la variable RESEXE en 0 ou 1 pour déterminer le statut final de l'uproc.
    De ce fait, lorsque le script U_POST_UPROC s'exécute, il ne connait pas la vrai valeur du code retour, il ne connait que les valeurs 0 ou 1.
    De la même maniere, si on utilise la surveillance générique de Dollar Universe, le script U_SPV_JOB ne connait pas la véritable valeur du code retour, la variable RESEXE est déjà convertie en 0 ou 1.

    Extrait du script u_batch :
          $UXEXE/uxjobstatus ${RESEXE} ${orsypoffset}
          result=$?
          [ ${U_BATCH_LOG:-N} = Y ] && DATE=`date` && echo && echo "$DATE : Ending uxjobstatus"
          if [ $result -ne 2 ]
          then
             RESEXE=$result
          fi

    Connaissez vous un moyen de récupérer le vrai code retour du script lancé par l'uproc pour pouvoir le transmettre à la supervision ?


  • 2.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 27, 2011 03:31 AM
    Actuellement je vois deux possibilités :

    1 - A la fin de l'exécution du script de l'uproc, on peut ecrire un mot cle + la valeur du code retour dans la log systeme.
    Sur unix, la commande serait par exemple : echo "${S_PROCEXE} : CODE_RETOUR_UPROC =" ${CR}
    La variable CR contient le code retour du script applicatif exécuté par l'uproc bien entendu.
    Dans U_POST_UPROC, il suffira de récupérer le code retour grace à ce mot clé.
    Sur Unix, la commande serait : cr_uproc=`grep ${S_PROCEXE} ${orsypjoblog} | grep CODE_RETOUR_UPROC | awk '{print $NF}'`
    La variable orsypjoblog est une variable du script u_batch, donc elle est connue des scripts appelés (U_ANTE_UPROC, U_POST_UPROC, U_SVP_JOB,...) par u_batch.

    2 - Modifié le script u_batch, l'inconvénient étant qu'en cas d'installation d'un patch ORSYP, il y a de grandes chances pour que le script u_batch soit remplacé par une nouvelle version.
    La modification du script u_batch consiste à ajouter une variable dans la fonction qui exécute le clfil de l'uproc. a la fin de l'exécution du clfil, la variable RESEXE récupere le code retour, c'est à ce moment là qu'il faut ajouter et faire un export d'une variable qui conservera ce code retour. Un peut plus loin dans le script u_batch, la valeur de RESEXE sera modifiée si la gestion avancée des codes retour est activée dans le paramétrage des uprocs. Cette variable sera alors connue des scripts appelés (U_ANTE_UPROC, U_POST_UPROC, U_SVP_JOB,...) par u_batch.

    Modification à effectuer dans u_batch :
    #------------------------------------------------------
    #       Launching UPROC script shell
    #------------------------------------------------------
    U_BATCH_RUNPART ()
    {
       if [ "${S_CMD_UPROC:-UNDEFINED}" = "UNDEFINED" ]
       then
           return 1
       fi
    #
       export S_JOB_CURRENT_RETRY=`echo ${orsypcptretry}`
       export orsypcptretry=`echo ${orsypcptretry}+1 | bc`
    #
       [ ${U_BATCH_LOG:-N} = Y ] && DATE=`date` && echo && echo "$DATE : Starting $S_CMD_UPROC"
       eval $S_CMD_UPROC
       RESEXE=$?
    [color="#FF0000"]   cr_uproc=$RESEXE
       export cr_uproc[/color]  
       [ ${U_BATCH_LOG:-N} = Y ] && DATE=`date` && echo && echo "$DATE : Ending $S_CMD_UPROC"
       export RESEXE

       return $RESEXE
    }


  • 3.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 27, 2011 04:14 AM
    Bonjour Gouti

    1ère réaction...la modification du fichier [i][b]u_batch[/b][/i] est à éviter. Ceci risquerait de mettre en jeu le support contractuel fourni par ORSYP.

    Je pense proposer une solution en passant par les variable d'Uproc. Il me faut juste le temps de tester.

    Je reviendrai à vous dès que j'aurai fini les tests.

    cordialement

    Gary


  • 4.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 27, 2011 04:38 AM
    Bonjour,

    tout à fait d'accord avec Gary pour ne pas toucher à la u_batch !

    Je pense que les variables d'Uproc devraient fournir une solution, on va en être sûr après le test de Gary.

    Michel


  • 5.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 27, 2011 06:02 AM
    Gouti

    Vous tournez avec quelle version de Dollar Universe sur quel OS?

    Votre profil indique V5.1.3 mais ceci ne concorde pas avec le contenu de vos messages.

    Gary


  • 6.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 28, 2011 03:45 AM
    Bonjour Gary,

    merci pour votre interet concernant ce sujet.
    Je suis d'accord avec vous concernant la modification du u_batch, cela dit, j'ai testé cette modification afin de créer une case de type "demande d'évolution" en proposant cette solution.

    Je vais mettre mon profil à jour, ma version $U est bien la V5.6 avec le patch 24892


  • 7.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 28, 2011 04:22 AM
    Gouti

    J'ai fait quelques tests avec les variables d'Uproc et la commande uxset var, mais je ne trouve pas la valeur modifiée dans le U_POST_UPROC.

    Je vous suggère donc d'utiliser le champ "severity" valorisé avec le code retour applicatif.

    [indent][b]uxset info severity=${CR_APPLI}[/b][/indent]

    Le contenu de ce champ apparaitra aussi sur le suivi d'exploitation de Dollar Universe et sera remonté avec la supervision.

    LA supervision générique est appelé avec la chaine suivante :

    UNIV <Job Status> JOB  <Uproc Name> <Management Unit> <Date> <Time> <Uproc Exec Number> <Session Exec Number> <Company Name> <Area> <Node Name> <[b]Severity[/b]> <Information>

    L'utilisation d'autres variables était possible (selon la version de Dollar Universe), est-ce que vous souhaitez remonter d'autres informations à votre superviseur?

    Merci de votre feedback à ce sujet.

    Cordialement

    Gary


  • 8.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Jul 28, 2011 05:44 AM
    [quote name='Zagga' post='9076' date='July 28 2011, 10&#58;22 AM']Gouti

    J'ai fait quelques tests avec les variables d'Uproc et la commande uxset var, mais je ne trouve pas la valeur modifiée dans le U_POST_UPROC.

    Je vous suggère donc d'utiliser le champ "severity" valorisé avec le code retour applicatif.

    [indent][b]uxset info severity=&#036;{CR_APPLI}[/b][/indent]

    Le contenu de ce champ apparaitra aussi sur le suivi d'exploitation de Dollar Universe et sera remonté avec la supervision.

    LA supervision générique est appelé avec la chaine suivante :

    UNIV <Job Status> JOB  <Uproc Name> <Management Unit> <Date> <Time> <Uproc Exec Number> <Session Exec Number> <Company Name> <Area> <Node Name> <[b]Severity[/b]> <Information>

    L'utilisation d'autres variables était possible (selon la version de Dollar Universe), est-ce que vous souhaitez remonter d'autres informations à votre superviseur?

    Merci de votre feedback à ce sujet.

    Cordialement

    Gary[/quote]

    Très bonne suggestion, l'utilisation du champ severity.
    J'ajoute la commande uxset info à la fin de mes uprocs.
    Malheureusement, je dois également conserver le palliatif que j'avais mis en place car on ne peut pas retrouver l'info très facilement au niveau du script U_POST_UPROC.


  • 9.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Aug 02, 2011 11:35 AM
    Gouti

    Vous utilisez bien la supervision générique de Dollar Universe v5.6?

    Ceci déclenche la procédure U_SPV.BAT en passant la chaîne suivant comme argument:

    UNIV <Job Status> JOB <Uproc Name> <Management Unit> <Date> <Time> <Uproc Exec Number> <Session Exec Number> <Company Name> <Area> <Node Name> <Severity> <Information>

    Dans la V5.3, Severity n'est pas passé en argument et il faut effectivement le recuperer de la sortie standard de la commande: uxshw ctl full

    Commande : uxlst ctl full nseq=0000024 status=* upr=* ses=* mu=* since=(00/00/0000,0000) before=(12/31/9999,2359) execinfo=* execsev=*

    SESSION     UPROC      MU         STATE                 START      AT     END        AT        MODIFICATIONS          NODE       QUEUE                           JOB    PRI SESSNO  PROCNO  PDATE      USERNAME     VSES VUPR STP NSEQ    INFO                                               SEV
    --------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------- ------------------------------------------
                GAN002     FRLPMDEV04 TERMINE               07/29/2011 124631 07/29/2011 124631                           frlpmdev04 SYS_BATCH                       0020   100         0000020 07/29/2011 univ53a      000  000  00  0000024 ÚphÚmÞre                                           [b]1234[/b]

    Selon mes calculs il s'agit du linge5 pos 286.

    Il faudrait probablement un utilitaire de type "cut" pour le récupérer.

    Cordialement

    Gary


  • 10.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Aug 03, 2011 03:56 AM
    [quote name='Zagga' post='9112' date='August 2 2011, 05&#58;34 PM']Gouti

    Vous utilisez bien la supervision générique de Dollar Universe v5.6?

    Ceci déclenche la procédure U_SPV.BAT en passant la chaîne suivant comme argument:

    UNIV <Job Status> JOB <Uproc Name> <Management Unit> <Date> <Time> <Uproc Exec Number> <Session Exec Number> <Company Name> <Area> <Node Name> <Severity> <Information>

    Dans la V5.3, Severity n'est pas passé en argument et il faut effectivement le recuperer de la sortie standard de la commande: uxshw ctl full

    Commande : uxlst ctl full nseq=0000024 status=* upr=* ses=* mu=* since=(00/00/0000,0000) before=(12/31/9999,2359) execinfo=* execsev=*

    SESSION     UPROC      MU         STATE                 START      AT     END        AT        MODIFICATIONS          NODE       QUEUE                           JOB    PRI SESSNO  PROCNO  PDATE      USERNAME     VSES VUPR STP NSEQ    INFO                                               SEV
    --------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------- ------------------------------------------
                GAN002     FRLPMDEV04 TERMINE               07/29/2011 124631 07/29/2011 124631                           frlpmdev04 SYS_BATCH                       0020   100         0000020 07/29/2011 univ53a      000  000  00  0000024 ÚphÚmÞre                                           [b]1234[/b]

    Selon mes calculs il s'agit du linge5 pos 286.

    Il faudrait probablement un utilitaire de type "cut" pour le récupérer.

    Cordialement

    Gary[/quote]

    J'utilise bien la supervision générique de dollar universe 5.6
    La récupération de la valeur du paramètre séverity se passe sans probleme dans U_SPV_JOB.
    Je vais tester la récupération du Severity dans U_POST_UPROC en suivant vos indications.

    Merci pour votre aide


  • 11.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Aug 03, 2011 04:07 AM
    [quote name='gouti' post='9041' date='July 25 2011, 03&#58;28 PM']Connaissez vous un moyen de récupérer le vrai code retour du script lancé par l'uproc pour pouvoir le transmettre à la supervision ?[/quote]

    Je croyais que votre besoin était justement de remonter le code retour applicatif à la supervision?

    Si c'est fait dans U_SPV_JOB, pourquoi persister avec U_POST_UPROC?

    Gary


  • 12.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Aug 03, 2011 08:09 AM
    [quote name='Zagga' post='9117' date='August 3 2011, 10&#58;07 AM']Je croyais que votre besoin était justement de remonter le code retour applicatif à la supervision?

    Si c'est fait dans U_SPV_JOB, pourquoi persister avec U_POST_UPROC?

    Gary[/quote]

    J'utilise U_SPV_JOB pour la remontée d'info vers la supervision et j'utilise U_POST_UPROC pour tracer l'exécution des uprocs (début et fin + code retour) afin d'alimenter un outil de traçabilité.


  • 13.  [Résolu] Supervision et Code Retour - Transmettre le code retour exact du script à la supe

    Posted Aug 03, 2011 10:10 AM
    Merci d'avoir satisfait à ma curiosité.

    Gary