Reporting Database
SUSE 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 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 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 Manager server which provided the data. On a single SUSE Manager server this column has the standard value 1, representing localhost. On the SUSE 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 Manager server database.
Navigate to to find the schema documentation.
3. Data Generation and Update
SUSE Manager uses two taskomatic jobs to manage reporting data:
update-reporting-default-
Generates and updates the local reporting database from the main SUSE 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 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 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.