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 Help  Report Database Schema 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

/etc/rhn/rhn.conf

Example

report_db_batch_size = 4000

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:

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.