Quelques éléments techniques
La pierre angulaire du module est le fichier "mail.log".
Le logrotate de ce fichier mail.log est programmé tous les jours à 00:00, et effectué par le script : /usr/share/bm-stats/scripts/SHELL/MailLogRotate.sh
La conf de logrotate a été modifiée via le "postinst" pour ne plus le gérer.
Un script PERL ( /usr/share/bm-stats/scripts/PERL/bmMailStatLog.pl ) parse le fichier mail.log tous les jours à 01:00 .
Ce fichier alimente ensuite 4 fichiers dans "/var/lib/bm-stats/general" :
- domainAttachmentStat.dat : qui contient les valeurs relatives à la typologie des pièces jointes
- domainDSNStat.dat : qui contient les valeurs "bounced" et "deferred"
- domainGeneralStat.dat : qui contient les valeurs "envoyées" et "reçues"
- domainNbRecipByPost.dat : qui contient les valeurs relatives à la typologie des messages
et génère pour chaque domaine managé par Blue-Mind des fichiers xml contenant les valeurs par utilisateurs (Top Utilisateur) et
par domaine émetteur et receveur (Top Domaine). Ces fichiers seront toujours au nombre de 4 et nommés de la façon suivante :
- YYYY.xml, YYYY = année sur 4 chiffres
- YYYY_MM.xml, MM = mois sur 2 chiffres
- YYYY_MM_W.xml, W= numéro de semaine sur 1 ou 2 chiffres
- YYYY_MM_W_DD.xml, DD = jour sur 2 chiffres
Ces fichiers sont stockés dans :
- /var/lib/bm-stats/[domainName]/xml pour les stats "utilisateur"
- /var/lib/bm-stats/[domainName]/xmlGlobalDomain pour les stats par domaines externes émetteurs (qui m´écrit)
- /var/lib/bm-stats/[domainName]/xmlGlobalDomainOutgoing pour les stats par domaines externes receveurs (vers qui j´écris)
Une version résumée, limitée à 50 entrées par nombre et 50 par volume, est stockée dans le répertoire "resume".
C´est ce fichier qui est appelé et traité par l´interface web.
Les graphiques sont ensuite créés par des scripts PHP :
- "/usr/share/bm-stats/scripts/PHP/do_graph/do_graph.php" qui génère les graphes "nombres reçus", "nombres déposés", "nombres émis", "volumes émis" et "volumes déposés"
- "/usr/share/bm-stats/scripts/PHP/do_graph/do_graph_error.php" qui génère les graphes "rejet" et "différé"
- "/usr/share/bm-stats/scripts/PHP/do_graph/do_graph_attachment.php" qui génère les graphes relatifs au pièces jointes
- "/usr/share/bm-stats/scripts/PHP/do_graph/do_graph_nbRecip.php" qui génère les graphes relatifs à la typologie des messages
C´est fichiers sont stockés dans "/var/lib/bm-stats/[domainName]/img/[YYYY]".
Ils sont nommés de la façon suivante :
- D[dayNum]_[type].png,
- W[W]_[type].png,
- M[MM]_[type].png,
- Y[YYYY]_[type].png,
où :
- dayNum : le numéro du jour dans l´année, ie 29 Fev. 2012 <=> 59
- W , la semaine sur 1 ou 2 chiffres
- MM, le mois sur 2 chiffres
- YYYY, l´année sur 4 chiffres
- type, le type de graphe
Enfin, le 1er de chaque mois, un rapport au format pdf est généré, et stocké dans
"/var/lib/bm-stats/[domainName]/reporting", et ce pour chaque domaine.