Aller au contenu principal

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

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...

Pour aller plus loin

Consultez la documentation BlueMind en relation