Suivi (JIDBundle)

De SOS Paris
Aller à : navigation, rechercher
JID.png
Module JID
Nom Suivi
Version 2.0
Github https://github.com/AriiPortal/JIDBundle
Suivi des traitements d'OpenSource JobScheduler

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 le 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 par rapport aux nœuds qu'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 conecté à 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: Connexion Oracle.PNG

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. Connexion OJS.PNG

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

Navigation

NavJID.png

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 :

Logo Description
JIDnav oeil.png Menu déroulant donnant accès aux écrans décrits ci-après :
JIDnav o.png Suivi de l'historique des ordres.
JIDnav p.png
JIDnav c.png Visualisation du déroulement des chaînes de traitement.
JIDnav t.png Historique des traitements, ordonnés ou indépendants.
JIDnav m.png État des moteurs défini par leur écriture en base de données.
JIDnav mm.png
JIDnav grille.png Menu déroulant donnant accès aux notes d'exploitation
JIDnav o10j.png Note d'exploitation récapitulant les informations relatives aux ordres exécutés les 10 derniers jours.
JIDnav je.png Note d'exploitation contenant les erreurs de traitement des dernières 24 heures.
JIDnav boite.png Menu déroulant donnant accès aux outils
JIDnav i.png Génération de fichiers d'installation silencieuse, en vue d'un déploiement.
JIDnav cc.png Outil de conversion des crontables
JIDnav conf.png Informations sur la configuration du module

Afficher et trier les résultats

JID histo.png

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 Bdd.png 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.

  • Filtre.png Cette icône permet d'activer un filtre prédéfini ou d'en créer un.
  • Filtre off.png Cette icône désactive tous les filtres.

Date de référence

Cette date correspond aux plus anciennes exécutions recherchées.

JID df.png 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.
Next refresh.png 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 Erreur.png;
ou d'inclure dans la recherche les traitements ordonnés avec l'icône Chaine.png.

Panneau de recherche

JID starttimefilter.png
JID starttimefilter calendar.png

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.

JID-ordre.png

Plusieurs options y sont associées :

Icône Nom Description
Sort.png trier par : Permet de trier les ordres par :
- nom du moteur qui l'a exécuté
- nom de la chaîne qu'il a déclenchée
- date de la dernière exécution
Spooler.png Afficher moteur Affiche le nom du moteur qui traite l'ordre
Last-ex.png Afficher fin Affiche l'heure de fin de l'exécution
Joc-impr.png Format d'impression Affiche le résultat de la recherche en format imprimable
Rss.png Rss feed Publie les résultats dans un flux RSS
Re-fresh.png Actualiser les données Rafraîchit manuellement des résultats

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.

JID Running.png
  • Fini (Success)

État d'un ordre qui a fini son exécution avec succès.
Il est caractérisé par son affichage vert.

JID-Success.png
  • 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é.

JID-Setback.png
  • 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.

JID-Failure.png
  • 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.

JID-Suspend.png


  • Stoppé (Chain stop.)

État d'un ordre qui a été bloqué par un utilisateur.
Il est également affiché en rouge.

JID-Stop.png


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.

JIDo-ordre.png

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.

JID ordre-chaine.png


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.

JID ordre-journal.png

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.

JID ordre-histo.png

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.

JID ordre-statut.png

Le graphique est cliquable, cela permet d'afficher uniquement les ordres qui sont dans l'état sélectionné.

Détail de l'ordre

JID ordre-details.png

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é.

JID ordre-chainDetails.png

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

JID chaine-chaine.png

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

JID chaine-ordre.png

Journal

JID chaine-journal.png

Traitements

Options de visualisation

La liste des traitements est visible en bas de page.

JID job-ViewAll.png

Plusieurs options y sont associées :

Icône Nom Description
Chronogramme.png chronogramme Affiche un chronogramme.
End Time.png Afficher fin Affiche l'heure de fin d'exécution.
PID.png Afficher PID Affiche le numéro de processus ( windows ou unix ) de chaque traitement.
Joc-impr.png Format d'impression Affiche le résultat de la recherche en format imprimable.
Rss.png Rss feed Publie les résultats dans un flux RSS.
Re-fresh.png Actualiser les données Rafraîchit manuellement des résultats.
Ordered job.png Afficher traitement ordonné Affiche les traitements ordonnés en plus des traitements indépendants.
View all.png Afficher tout Affiche l'ensemble des traitements.

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

JID-Traitements.png

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é.

JID-Journal.png

Historique

L'historique des exécutions permet une vision chronologique des erreurs et des durées d'exécution.

JID-Historique.png

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).

JID-Statut.png

Arborescence

Cette vue permet de visualiser les traitements dans l'arborescence.

JID-Dossier.png

Détail

Cet onglet affiche les informations sur le traitement envoyées par le moteur au format XML.

JID-detaillle.png

Moteur

Cette page donne accès aux informations concernant les moteurs JobScheduler écrivant dans la base de données sélectionnée.

JID-moteur.png

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

Messages

Journal

Moteurs

Rapport

Ordres depuis 10 jours

Ordres depuis 10 jours.png

Jobs en erreur

Autres outils

Installation silencieuse

Installer_JobScheduler

Convertisseur de Crontable

Configuration

JID-Config.png