We've all been in situations where something works on one system, but not another, and we’re not sure why. Perhaps your boss is asking "Why does this work in the test environment, but not production?" and you need an answer as soon as possible.
In the past when this has happened, I would open SSH sessions to the two servers in question, and start manually comparing items to see if perhaps one server had more memory than the other, or if one server had a newer package than the other, etc. However, this manual process is not efficient nor quick.
Red Hat recently introduced the System Comparison feature as part of the cloud management services for Red Hat Enterprise Linux, which is available with Smart Management subscriptions. System Comparison is a web based, Software-as-a-Service (SaaS) tool for quickly comparing two or more systems.
In this post we will cover an overview of the System Comparison functionality. There is also a video available that covers an Introduction to System Comparison.
Prerequisites for System Comparison
The first item you will need to use System Comparison is a Smart Management subscription.
The other item you will need is the Red Hat Insights client installed and configured on each RHEL system that will be compared. For help installing and configuring Insights, see the getting started guide here. We also have a video covering the Installation and Registration of the Insights Client.
Many customers already meet these prerequisites and are ready to get started with System Comparison without any further work.
To actually get started comparing systems, go to cloud.redhat.com, log in, and click on Cloud Management Services for Red Hat Enterprise Linux.
Then, on the left menu, click on System Comparison:
Next, click the blue button to add two or more systems to compare. In this example, I’ve added my server1.example.com and server2.example.com servers. System Comparison then shows a detailed comparison of the systems:
The items with a green check are the same between the systems, and the items with a red x are different.
Note in the screenshot above, there are three pages of comparisons as by default 10 items are shown per page. This is configurable at the top of the page.
The facts that are currently compared include:
We can also only view differences between the systems by clicking the View drop down, and selecting Different:
The page refreshes and we now only see the differences between the systems:
We can see that these two servers have a number of differences, including a different amount of memory, CPU’s, and different installed packages.
Some of the listed items have an arrow to expand the item to show more details, and these are referred to as fact categories, and include items such as installed_packages and network_interfaces. For example, if we want to see details on the differences in the installed_packages, we can click the arrow for it to expand the details:
We can see that these servers have a number of packages at different levels.
We can also filter by the fact name or fact category (which are the expandable items, such as installed_packages and network_interfaces) by using the Filter by Fact text box at the top of the page. For example, we can filter by number_of_cpus if we only want to see a comparison of the number of CPU’s, or filter by installed_packages if we only want to see a comparison of the installed packages. We can also filter by specific package names, and these packages will be listed under installed_packages.
For a video overview of this information, see the Introduction to System Comparison video.
Resolving the Package Differences
In the example above, we saw that server1.example.com had several newer SSSD related packages compared to server2.example.com.
To resolve this, we can login to server2.example.com, and use yum to update these packages. Once the packages have been updated, we can either wait until the next time the Insights clients runs, or we can manually run the insights-clients command to immediately submit the updated information from the client.
In either case, once the Insights client has uploaded the data, we can refresh our System Comparison page in the web browser, and it should now show that the installed packages on the systems match. It is possible to bookmark system comparison URLs to return back to the same comparison in the future. You can also share the System Comparison URLs with other people who can use the URL to view the same comparison, as long as they have access to the same Red Hat account number through their Red Hat account.
Exporting to CSV
It is also possible to export the data from System Comparison to a comma separated value (CSV) file format. This CSV file can be shared with others and also can be viewed in spreadsheet applications such as LibreOffice Calc.
The data that is exported depends on what you are filtering and which facts you’ve expanded. For example, if you filter only on differences that is what will be exported. If you don’t expand the list of installed packages, the details are not exported, but if you do expand the list, that data is also exported.
To do the export click on the three vertical dots at the top of the page, and click Export as CSV.
You can then open the downloaded CSV file in a spreadsheet application to view the data:
Summary and Closing
When troubleshooting system issues, System Comparison can help identify differences between RHEL systems. You can compare two or more servers, filter the data, and export the data to CSV. For more information, and to get started, visit cloud.redhat.com and refer to the Cloud Management Services documentation.
About the author
Brian Smith is a Product Manager at Red Hat focused on RHEL automation and management. He has been at Red Hat since 2018, previously working with Public Sector customers as a Technical Account Manager (TAM).