Avant de commencer: la solution ci-dessous n'est pas idéale, car si le serveur AE se surveille lui-même il ne sera pas capable de remonter des alertes en cas d'indisponibilité totale. De ce fait nous recommandons d'utiliser une solution de monitoring externe.
Les quelques objets ci-dessous vous permettront d'effectuer une vérification périodique du statut des processus serveurs, et de déclencher une alerte par mail si l'un d'eux est arrêté.
- VARA.SQLI.SRV.PROCliste les processus serveurs (CP / WP)
- SCRI.SRV.PROC.ALIVEvérifie leur statut et exécute...
- ...CALL.MAIL.SRV.PROC.DOWNs'ils sont arrêtés
- EVNT.TIME.CHECK.SRV.PROC.ALIVEexécuteSCRI.SRV.PROC.ALIVEà intervale régulier
VARA.SQLI.SRV.PROCSELECT OH_NAME
FROM OH
WHERE OH_OTYPE='SERV'
AND OH_DeleteFlag='0'
ORDER BY OH_NAME;
SCRI.SRV.PROC.ALIVE:SET &HND# = PREP_PROCESS_VAR(VARA.SQLI.SRV.PROC)
:PROCESS &HND#
:SET &PROC# = GET_PROCESS_LINE (&HND#,1)
:SET &STATUS# = SYS_SERVER_ALIVE(&PROC#)
:IF &STATUS# = 'N'
: SET &SEND_NOTIF# = ACTIVATE_UC_OBJECT(CALL.MAIL.SRV.PROC.DOWN,,,,,PASS_VALUES)
:ENDIF
:ENDPROCESS
Note : pour que cette commande
ACTIVATE_UC_OBJECT(CALL.MAIL.SRV.PROC.DOWN,,,,,PASS_VALUES)
fonctionne, vous devrez ajouter la variable &PROC# dans
Variables & Prompts > Variables:
CALL.MAIL.SRV.PROC.DOWN
J'ai simplement modifié légèrement cette ligne dans l'onglet 'Traitement',
: PUT_ATT SUBJECT = "Alerte: le processus &PROC# est arrêté!"
ainsi que les destinataires.
EVNT.TIME.CHECK.SRV.PROC.ALIVEDéfinissez l'intervale :
Onglet !Traitement
:SET &RUNCHECK# = ACTIVATE_UC_OBJECT(SCRI.SRV.PROC.ALIVE)
Je joins un export xml des objets utilisés à ce message.
Si vous souhaitez les importer dans votre environnement:- Pensez à déplacer les requêtes SQL contenues dansVARA.SQLI.SRV.PROC vers l'onglet Oracle ou DB2 si votre base de données n'est pas sous MS SQL.
- L'export xml a été généré à partir d'uneversion 11.2.3+build.465de l'Interface Utilisateur. Editez le fichier xml et changez <uc-export clientvers="">pour y renseigner votre version si elle est antérieure, avant d'importer les objets.
Cordialement,
Antoine