Child pages
  • 01 - présentation générale
Skip to end of metadata
Go to start of metadata

Indicateurs d'usage du moteur esup-portail


On distingue actuellement dans les informations statistiques issues du moteur esup-portail deux grandes familles d'informations :

  • Les indicateurs issus des informations d'ouverture / fermeture de sessions utilisateurs
  • Les indicateurs de services
    Ces deux familles d'indicateurs sont réalisées dans esup-portail par type de population : étudiants, enseignants, personnels administratifs, ...

Ils sont fournis d'abord sous la forme d'un fichier de log 'à plat', puis après traitement, sous forme de documents xml, afin de rendre une utilisation tierce aisée.
De nouveaux outils permettent d'enregistrer les informations dans une base de donnée, afin d'en permettre une restitution plus souple, plus pertinente et plus ergonomique.

Indicateurs liés aux informations d'ouverture / fermeture de sessions


Ils permettent d'obtenir des statistiques générales sur l'utilisation du portail, par jour et par mois, ceci pour les différentes populations.

exemples d'indicateurs :

  • nombre d'utilisateurs connectés dans la période
  • nombre de sessions utilisateurs établies
  • temps moyen d'une session
  • ...

    Indicateurs de services


Ce sont des statistiques sur l'utilisation de certains services proposés par esup-portail ; par exemple, webmail, annuaire, espace de stockage, ...

Dans esup-portail, les services peuvent être de 2 types :

  • internes : ce sont des canaux interne au portail.
  • externes : ce sont des services mis en oeuvre dans des applications externes au portail, liés grace au SSO, mais directement accédés depuis l'environnement esup-portail.
    Dans les deux cas, il est possible d'obtenir l'information d'accès au service.

Dans le cas d'un service externe, l'accès au service est pris en compte lors du 'rebond' du navigateur W3 vers l'application externe (sous réserve que l'URL paramétrée dans le canal appelant soit correctement construite).

Dans le cas d'un service interne, l'accès au service est pris en compte lors d'une premiere action dans un canal, ou lors d'une action dans ce canal alors que l'action précédente n'était pas dans celui-ci.

Dans le cas d'un service interne, il est également possible d'obtenir l'information du nombre de 'clics' faits dans ce canal, toujours pour chaque population.

Activation des statistiques


fichier de propriétés esup-portail


Il faut positionner correctement certaines propriétés dans le fichier esup.properties.

Ce sont les propriétés esup.stats.* , voir le document relatif à l'installation du package esup-portail. En particulier :

esup.stats.attributeType

c'est l'attribut uportal qui va permettre de différencier les différentes catégories de personnes.
Par défaut, il est valué à eduPersonPrimaryAffiliation

esup.stats.recordSessions

permet de valider l'enregistrement dans le fichier de stats d'uportal des informations d'ouverture et de fermeture de session.
Doit être à ' true ' (valeur par défaut)

esup.stats.recordTargeted

permet de valider l'enregistrement dans le fichier de stats d'uportal des informations de 'services internes'
Doit être à 'true' (valeur par défaut)

esup.stats.fnames

permet de limiter la production de statistiques de services à certains canaux. Il faut dans ce cas indiquer les 'fname' des canaux à surveiller (liste séparée par le caractère virgule).
La valeur " all " active l'enregistrement des statistiques pour tous les canaux du portail ; c'est la valeur par défaut.

Cas des services externes


Il faut alors que la requête http d'accès au service externe (ex : http://webmail.univ.fr ) ne se fasse pas directement.

Les urls d'accès à des services que l'on désire suivre doivent être du genre : /ExternalURLStats?fname=webmail&service=http://webmail.univ.fr

ExternalURLStats est une servlet s'exécutant dans le contexte uportal, qui enregistre pour l'utilisateur courant l'appel externe vers le service logique ' webmail ', pour l'URL http://webmail.univ.fr

Enregistrement des informations statistiques


Les informations statististiques sont gérées comme toutes les informations de 'logging' du portail.

Par défaut, dans le package esup-portail, ces informations statistiques sont redirigées vers un fichier décrit dans la propriété 'esup.stats.file'.

Dans le cas d'un fonctionnement multi-serveurs (load-balancing), il est conseillé de rediriger ces informations vers un serveur syslog.

Dans la distribution esup-portail, il est possible de modifier le comportement par défaut du package en créant ses propres fichiers (propriétés, sources, feuilles xsl, ...) dans la branche 'Perso' de l'environnement de déploiement. Voir la documentation d'installation du 'socle'.

Il est donc possible de modifier le comportement de log par défaut d'esup-portail, afin de rediriger une partie des 'logs' (dans notre cas, les informations statistiques) vers un serveur syslog.

Voici un extrait d'un Logger.properties qui redirige ces informations vers un serveur syslog :

log4j.category.org.esupportail.portal.services.stats=INFO,stats
log4j.additivity.org.esupportail.portal.services.stats=false
log4j.appender.stats=org.apache.log4j.net.SyslogAppender
log4j.appender.stats.SyslogHost=syslog.univ.fr
log4j.appender.stats.Facility=LOCAL6
log4j.appender.stats.layout=org.apache.
log4j.PatternLayout
log4j.appender.stats.layout.ConversionPattern=%d{ISO8601}\t[LOGICAL_NAME]\t%m%n

Traitement du fichier de statistiques


Différents outils sont fournis dans le package esup-portail afin de retraiter le fichier brut issu d'uportal pour en faire des informations exploitables.

Ces outils sont disponibles dans le répertoire /scripts/stats de la distribution.

Le moteur principal est le script traiteStatsEsup.sh, qui est le chef d'orchestre du traitement des indicateurs esup-portail.

Il est conçu pour réaliser des statistiques mensuelles sur le fonctionnement du portail ; rien n'empêche de l'exécuter journalièrement afin de suivre au plus prêt le fonctionnement.

Il est à adapter en fonction des personnalisations  de l'établissement.

Il peut être exécuté de deux manières :

  • Sans arguments Dans ce cas, il suppose que le mois à traiter est le mois du jour moins un (donc, peut être exécuté par cron au premier du mois suivant).
  • Avec l'indication du mois, de type 'AAAA-MM'. exemple :./traiteStatsEsup.sh 2004-11

Ce script comporte en tête un ensemble de variables permettant de le paramétrer.

Il se décompose en 4 étapes principales :

  • tri des enregistrements : suppression éventuelle des informations syslog, tri chronologique, filtre sur le mois, et éclatement en fonction du type d'indicateur (pour le moment, session ou services).
  • traitement des informations de sessions
  • traitement des informations de service
  • enrichissement d'une base de données des indicateurs esup
    D'autres outils connexes sont distribués afin d'offrir un accès html et graphiques aux informations statistiques.
  • No labels

1 Comment

  1. Côté serveur sylsog, et si celui-ci utilise notamment rsyslog, on pourra usuellement dans /etc/rsyslog.conf (en plus d'avoir activé l'écoute UDP dans ce même fichier) ajouter la ligne 

    local6.* /var/log/esup-indicateurs.log

    Cela permet de diriger les logs donnés en "LOCAL6" (cf l'extrait du log4j.properties donné ci-dessus) dans le fichier /var/log/esup-indicateurs.log

    Cependant par défaut dans rsyslog (a priori ... en tout cas ici sur debian squeeze), les tabulations (codées usuellement par \t) sont transformées en #011.
    Aussi on se retrouve dans le fichier esup-indicateurs.log avec des lignes du type :
    Mar 18 09:44:12 2010-03-18 09: 44:12,428#011ent1#011LI#011UNKNOWN#01126#011bonamvin@univ-rouen.fr
    ... lignes qui ne sont pas exploitables directement par les scripts d'esup-indicateurs

    Pour contourner ce pb, on peut ajouter dans /etc/rsyslog.conf la directive suivante :
    $EscapeControlCharactersOnReceive off

    On obtient alors des lignes du type :
    Mar 18 09:56:27 2010-03-18 09: 56:27,781    ent1    SSTOP    UNKNOWN    26    bonamvin@univ-rouen.fr    1

    => Les tabulations sont bien retranscrites.