Datenbank, Datastore, Backup

Bloonix benötigt 2 Datenbanken. Eine Datenbank fürs Management, eine weitere Datenbank zur Speicherung der Metriken. Für eine bessere Performance werden die Metriken in Partitionen gespeichert, eine Partition pro Tag wird dabei verwendet.

Zur Installation der Datenbank und der Einrichtung des Backup Skripts für den Datastore wird das Paket bloonix-webgui-schema benötigt.

Datenbank

Die Datenbank für das Management wird standardmäßig mit dem User und dem Datenbanknamen blxdb erstellt. Hierzu muss in das Verzeichnis /usr/share/bloonix/schema/ gewechselt werden, wo die Skripte zur Erstellung der Datenbanken liegen.

cd /usr/share/bloonix/schema/
./init-postgresql-database -i -m -o /etc/bloonix/database/main.conf

Datastore

Der Datenstore, indem die Metriken gespeichert werden, wird auf ähnliche Weise erstellt. Der Benutzer und der Datenbankname sind standardmäßig blxds.

cd /usr/share/bloonix/schema/
./init-postgresql-database -i -d -o /etc/bloonix/datastore/main.conf

Backup

Das Backup der Management Datenbank kann ganz einfach mit den typischen Tools pg_dump und mysqldump erstellt werden. Für den Datastore bietet Bloonix eigene Skripte zum Backup und für den Restore an. Diese Skripts lauten:

  • bloonix-datastore-backup
  • bloonix-datastore-restore

Ein Cronjob kann für das Backupskript mit einem Intervall von 15 Minuten eingerichtet werden. Das Backup wird inkrementell unterhalb von /var/backup/bloonix-datastore gespeichert.

Welches DBMS sollte eingesetzt werden

Aktuell wird das DBMS PostgreSQL unterstützt. Für MariaDB und MySQL gibt es nur eingeschränkten Support. Es gibt verschiedene Gründe dafür.

Einer der Gründe ist, dass die verfügbaren Python Module für MySQL und MariaDB in den Repositories von Debian und Rocky Linux ein paar Probleme mit der Handhabung von Spalten im Format JSON haben. Aus diesem Grund müssen die passenden Module aus anderen Quellen installiert werden.

Für MySQL muss das Python Modul mysql-connector von der offiziellen Webseite von mysql.com installiert werden.

Beim Einsatz von MariaDB muss das Module “mariadb” über “pip” installiert werden:

pip3 install mariadb

Ein weiterer Grund für unsere Empfehlung, PostgreSQL zu verwenden ist die Performance. PostgreSQL performt signifikant besser als MySQL/MariaDB, was speziell zur Speicherung der Metriken in größeren Setup wichtig ist.