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

Spécifique

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.

Alimentation

Autosys

Jobs

Exécutions

Audit

Open Source JobScheduler

Visualisation

Traitements

Exécutions

calendriers

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

Requêtes

Outils

Import

Base de données

Outils tiers

Le module de Rapports utilise différents outils pour la génération des documents.

Ces outils sont à installer sur le client qui va exécuter la génération, nous utiliserons Open Source JobScheduler pour automatiser cette partie. Les jobs utilisés pour cette partie sont récupérables dans la partie resources du module.

PhantomJS

Site web: http://phantomjs.org/

Installation

  • créer un répertoire "addons" dans le répertoire SCHEDULER_HOME de jobscheduler
cd /opt/jobscheduler/arii
mkdir addons
cd addons
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
  • Décompresser l'archive
tar xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
  • créer un lien
ln -s phantomjs-2.1.1-linux-x86_64 phantomjs
  • tester l'installation
cd phantomjs/bin
./phantomjs -v
2.1.1

Jobs OJS

Pour bénéficier des mises à jours des jobs, il est conseillé de faire un lien symbolique entre les jobs du répertoire resources du module et l'arborescence Arii de JobScheduler.