Rapports (ReportBundle)

De SOS Paris
Aller à : navigation, rechercher


Report.png
Module Report
Nom Rapports & Tableaux de bord
Version 2.0
Github https://github.com/AriiPortal/ReportBundle

Rapports et tableaux de bord

Ce module permet de:

  • d'alimenter des tables génériques dans la base de données
  • consolider les données des différents outils du SI
  • générer directement des tableaux de bord à partir des écrans Arii
  • publier des données de métrologie (décalage, dérive...)
  • créer, générer et publier des rapports JasperReports

Données

Les données sont extraites de différents outils (actuellement Open Source JobScheduler et Autosys).

Elles concernent les aspects suivants:

  • les définitions des traitements (date de création, machine, login...)
  • les exécutions des traitements (début, fin, statut...)
  • les groupes fonctionnels de jobs (synthèse par processus)
  • les groupes applications (synthèse par domaine applicatif)

elles sont liées:

  • dépendances entre traitements
  • regroupement par processus et applications
  • planifications

puis agrégées:

  • exécutions par heure, par mois et par jour
  • cycle de vie des traitements

Traitements

Nom Description Alimentation
report_job
report_job_day
report_job_month

Exécutions

Nom Description Alimentation
report_run Données d'exécution des traitements
report_run_hour Agrégation par heure /report/fr/cron/run2runhours.html
report_run_day Agrégation par jour /report/fr/cron/run2rundays.html
report_run_month Agrégation par mois /report/fr/cron/run2runmonths.html
report_run_year Agrégation par année (non implémentée) /report/fr/cron/run2runyears.html

Modification

Le principe de ce module est de traiter les données brutes mais il peut être nécessaire de devoir intervenir sur ces données pour faire des ajustements.

Nouvel écran de saisie

Si l'écran n'existe pas, par exemple dans le cas où on souhaite intervenir directement sur une table de jointure, il est possible de la créer en utilisant une utilisant une commande CRUD.

Publication

Tableau de bord

Exemple de tableau de bord

Génération automatique

La génération automatique est réalisée par phantomjs qui exécute l'url.


JasperReport

Ce module utilise JobScheduler en tant que serveur Jasper.

Les configurations de rapport pouvaient être créées par un éditeur graphique nommé iReport qui est maintenant remplacé par JasperStudio. La connexion à la base de données du JobScheduler est utilisée par défaut mais il est évidemment possible d'indiquer d'autres paramètres.

Installation

JobScheduler

La première étape consiste à configurer Jobcheduler pour qu'il prenne le rôle de serveur Jasper.

  • On télécharge les bibliothèques nécessaire dans le projet SourceForge JasperReports
  • On crée un répertoire Jasper dans le répertoire lib de JobScheduler
  • On copie les fichiers dans le répertoire lib/jasper
  • On indique l'emplacement des jars dans le fichier config/factory.ini
class_path = ${SCHEDULER_HOME}/lib/pgsql/*.jar;${SCHEDULER_HOME}/lib/patches/*.jar;${SCHEDULER_HOME}/lib/user_lib/*.jar;${SCHEDULER_HOME}/lib/sos/*.jar;${SCHEDULER_HOME}/lib/3rd-party/*.jar;${SCHEDULER_HOME}/lib/jdbc/*.jar;${SCHEDULER_HOME}/lib/jasper/*.jar;${SCHEDULER_DATA}/config;${SCHEDULER_HOME}/lib/log/log4j/*.jar

Sur Unix, il faudra remplacer les ; par des :

  • On redémarre le Jobscheduler pour prendre en compte la nouvelle configuration

A titre indicatif, le contenu de lib/jasper devrait contenir ces fichiers:

jasperreports-4.5.0.jar
commons-digester-1.7.jar
groovy-all-1.7.5.jar
iText-2.1.7.jar
jcommon-1.0.22.jar
jfreechart-1.0.12-LICENSE.txt
jfreechart-1.0.12.jar
poi-3.7-20101029.jar
  • Ces fichiers dépendent de l'utilisation des objets inclus dans le rapport, cette liste n'est donc pas exhaustive.*