Red Hat Subscription Reporting Guide

6 minute read




This article will look at the various options available, to do subscription reporting for Red Hat products. Many large organizations sometimes struggle to keep track of what subscriptions are being used, often maintaining their own spreadsheets. This can be very error prone and time consuming. Systems can even be subscribed to the wrong subscriptions, for example a virtual machine running RHEL using a physical subscription. Many Red Hat customers have several different products, not just RHEL and being able to actively inventory the entire subscription landscape is critical.

Options for Subscription Reporting

There are various options for subscription reporting depending on if you have Satellite (Red Hat Systems Management) or not.

Subscription Entitlement Report 

Starting with Satellite 6.7 there is now a canned report that is very customizable. This is the recommended way of reporting subscriptions in Satellite 6.7+. Provides granular host level subscription reporting.

Example of the out-of-the-box entitlement report is here.

Red Hat Discovery Tool

The discovery tool can do reporting on subscriptions in Satellite and non-Satellite environments. Provides granular host level subscription reporting. This is the recommendation if you don't have Satellite 6.7+ or have systems not subscribing through Satellite. The discovery tool can be installed in a connected or disconnected environment.

The discovery tool also has an upstream project and is available via the community:

Red Hat Subscription Watch

This is a cloud service offering that can aggregate subscription reporting across various infrastructure or even organizations. Data is sent either from Red Hat Insights or Satellite to a customers portal on This is a recommended addition to provide additional visibility but does not provide granular information at the host level.

Subscription Inventory Script

Provides granular host level subscription reporting for Satellite environments. This is a script not a product so use at your own risk. However this is recommended if you have Satellite 6.6 or below and cannot for whatever reason leverage the Red Hat Discovery tool.

Using the Satellite Subscription Inventory Script

Since the other options are products and well documented, I will focus on showing how to do subscription reporting using the inventory script on RHEL 7. First you will need to deploy a RHEL 7 system.

Enable Correct RHEL Repos

First ensure all repositories are disabled and then just enable the rhel-7-server-rpms.

$ sudo subscription-manager repos --disable=*
$ sudo subscription-manager repos --enable=rhel-7-server-rpms

Install python 2.6+

$ sudo yum install -y python

Install Git (Only for connected setup)

$ sudo yum install -y git

Clone git repository (Only for connected setup)

$ git clone

If the system isn't connected to the internet then you need to download from the git repository. You can download the script from by selecting download. You can then copy the tarball to your system and extract it.


Change directory

cd sat6Inventory

Run the inventory script

You need to pass the admin user, password and the Satellite organization.

./ -s -l admin -p  \

The script will output a CSV.

$ ls
EXAMPLE.COM_inventory_report.csv LICENSE Sample Report

You can now import the script output CSV into a spreadsheet program and manipulate as desired.

A sample report is also provided here.

Reconciling mismatched entitlements

If you have a Satellite environment with RHEL physical and VDC (virtual subscriptions) it is possible that a virtual RHEL host is possibly using a physical instead of virtual subscription. To identify such hosts you can run the below command from your Satellite server.

$ sudo foreman-rake katello:virt_who_report


In this article we covered the various options for doing subscription reporting of Red Hat products. We also showed a short hands-on guide for using the inventory script. Hopefully this provided guidance to choose the most appropriate approach to subscription reporting.

(c) 2020 Keith Tenzer