As a system administrator, troubleshooting system configurations is part of day-to-day activities. In this post, we would like to introduce a new service from Red Hat Insights, called Drift, that empowers system administrators to compare configurations, define baselines, and ultimately perform root-cause analysis of issues during troubleshooting. While managing a large inventory of Red Hat Enterprise Linux (RHEL) systems is facilitated by tools like Red Hat Smart Management with Satellite, system configurations tend to drift away from defined standard operating environments.
How different are RHEL system configurations?
One of the daily tasks of system administration is troubleshooting configuration differences between two or more systems. A common example is an application that behaves differently from one system to another. The common approach to root cause analysis is to figure out differences between those systems, which can be hardware differences, operating systems differences (e.g. OS version), installed software differences (e.g. RPM version) and more. All of these could have an impact on the issue being observed.
One quick way to identify those differences is to use the Drift service provided as part of Red Hat Insights. Drift lets you quickly and easily compare two or more system configurations to identify similarities and differences. Drift also highlights areas of the configuration that are suspect or unexpected (See Figure 1). It provides filtering mechanisms to help pinpoint specific areas of the configuration where you may want to focus. Configuration facts made available to Drift for comparison are listed in the Drift documentation.
Figure 1. Drift comparison of systems configurations
Systems can be compared despite being hosted on different infrastructure (e.g. physical, virtual, public clouds) or different environments (e.g. dev, test, prod), as long as they are part of the same account inventory.
Reports of comparisons can be exported as CSV files from the UI. This exports what you see on the screen. URLs can also be bookmarked as a way to reload a defined comparison at a later time.
When did this change occur in my RHEL system configuration?
Another powerful feature of Drift is its ability to look back in time for system configuration differences. Drift currently maintains up to seven days (set as an Insights internal default) of previous configurations for each registered system. This means system administrators can use the tool to compare their system configuration over time.
A typical example is trying to identify the cause of a change of behavior of an application on a particular system. Was the application affected by a change of configuration? Identifying or discarding this hypothesis from the troubleshooting steps can be done using Drift.
System configurations can be compared over time and analyzed for differences. This includes setting a time reference for the comparison to highlight the changes that have occurred since this reference point in the system configuration (See Figure 2).
For advanced troubleshooting, Drift can compare historical configurations from different systems.
Figure 2. Drift comparison of system configuration over time
How and when did my system configuration start to drift away from our baseline?
Drift can be used to quickly identify unexpected changes in system configurations. For example, a baseline is defined in Drift to serve as a standard configuration to which you can compare all other systems. If a system configuration drifts over time, performing a comparison to the defined baseline highlights all changes and when they were observed, thus providing a quick and easy way to ensure all system configurations are in-line with the organization standards (See Figure 3).
Figure 3. Drift comparison of baseline and systems configurations
Baselines can be created from scratch (given a set of fact names and values), as a copy of an existing system configuration, or as a copy of an existing baseline configuration.
Could we automate the Drift troubleshooting process?
Drift provides a fully documented REST APIs that can be used to perform comparison operations, access historical system configurations, or undertake lifecycle management of baselines. Operations are described in the Insights API documentation and examples are provided in the Drift documentation guide on using Drift APIs.
Want more information?
We recently held a Red Hat Insights Ask Me Anything webinar about the Drift service. It included a short demonstration of the Drift capabilities as part of Red Hat Insights. You can watch its recording on-demand from the Red Hat Insights Ask Me Anything Webinars library.
If you are not using Red Hat Insights, it is included as part of your RHEL subscription - find more information and get started today by visiting Red Hat Insights. Try Insights out today on cloud.redhat.com.