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 e-mail ne sera pas publiée.