Supervision
Supervision du serveur
Au niveau serveur, il est conseillé de superviser les aspects suivants de la machine :
- occupation des disques
- utilisation de la mémoire RAM
- utilisation des CPU
⚠️ En cas de panne grave d'un composant BlueMind, un fichier .hprof est généré dans le répertoire/var/log
.
Il est primordial de superviser l'apparition de tels fichiers.
Par défaut l'apparition d'un tel fichier est détecté par le système BlueMind et est enregistré sous forme d'erreur dans le fichier /var/log/bm-node/node.log
.
Les fichiers hprof peuvent être détectés manuellement via la commande :
ls /var/log/\*.hprof
Le fichier est nommé sous la forme suivante :
java_pid1664.hprof
où 1664
est l'identifiant du processus ayant subi la panne. À partir de cet identifiant il est possible via les commandes ps
ou jps
de récupérer le composant responsable de la panne avant de redémarrer les services BlueMind.
Pour plus d'informations sur les fichiers hprof et leur gestion, consulter la page Des fichiers HPROF apparaissent sur le serveur BlueMind.
Supervision des services
BlueMind utilise des composants standards de messagerie (Postfix, nginx, ElasticSearch...), qui peuvent être supervisés par des outils standards.
De plus, les API permettent d'interroger le serveur de la même façon que les interfaces, permettant ainsi de s'assurer du bon fonctionnement du composant BM-Core.
La liste des processus BlueMind en cours de fonctionnement sur le serveur est accessible via la commande :
/usr/lib/jvm/bm-jdk/bin/jps -ml
En temps normal, les processus purement BlueMind attendus et que l'on peut superviser sont :
-
net.bluemind.eas.push
-
org.elasticsearch.bootstrap.Elasticsearch start -p /var/run/bm-elasticsearch.pid
-
net.bluemind.lmtp.id1
-
net.bluemind.ysnp.ysnp
-
net.bluemind.application.launcher.coreLauncher
-
net.bluemind.webmodules.launcher.webLauncher
-
net.bluemind.node.server.nodelauncher
-
net.bluemind.tika.server.tika
Parmi les composants standards utilisés par BlueMind on trouve également :
- PostgreSQL
- Postfix
- nginx
- bm-php-fpm
- ElasticSearch
Utilisation de SNMP
BlueMind ne fournit pas de sondes SNMP. Pour pouvoir superviser un serveur BlueMind via SNMP, il est donc nécessaire de mettre en place manuellement la supervision de chaque service précédemment cité.
Scripts de supervision BlueMind
Afin de pouvoir superviser les services BlueMind, le paquet bm-checks doit être installé.
Une fois le paquet installé, des scripts de supervisions sont alors disponibles dans le répertoire /usr/share/bm-checks/.
Pour les utiliser, lancer l'exécution de ces scripts bash de manière régulière, avec un cron par exemple.
Chaque script renvoie un code de retour dépendant du status du service BlueMind :
- 0 (zéro) si le service est fonctionnel
- 1 (un) si un problème mineur est détecté
- 2 (deux) si une erreur est détectée
En cas d'erreur, un message est renvoyé sur la sortie standard.
Supervision des logs
Les fichiers journaux des composants BlueMind sont récupérables dans le répertoire /var/log
:
/var/log/bm/
/var/log/bm-eas/
/var/log/bm-elasticsearch/
/var/log/bm-mapi/
/var/log/bm-mq/
/var/log/bm-node/
/var/log/bm-tika/
/var/log/bm-webserver/
/var/log/bm-webmail/
/var/log/bm-ysnp/
Pour les autres composants qu'il est possible de superviser, les emplacements suivants peuvent être utilisés :
/var/log/mail.err
/var/log/mail.info
/var/log/mail.log
/var/log/mail.warn
/var/log/nginx/
/var/log/bm-php-fpm/bm-php-fpm.log
/var/log/postgresql/
Pilotage par script
BlueMind utilise des scripts système standards pour l'arrêt et le démarrage des services.
Ainsi, la commande "bmctl restart
" relance l'ensemble des services BlueMind.
Réalisation d'opérations par script
Comme indiqué dans les sections relatives à l'intégration avec des applications tierces, BlueMind peut être totalement piloté par script.
À partir des API clientes (en PHP et Java), il est possible de réaliser n'importe quelle opération sur BlueMind, en particulier créer ou modifier un utilisateur, accéder à un agenda, ajouter un événement...