Installation on Debian
Please configure the system with a UTF-8 locale, as example en_US.UTF-8.
Prepare installation
apt-get update
apt-get -y install gpg wget
Repository
wget -O- https://repo.bloonix.org/bloonix.gpg \
| gpg --dearmor >/usr/share/keyrings/bloonix.gpg
source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/bloonix.gpg] https://repo.bloonix.org/debian/ $VERSION_CODENAME main" \
>/etc/apt/sources.list.d/bloonix.list
source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/bloonix.gpg] https://repo.bloonix.org/ubuntu/ $VERSION_CODENAME main" \
>/etc/apt/sources.list.d/bloonix.list
Packages
apt-get update
apt-get -y install nginx \
postgresql \
postfix \
redis \
bloonix-server \
bloonix-webgui \
bloonix-webgui-schema \
bloonix-agent
Note: Postfix can be replaced by Exim or any other MTA. It is important that the MTA provides /usr/sbin/sendmail and also listens on localhost:25. An MTA is only required if emails are to be sent/forwarded via the local MTA. This applies, for example, to the Bloonix web GUI with two-factor authentication and the Bloonix server when sending alerts via email.
Redis
echo 'save ""' >>/etc/redis/redis.conf
systemctl enable redis-server
systemctl restart redis-server
Note: If you are using a Redis alternative such as Dragonfly, it is important to ensure that no data is persisted and that the database is empty after a restart.
PostgreSQL
Initialize the database schema
cd /usr/share/bloonix/schema/
./init-postgresql-database -i -m -o /etc/bloonix/database/main.conf
./init-postgresql-database -i -d -o /etc/bloonix/datastore/main.conf
Import the check plugins
bloonix-import-plugins-into-db
Nginx
An example configuration for testing purposes can be found in the file /etc/bloonix/webgui/nginx.conf and looks like:
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name _;
access_log /var/log/nginx/bloonix-webgui.access.log;
error_log /var/log/nginx/bloonix-webgui.error.log;
location /favicon.ico {
expires 365d;
add_header Cache-Control public;
root /srv/bloonix/webgui/public/assets/img;
}
location /assets {
expires 365d;
add_header Cache-Control public;
root /srv/bloonix/webgui/public;
}
location / {
expires off;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9000;
}
}
Reload / restart Nginx after the change:
nginx -t && systemctl restart nginx
Bloonix-WebGUI: cookie_secure
Important Notice: If HTTPS is not used, the cookie_secure parameter must be set to False in the WebGUI configuration file, otherwise login is not possible.
app {
cookie_secure False
...
}
However, for security reasons, a domain should be set up with a valid SSL certificate. There is also an example for this in the file /etc/bloonix/webgui/nginx.conf.
Systemctl
Once everything is set up, the Bloonix services can be started and enabled.
systemctl enable bloonix-webgui
systemctl enable bloonix-server
systemctl enable bloonix-agent
systemctl restart bloonix-webgui
systemctl restart bloonix-server
systemctl restart bloonix-agent
Login
The initial login for the WebGUI is
admin / bloonix
Troubleshooting
If the WebGUI is not accessible, there are several ways to troubleshoot:
- Check if the WebGUI is reachable: curl localhost:8080
- Look in the browser debugger under the “Console” tab
- Check the log files in__ /var/log/bloonix__ for error messages
Templates
The last step is to import the predefined service templates from Bloonix. These are not absolutely necessary, but they make getting started easier. Please adjust the URL if necessary.
bloonix-import-default-templates \
--url http://localhost:8080/