Skip to main content

Monitoring

Server monitoring

We recommend that you monitor the following aspects of the server:

  • disk usage
  • RAM usage
  • CPU usage

⚠️ In case of a serious failure of a BlueMind component, a .hprof file is generated in the directory /var/log.

Monitoring file activity for such files appearing is therefore crucial.

By default, the BlueMind system detects such files when they are generated and records this as an error in the file "/var/log/bm-node/node.log" .

Hprof files can be detected manually with the command :

ls /var/log/\*.hprof

The file is named according to this convention:

java_pid1664.hprof

In this example, 1664 is the ID of the process with the failure. This ID enables you to retrieve the component that causes the failure by using the command ps or jps before restarting BlueMind services.

For more information on hprof files and how to manage them, see hprof files appear on the BlueMind server.

Service monitoring

BlueMind uses standard messaging components (Postfix, nginx, ElasticSearch...), which can be supervised by standard tools.

In addition, APIs allow you to query the server the same way as interfaces and make sure that the BM-Core component runs properly.

The list of BlueMind processes running on the server can be accessed using the command:

/usr/lib/jvm/bm-jdk/bin/jps -ml

Typically, BlueMind specific processes you can expect to see and are able to monitor are:

  • 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

The standard processes BlueMind uses include:

  • PostgreSQL
  • Postfix
  • nginx
  • bm-php-fpm
  • ElasticSearch

Using SNMP

BlueMind does not provide SNMP probes. In order to monitor a BlueMind server with SNMP, you must therefore set up monitoring for each service mentioned above manually.

BlueMind's monitoring scripts

To be able to monitor BlueMind services, the package bm-checks must be installed.

Once the package is installed, monitoring scripts become available in the directory /usr/share/bm-checks/.

To use them, run the script bash as you would normally, using cron for instance.

Each script returns a code depending on the status of the BlueMind service:

  • 0 (zero) if the service is running properly
  • 1 (one) if a minor problem has been detected
  • 2 (two) if an error has been detected

If an error is detected, a message is returned on the standard output.

Log monitoring

The BlueMind components log files can be retrieved in the directory "/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/

To monitor other components the following locations can be used:

  • /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/

Script-based control

BlueMind uses standard system scripts to start and stop services.

The command "bmctl restart" restarts all BlueMind services.

Script-based operations

As mentioned in the sections on integrating BlueMind with third-party applications, BlueMind can be fully script-controlled.

From client APIs (in PHP and Java), you can perform any operation on BlueMind, such as create or modify users, access calendars, add events, etc.

Find out more

Related BlueMind documentation pages