Reporting Database
SUSE Multi-Linux Manager includes a reporting database on every server. The reporting database is a separate PostgreSQL database that stores a de-normalized, read-optimized snapshot of the most relevant data from the main SUSE Multi-Linux Manager database. External reporting tools can connect directly to this database to query and visualize data.
In a hub deployment, the hub aggregates the reporting databases of all connected peripheral servers into a single central reporting database. For hub-specific setup and aggregation, see Hub Reporting.
1. Setup
The reporting database and schema are set up by default using the local PostgreSQL server. The reporting database is a separate database accessible via the network.
|
In a hub deployment, the connection between hub and peripheral servers is established via hub online synchronization. For more information, see Hub Online Synchronization. |
1.1. Create a DB User for the Reporting Database
Before connecting an external reporting tool to the database, create a user with read-only permissions.
Use the uyuni-setup-reportdb-user command for this:
usage: uyuni-setup-reportdb-user [options]
options:
--help
show this help message and exit
--non-interactive
Switches to non-interactive mode
--dbuser=DBUSER
Report DB User
--dbpassword=DBPASSWORD
Report DB Password
--add
Add the new user
--delete
Delete the user
--modify
Set a new password
2. Database Schema
The schema exports the most important tables from the main SUSE Multi-Linux Manager database as a de-normalized variant containing only data relevant for reporting.
Ready-to-use reports are provided as views, aggregating data over multiple tables.
Every table has an extra column (mgm_id) specifying the SUSE Multi-Linux Manager server which provided the data.
On a single SUSE Multi-Linux Manager server this column has the standard value 1, representing localhost.
On the SUSE Multi-Linux Manager Hub it is replaced with the real server ID the managed server has in the hub database.
Another common additional field is synced_date, which represents the time when the data were exported from the main SUSE Multi-Linux Manager server database.
Navigate to to find the schema documentation.
3. Data Generation and Update
SUSE Multi-Linux Manager uses two taskomatic jobs to manage reporting data:
update-reporting-default-
Generates and updates the local reporting database from the main SUSE Multi-Linux Manager database. Runs by default daily at midnight on every server.
update-reporting-hub-default-
Fetches reporting data from all registered peripheral servers and aggregates it into the hub reporting database. This schedule is visible on all servers, but only performs meaningful work on a SUSE Multi-Linux Manager Hub. Runs by default daily at 1:30 AM.
All times are in the local timezone of the server.
For more information about hub aggregation and schedule alignment across timezones, see Hub Reporting.
4. Tuning
4.1. report_db_batch_size
Description |
The maximum number of rows fetched and written from one database to the other in one shot. |
Tune when |
Out of memory errors or on processing speed problems. |
Value default |
2000 |
Value recommendation |
500 - 5000 |
Location |
|
Example |
|
After changing |
Monitor memory usage closely before and after the change. |
5. Visualizing Reporting Data with Grafana
The SUSE Multi-Linux Manager Grafana formula can connect directly to the reporting database and deploy pre-built dashboards for fleet management and compliance reporting.
Prerequisites:
-
A Grafana instance configured using the Monitoring Formula. See Monitoring Formula.
-
A reporting database user created with
uyuni-setup-reportdb-user. See Create a DB User for the Reporting Database.
The three reporting dashboards provided are:
-
Fleet Overview & Security — fleet composition, security posture, CVE analysis, patch compliance, proxy infrastructure, and virtualization overview.
-
Reports & History — channels, packages, errata, actions, system inventory, user management, system history, and SCAP compliance.
-
Executive Overview — dynamic statistics including system counts and package queries.
For configuration steps, see Monitoring Formulas.