Un sujet qui revient fréquemment lorsque notre plateforme K2 grossit, c’est une façon simple de monitorer son environnement sans avoir à se connecter sur le workspace et vérifier si des instances sont en erreur ou si tout va bien (oui oui, ça arrive !)

Pour mettre en place ce genre de mécanisme, il faut utiliser le Workflow Management qui permet de lister les erreurs sur la plateforme K2, et de faire un retry sur ces erreurs détectées.

Pour monitorer les erreurs, 2 solutions s’offrent à nous :

  • Monitoring via un écran
  • Monitoring via un processus

Monitoring via un écran

Ce type de monitoring consiste à bénéficier d’un formulaire qui liste les erreurs.
Avantage : plus rapide d’accès que le workspace
Inconvénient : Nécessite d’aller le consulter régulièrement

Dans un premier temps, on va générer un SmartObject qui utilise les 2 méthodes suivantes :

 

Monitorer son serveur K2 Blackpearl La méthode Get errors prends en paramètre le nom de la page d’erreur a afficher. Par défaut, passer “All” qui liste toutes les erreurs présente sur le serveur K2. D’autres pages d’erreur peuvent être ajoutées dans le workspace, section Error profiles.La seconde méthode retry error permet de lancer un retry sur l’erreur pour lequel on a passé l’ID en paramètre.

Une fois le SmartObject généré, il faut générer une vue de type liste qui utilise la méthode Get errors.

Monitorer son serveur K2 Blackpearl

On ajoutera a cette vue un toolbar button tlb_Retry qui va exécuter la méthode Retry en passant l’id de l’erreur sélectionnée ainsi que le nom de la personne connectée:

Monitorer son serveur K2 Blackpearl

 

Voici le résultat final :

Monitorer son serveur K2 Blackpearl Monitoring

Monitoring via un processus

Cette solution consiste à modéliser un processus K2, qui va être lancé de façon périodique (voir article sur le déclenchement périodique de processus), qui va aller consulter les erreurs de l’environnement courrant, générer un tableau HTML avec les erreurs récupérées et envoyer ce tableau par mail aux utilisateurs paramétrés en tant que destinataires.

Le SmartObject utilisé sera le même que pour la première solution. On passera ensuite par un processus composé qui va vérifier si il y a des erreurs présentes sur le serveur, si il n’y a pas d’erreur, le processus ne fait rien, si des erreurs sont présente, on va générer le tableau HTML (activité generate table qui boucle sur la liste des erreurs) et envoyer ce tableau HTML dans un mail.

On va aussi générer un lien qui sera inséré dans le mail qui nous amènera vers un formulaire pour faire un retry automatiquement depuis le mail.

Monitorer son serveur K2 Blackpearl Monitoring

On peut voir dans le processus qu’une boucle est en place autour de l’activité generateTable, et que 2 sorties sont conditionnées :

  • Si curIndex < nbErrors :  il reste des erreurs à traiter
  • Si curIndex = nbErrors : on a traité toutes les erreurs, on peux envoyer le mail

 

 Monitorer son serveur K2 Blackpearl Monitoring  On va initialiser le datafield nbErrors avec la fonction count sur la méthode Get errors de notre SmartObject ainsi que le datafield curIndex à 0.
 Monitorer son serveur K2 Blackpearl Monitoring  Dans le 2ème événement, on va initialiser le datafield htmlTable (de type texte) avec l’entête du tableau HTML.
 Monitorer son serveur K2 Blackpearl Monitoring  Dans l’activité generateTable, le premier événement consiste à générer un lien vers un formulaire, qui prend en paramètre l’ID de l’erreur et qui tente un retry lors de la règle Initialize du formulaire. (la méthode est la même que celle développée pour le toolbar button de la solution 1).
 Monitorer son serveur K2 Blackpearl Monitoring  L’événement ConcatValues va concaténer les données de la ligne courante avec les valeurs du datafield htmlTable.

Exemple de récupération de données (Folio) :

Monitorer son serveur K2 Blackpearl Monitoring

Monitorer son serveur K2 Blackpearl Monitoring

 Monitorer son serveur K2 Blackpearl Monitoring  Dernier événement de l’activité generateTable, l’incrémentation de la variable curIndex
 Monitorer son serveur K2 Blackpearl Monitoring  Pour terminer, on envoie le tableau généré dans le datafield htmlTable dans un mail event, pour lequel on aura le choix des destinataires du mail.

 

A vous de jouer  😉

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *