bmSearch : une nouvelle vision de votre serveur de messagerie

Bonsoir tout le monde,

rien qu’au nom, vous devriez savoir qui a pondu quoi. :wink:

Donc, mon dernier bébé est un programme qui va, en temps réel, parser votre fichier mail.log, et alimenter un index Elasticsearch.
J’en suis à la phase de tests sur mon serveur de prod.
Voici ce que pourriez avoir

Il me reste encore un peu de travail maiis je pense le mettre à disposition d’ici septembre (2017).

Voilà pour les news :cool

Pascal

Bonjour tout le monde,

voilà, on y presque. Je actuellement en phase de validation.
Donc si tout se passe bien, si vous le souhaitez, vous aurez ceci :

En prime la doc d’installation ici
et une doc sur ELK ici

A dans 2 semaines :wink:

Pascal

Bonjour tout le monde,

voilà c’est en ligne, sur le marketplace et sur http://bm-stats.org/?item=BMS&action=last

Bonne installation !

Pascal

Bonjour PascalS,

Je trouve ton outil bm-stats intéressant et je viens de l’installer sur notre serveur. Cependant, lorsque je clic sur “Monitor”, j’ai ces erreurs qui apparaissent en haut de la page Web:


Warning: file(/var/lib/bm-stats/mondomaine.tld/userQuota.dat): failed to open stream: No such file or directory in /usr/share/bm-stats/www/function/cyrus.php on line 26

Warning: Invalid argument supplied for foreach() in /usr/share/bm-stats/www/function/cyrus.php on line 28

Warning: Invalid argument supplied for foreach() in /usr/share/bm-stats/www/function/cyrus.php on line 85

Warning: Invalid argument supplied for foreach() in /usr/share/bm-stats/www/function/cyrus.php on line 85

**Ma config: ** Plateforme Bluemind actuellement en version 3.5.5-1 et est hébergé sur une VM de type KVM tournant sous Debian 8.1 (RAM 10Go, 4 CPU).

Comment puis-je générer manuellement “/var/lib/bm-stats/mondomaine.tld/userQuota.dat” ?

Merci

Salut,

déjà, dans un premier temps, s’il s’agit d’une fresh install, il faut modifier les droits sur /var/lib/bm-stats, à savoir :

chown -R root.www-data /var/lib/bm-stats
chmod -R 775 /var/lib/bm-stats

Ensuite, tout ce qui relève de Cyrus (quota/espace disque) n’est mis à jour qu’une fois par heure à HH:06.

Pascal

Re,

OK merci pour l’info. J’ai effectivement vu que le dossier correspondant à mon domaine avait été créé lorsque je me suis connecté pour vérifier les droits des dossiers.
J’attendrai demain pour voir les autres stats car pour l’instant il n’y a rien. J’ai lu que les autres scripts étaient exécutés la nuit c’est ça ?

Merci

Re-,

oui, comme le traitement est assez lourd, il n’est fait que pendant la période creuse d’activité.

En revanche, si tu veux des stats temps réels, c’est “bmSearch” qu’il faut installer.
La finalité n’est pas tout à fait la même. On est plus dans la gestion d’infra que de comptes de messagerie.

Pascal

Bonjour,

Merci pour la réponse. La vison en “temps réel” ne m’intéresse pas pour l’instant, c’est pour cela que je préfère rester sur bm-stats.
J’ai essayé de visualiser ce matin les stats depuis mon installation de “bm-stats” (en fin de semaine dernière) mais rien ne s’affiche lorsque je clique par exemple sur “Domain” → “Top User” ou d’autres options du menu latéral gauche. Même lorsque je change de date dans le calendrier et que je clique sur “Submit”.

Est-ce que j’ai loupé une étape lors de mon installation ?..pourtant, j’ai suivi correctement les instructions données ICI .

Merci.

Salut,

est-ce que la commande “php5 /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php” retourne quelque chose ?

Pascal

Re,

Oui, elle retourne une erreur que voici:

root@monserveur:/var/log# php5 /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php
PHP Notice:  Use of undefined constant CURLOPT_VERBOSE - assumed 'CURLOPT_VERBOSE' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 27
PHP Notice:  Use of undefined constant CURLOPT_RETURNTRANSFER - assumed 'CURLOPT_RETURNTRANSFER' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 28
PHP Notice:  Use of undefined constant CURLOPT_SSL_VERIFYPEER - assumed 'CURLOPT_SSL_VERIFYPEER' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 29
PHP Notice:  Use of undefined constant CURLOPT_SSL_VERIFYHOST - assumed 'CURLOPT_SSL_VERIFYHOST' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 30
PHP Notice:  Use of undefined constant CURLOPT_CONNECTTIMEOUT - assumed 'CURLOPT_CONNECTTIMEOUT' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 31
PHP Notice:  Use of undefined constant CURLOPT_TIMEOUT - assumed 'CURLOPT_TIMEOUT' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 32
PHP Fatal error:  Call to undefined function curl_init() in /usr/share/bm-stats/www/class/bmAPI/bmAPI.php on line 31
root@monserveur:/var/log#

Re,

OK, il semblerait que curl ne soit pas accessible via “PHP5”.
Tu peux réinstaller le packet “php5-cli-bm-stats-3.5.60_amd64.deb” ?

Pascal

Re,

J’ai refait l’installation mais malheureusement…toujours pareil:

root@monserveur:/opt# dpkg -i php5-cli-bm-stats-3.5.60_amd64.deb
(Lecture de la base de données... 56998 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de php5-cli-bm-stats-3.5.60_amd64.deb ...
Dépaquetage de php5-cli-bm-stats (5.6.30) sur (5.6.30) ...
Paramétrage de php5-cli-bm-stats (5.6.30) ...
root@monserveur:/opt#

root@monserveur:/opt# php5 /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php
PHP Notice:  Use of undefined constant CURLOPT_VERBOSE - assumed 'CURLOPT_VERBOSE' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 27
PHP Notice:  Use of undefined constant CURLOPT_RETURNTRANSFER - assumed 'CURLOPT_RETURNTRANSFER' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 28
PHP Notice:  Use of undefined constant CURLOPT_SSL_VERIFYPEER - assumed 'CURLOPT_SSL_VERIFYPEER' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 29
PHP Notice:  Use of undefined constant CURLOPT_SSL_VERIFYHOST - assumed 'CURLOPT_SSL_VERIFYHOST' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 30
PHP Notice:  Use of undefined constant CURLOPT_CONNECTTIMEOUT - assumed 'CURLOPT_CONNECTTIMEOUT' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 31
PHP Notice:  Use of undefined constant CURLOPT_TIMEOUT - assumed 'CURLOPT_TIMEOUT' in /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php on line 32
PHP Fatal error:  Call to undefined function curl_init() in /usr/share/bm-stats/www/class/bmAPI/bmAPI.php on line 31
root@monserveur:/opt#

root@monserveur:/opt# apt-get -f install
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 101 non mis à jour.
root@monserveur:/opt#

root@monserveur:/opt# dpkg -l | grep php5-cli-bm-stats
ii  php5-cli-bm-stats                            5.6.30                             amd64        transitional packet while BlueMind one will not be finished.
root@monserveur:/opt#

Merci.

Ok, et
apt-get install php5-common php5-gd php5-json php5-curl

Re,

Ces paquets sont déjà installés:

root@monserveur:/opt# apt-get install php5-common php5-gd php5-json php5-curl
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
php5-json est déjà la plus récente version disponible.
php5-common est déjà la plus récente version disponible.
php5-curl est déjà la plus récente version disponible.
php5-gd est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 101 non mis à jour.
root@monserveur:/opt#

Merci

re,

Tu peux me lister le contenu de ‘/etc/php5/cli/conf.d/’
Tu devrais y voir du “gd.ini”, “curl.ini”, “json.ini”

Pascval

Re,

Ah…ben il manque du monde ;)…regardes:

root@monserveur:/opt# ls -altr /etc/php5/cli/conf.d/
total 12
-rwxr-xr-x 1 root root   64 mar 20 12:29 20-gd.ini
drwxr-xr-x 3 root root 4096 aoû 28 11:36 ..
drwxr-xr-x 2 root root 4096 aoû 28 11:36 .
root@monserveur:/opt#

Merci.

Re,

Ok, le plus propre est de supprimer tout ce qui est relatif à PHP5, et de les réinstaller.
BM35 ne s’appuie que que sur “/usr/bin/php” fournit par “bm-php”, d’où mon packet annexe.

On peut donc purger php5-* sans peur.

Pascal

Au cas où,

avant de tout puger, maintenant que j’y pense, est-ce que dans ‘/etc/php5/mods-available’ tu vois plus de chose ?
Si oui, il suffit juste de faire un lien dans “conf.d” vers le module.
Donc dans le dossier “conf.d”, passer la commande :
ln -s /etc/php5/mods-available/

Pascal

Re,

Alors j’ai plutôt suivi ton dernier conseil. J’avais effectivement + de fichiers de conf dans “/etc/php5/mods-available”.
Regardes.

root@monserveur:/opt# ls -altr /etc/php5/mods-available
total 28
-rw-r--r-- 1 root root   68 aoû  1  2014 json.ini
-rw-r--r-- 1 root root   66 fév  8  2017 pdo.ini
-rw-r--r-- 1 root root   83 fév  8  2017 opcache.ini
-rw-r--r-- 1 root root   64 fév  8  2017 gd.ini
-rw-r--r-- 1 root root   68 fév  8  2017 curl.ini
drwxr-xr-x 2 root root 4096 aoû 25 09:26 .
drwxr-xr-x 4 root root 4096 aoû 25 09:27 ..
root@monserveur:/opt#

…j’ai donc fais les liens vers “json.ini” et “curl.ini”.

root@monserveur:/etc/php5/cli/conf.d# ls -altr
total 12
-rwxr-xr-x 1 root root   64 mar 20 12:29 20-gd.ini
drwxr-xr-x 3 root root 4096 aoû 28 11:36 ..
lrwxrwxrwx 1 root root   33 aoû 28 12:33 json.ini -> /etc/php5/mods-available/json.ini
lrwxrwxrwx 1 root root   33 aoû 28 12:34 curl.ini -> /etc/php5/mods-available/curl.ini
drwxr-xr-x 2 root root 4096 aoû 28 12:34 .
root@monserveur:/etc/php5/cli/conf.d#

Dois-je faire des liens vers d’autres fichiers ?

Maintenant, j’ai un graphique (correspondant à mon domaine) qui s’affiche dans “Home” de l’interface Web mais lorsque je clique sur “Domain” puis je sélectionne par exemple “Top User”…rien ne s’affiche.

La commande “php5 /usr/share/bm-stats/scripts/PHP/api/listAllMailboxQuota.php” fonctionne correctement maintenant et affiche les groupes et les utilisateurs de mon domaine.

Merci

Re,

c’est normal que tu ne vois rien puisque les puisque les scripts n’avaient pas la liste des users et domains associés.

Ce que tu peux faire, c’est :

  • supprimer tout ce qui est contenu dans ‘/var/lib/bm-stats//’
  • en se basant sur le fichier /etc/cron.d/bm-stats, appeler les scripts listés au niveau de ‘#2nd Step’ et ‘#3rd Step’