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.