Suivi (JIDBundle)
Module | JID |
---|---|
Nom | Suivi |
Version | 2.0 |
Github | https://github.com/AriiPortal/JIDBundle |
Ce module permet de suivre les traitements JobScheduler en publiant directement les informations stockées par ce dernier dans la base de données. Il permet :
- d'avoir les mêmes fonctionnalités que le client lourd "Dashboard"
- de disposer des informations en temps réel sans consommation des ressources du JobScheduler
- d'avoir une vue globale ou, au contraire, filtrée de ces traitements
- d'agir sur les traitements en fonction du rôle de l'utilisateur
Comme son nom l'indique, le suivi ne traite que les jobs terminés ou en cours.
Pour avoir une vision du plan courant il faut ajouter le module Plan.
Configuration
La configuration consiste à définir les noeuds JobScheduler et leurs connexions à travers le module d'Administration.
Le module de suivi va reprendre ces définitions pour retrouver les bases de données utilisées. Si on n'utilise qu'une base de données, celle-ci sera sélectionnée par défaut, dans le cas contraire il faudra la choisir en fonction des nœuds que l'on souhaite surveiller.
Un noeud Open Source JobScheduler est lié à:
- une base de données pour historiser les informations
- une interface de communication (port d'écoute par défaut: 4444)
- une espace disque pour stocker la configuration
Nœud par défaut
Pour simplifier la prise en main, Arii considère que la base de données de Symfony (la seule configurée dans le parameters.yml du portail) héberge aussi les données du superviseur.
On dispose donc par défaut du nœud Arii possédant les caractéristiques suivantes:
- Une interface web écoutant sur le port 44444 avec le protocole jobscheduler (communication par fichiers XML).
- Une connexion à la base de données Arii (celle du portail)
- Un espace disque dédié pour la configuration (qui sert à stocker les objets à déployer)
Ce nœud deviendra un superviseur dés qu'on y aura connecté de nouveaux JobSchedulers.
Créer un noeud
Si la solution précédente facilite la prise en main, nous conseillons de réserver cette installation au superviseur pour le déploiement des objets et de dédier un nouveau noeud disposant de sa propre base de données pour la partie ordonnancement. Si un noeud existe déjà sur le SI avant l'installation d'Arii, il suffit de connecter ce dernier au portail.
Pré-requis: Pour créer le noeud, il faut disposer du rôle Admin et avoir accès au module Admin.
On commence par créer les connexions si celles-ci ne sont pas déjà définies, on en aura au moins deux:
- configuration de la base de données
- l'interface de communication
Exemple: On ajoute un jobscheduler écoutant sur le port 4444 et connecté à une base de données Oracle.
La base de données est nommée ojs_db en interne, ce nom dépend de vos normes mais il doit être unique pour le retrouver simplement. La configuration sera assez similaire à cette illustration:
On remarque le protocole oracle qu'on peut préciser en indiquant oci8 si on souhaite un pilote PHP particulier.
On crée ensuite la connexion au jobscheduler en précisant une adresse IP, le port et le protocole ojs qui permet à Arii de connaître le mode de communication.
On aurait pu compléter la définition en précisant:
- un serveur SMTP vers où envoyer les mails
- un répertoire pour le stockage des objets
- un superviseur vers qui se connecter
Ces éléments sont à préciser en fonction du besoin.
La dernière étape est de relier les points de connexion sur le l'objet JobScheduler, pour cela:
- On choisit le menu "Noeuds" à gauche de l'écran
- On crée un nouveau noeud
- On clique sur l'onglet Connexions en haut de l'écran
- On drag&drop les connexions sur la droite du noeud
- On clique sur Sauver
La navigation au sein du suivi se fait à l'aide de l'encart ci-contre.
Vous le retrouverez à gauche de toutes les pages du module.
Les différentes pages seront détaillées au fil du document.
Voici la liste des pages ainsi que leur description :
Afficher et trier les résultats
A droite de la navigation on remarque cet encart « Historique ».
Celui-ci est également présent dans toutes les pages du module.
Il permet de définir certains critères de recherche et l'activation de différents filtres.
Sélectionner une base
Le premier critère à indiquer au module est la base de données à partir de laquelle les informations pourront être récupérées.
Pour cela l’icône ouvre un menu déroulant permettant de sélectionner une base parmi celles déclarées précédemment.
Sélectionner un filtre
Les filtres permettent de réduire le nombre d'informations affichées dans les modules en fonction de critères de recherche.
-
Cette icône permet d'activer un filtre prédéfini ou d'en créer un.
-
Cette icône désactive tous les filtres.
Date de référence
Cette date correspond aux plus anciennes exécutions recherchées.
Elle est affichée de cette manière et est modifiable grâce à un menu déroulant
Prochain rafraîchissement
Le rafraîchissement permet d'afficher les dernières exécutions.
Le temps entre deux rafraîchissements peut être modifié grâce à un menu déroulant.
Cette icône affiche l'heure du prochain rafraîchissement.
Recherche spécifique
Il est possible de n'afficher que les exécutions terminées en erreur, avec l'icône ;
ou d'inclure dans la recherche les traitements ordonnés avec l'icône .
Panneau de recherche
Pour les pages « Ordre » et « Traitement » les exécutions sont recherchées sur une période donnée.
Cette période est modifiable dans l’encart visible à gauche.
Pour modifier l'une de ces dates nous utilisons un calendrier comme celui présent à droite.
Ordres
Par défaut la première page du module est celle dédiée à la visualisation des ordres.
Un ordre est le déclencheur d'une chaîne de traitements.
Le suivi de l'exécution des ordres permet de s’assurer du bon déroulement des chaînes de traitements définies en conception.
Option de visualisation
La liste des ordres est visible en bas de page.
Plusieurs options y sont associées :
Des champs de recherche sont également présents au-dessus de chaque colonne.
État d'un ordre
Au cours de l'exécution d'une chaîne de traitements, un ordre passe par plusieurs états.
Il est impératif de connaître ces états pour pouvoir intervenir si nécessaire.
- En cours (Running)
État d'un ordre en cours de traitement, il ne nécessite aucune intervention mais peut être stoppé.
Cet état est caractérisé par un affichage en jaune.
- Fini (Success)
État d'un ordre qui a fini son exécution avec succès.
Il est caractérisé par son affichage vert.
- En attente (Setback)
État d'un ordre qui a rencontré une erreur lors de son exécution et qui a été programmé pour refaire l'étape en erreur après un délai décidé par le concepteur.
Il ne nécessite pas d'intervention dans la plupart des cas, mais une certaine vigilance.
Il est représenté en orangé.
- En erreur (Failure)
État d'un ordre qui a rencontré une erreur mettant fin à son exécution.
Il ne nécessite pas d'intervention mais peut-être relancé.
Il est représenté par une teinte rosée.
- Suspendu (Suspended)
État d'un ordre qui a rencontré une erreur lors de son exécution et qui a été programmé pour attendre une intervention.
Il nécessite une correction de l'erreur avant de le relancer.
Il est affiché en rouge.
- Stoppé (Chain stop.)
État d'un ordre qui a été bloqué par un utilisateur.
Il est également affiché en rouge.
Vue détaillée
Lorsque l'on sélectionne un ordre, ses informations sont chargées dans les différents onglets en haut de page.
Ordre
Le premier de ces onglets contient les principales informations sur l'ordre ainsi que plusieurs boutons d'action permettant de planifier un nouveau départ ou de suspendre l'exécution en cours.
Détail des informations qui y sont inscrites :
Nom | Traduction (en) | Description |
---|---|---|
Moteur | Spooler | Nom de l'instance JobScheduler qui traite l'exécution. |
Chaîne | Chain | Chemin et nom de la chaîne exécutée par l'ordre. |
Démarrer / Fin | Start / End | Date et heure de début et de fin de l'exécution. |
Ordre | Order | Nom de l'ordre sélectionné. |
Titre | Title | Le titre est un champ libre offert pour aider à la compréhension. |
État | State | État de l'ordre. Si le traitement est en cours, nom de l'étape en cours. |
Sortie | Output | Réponse du dernier script. |
Erreur | Error | |
Message | Message | |
Paramètre | Parameter | Nom des paramètres de l'ordre |
Valeur | Value | Valeur de chaque paramètre de l'ordre. |
Chaîne
Cet onglet permet d'afficher la liste des étapes suivies par l'ordre ainsi qu'une représentation graphique du parcours de l'ordre.
Un bouton d'action est également présent au-dessus des étapes, ce bouton « stop » passe l'ordre dans l'état « stoppé ».
Stopper l'ordre permet d'en empêcher l'exécution lors d'une maintenance par exemple.
Journal
Le journal d'exécution ou « log » est disponible dans ce 3ième onglet, celui-ci est colorisé afin d'en faciliter la lecture.
Au-dessus du journal, des critères de sélection permettent d'en filtrer le contenu.
Historique
L'historique affiche les différentes exécutions de l'ordre, triées par ordre chronologique.
Cela permet d'observer les récurrences en cas d'erreur.
Les champs au-dessus de la liste permettent d'affiner la recherche.
Statut
Le statut est le seul onglet qui ne dépende pas de l'ordre sélectionné, il affiche l'état de l'ensemble des ordres répondant aux critères de recherche ( en bas de page ).
Le code couleur correspond à celui décrit dans « État d'un ordre » et est réutilisé pour être affiché sous forme graphique.
Le graphique est cliquable, cela permet d'afficher uniquement les ordres qui sont dans l'état sélectionné.
Détail de l'ordre
Cet onglet affiche de manière structurée les informations détaillées relatives à l'ordre.
Ces informations sont envoyées par le moteur au format XML.
Détail de la chaîne
Cet onglet affiche en détail les informations de la chaîne exécutée par l'ordre sélectionné.
Process
- Chaîne
- Ordre
- Journal
Chaînes
Cette page est dédiée à la visualisation et la gestion des chaînes de traitements. Les chaînes sont sélectionnées dans l'encart en bas à gauche et organisées en arborescence. On retrouve ici trois onglets déjà évoqués dans le chapitre « Ordres » :
Chaîne
En sélectionnant une étape de la chaîne un encart s'ouvre en bas de page. Celui-ci donne accès aux informations de l'étape ainsi qu'au journal du traitement.
Ordre
Journal
Traitements
Options de visualisation
La liste des traitements est visible en bas de page.
Plusieurs options y sont associées :
Des champs de recherche sont également présents au-dessus de chaque colonne.
Analyser les traitements
Une fois un traitement sélectionné, il est possible d'analyser à travers différents onglets :
Informations générales
Ce premier onglet contient :
- au centre, les principales informations sur le traitement
- en haut, plusieurs boutons d'action permettent de planifier un nouveau départ ou de le stopper ( empêcher tout nouveau départ).
- à droite, les paramètres du traitement qui peuvent être édités ; de nouveaux paramètres peuvent également être ajoutés.
Journal
Le journal affiche le fichier log de la dernière exécution du traitement sélectionné.
Historique
L'historique des exécutions permet une vision chronologique des erreurs et des durées d'exécution.
Statut
Le statut est le seul onglet qui ne dépende pas du traitement sélectionné. Il affiche l'état des différents traitements qui sont dans la liste (en bas).
Arborescence
Cette vue permet de visualiser les traitements dans l'arborescence.
Détail
Cet onglet affiche les informations sur le traitement envoyées par le moteur au format XML.
Moteur
Cette page donne accès aux informations concernant les moteurs JobScheduler écrivant dans la base de données sélectionnée.
Nous y trouvons :
- A gauche, un graphique représentant les traitement exécutés par chaque moteur
- en vert les réussites
- en jaune les traitements en cours
- en rouge les échecs
- Au centre, la liste des moteurs avec :
- leur nom
- leur état
- l'heure de démarrage
- l'hôte et leur port
- En bas, une vue détaillée composée de quatre onglets :
- « Moteur » : contient les informations détaillé sur le moteur
- « Queue » :
- « Ordres » : liste des ordres présents dans le moteur
- « Traitements » : liste des traitements