Une commande pour réaliser manuellement cela peut être :
ls /var/log/*.hprof
Un tel fichier est nommé sous la forme suivante :
java_pid1664.hprof
où 1664
est l'identifiant du processus ayant subi la panne. A 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.
Supervision des services
BlueMind utilise des composants standards de messagerie (Cyrus Imap, Postfix, nginx, tomcat...), 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.xmpp.server.launcher.tigase
net.bluemind.ips.vertx.ips
net.bluemind.lmtp.id1
net.bluemind.ysnp.ysnp
net.bluemind.application.launcher.coreLauncher
net.bluemind.hornetq.mqsrv
net.bluemind.webmodules.launcher.webLauncher
net.bluemind.locator.app
net.bluemind.node.server.nodelauncher
net.bluemind.tika.server.tika
net.bluemind.proxy.http.launcher.hpslauncher
Parmi les composants standards utilisés par BlueMind on trouve également :
- postgresql
- postfix
- nginx
- bm-php-fpm
- cyrus (imapd et pop3d)
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 une erreur a été 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-hps/
/var/log/bm-ips/
/var/log/bm-lmtpd/
/var/log/bm-locator/
/var/log/bm-mq/
/var/log/bm-node/
/var/log/bm-tika/
/var/log/bm-webserver/
/var/log/bm-webmail/
/var/log/bm-xmpp/
/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-php5-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.
A 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...