z/OS Health Checker Features Productivity and Easy-of-Use Enhancements
IBM Health Checker for z/OS* provides an infrastructure to help simplify and automate the identification of potential configuration problems before they impact system availability. It compares active z/OS and sysplex settings to those suggested by IBM or defined by your installation, reporting on deviations from IBM recommended practices, proximity to critical thresholds, recommended and required migration actions, etc., while also providing suggested remedial actions and additional references. It primarily consists of two parts:
- The framework or general interface that allows you to run and manage checks. It’s shipped as part of the z/OS Base Control Program.
- The individual checks themselves. These are primarily IBM-supplied programs—over 200 to date—that examine specific settings or values for potential problems but can also be provided by ISVs or written by users.
A product since V1.7, the IBM Health Checker for z/OS has been part of the base system for many years. Many notable enhancements (e.g., productivity and ease-of-use improvements, additional checks that cover new problem areas) have been delivered in the past few z/OS releases.
What follows is a look at some of these recent enhancements. The full descriptions of all enhancements can be found in “More Resources”.
As of z/OS V2.1, procedure HZSPROC—the back end of the Health Checker framework—is automatically started at the time of IPL. Not required, but provided for compatibility reasons, is a HZSPROC system parameter in the IEASYSxx PARMLIB member to allow users to:
- Override the default procedure name HZSPROC
- Opt out of autostart to have more control on when and how HZSPROC starts (e.g., via an automation product or never)
The Health Checker framework allows persistent data (i.e., data saved across IPLs) to be maintained for individual health checks. Prior read/write interfaces were only available as assembler services. In z/OS V2.2, REXX callable functions are available to read and write persistent data, thus providing consistent, persistent data access across different check locales. These functions are:
- HZSLPDRD: wraps existing assembler service HZSPREAD
- HZSLPDWR: wraps existing assembler service HZSPWRIT
Conditional/Filter Statements in HZSPRMxx
In z/OS V2.2, using the small programming enhancement (SPE) in APAR OA49807, a new WHEN statement allows you to specify statements conditionally in an HZSPRMxx PARMLIB member to be applied depending on the particular system configuration. If the conditions specified in the WHEN statement are met, the statement or statements within are applied as appropriate for the type of statement. This allows you to share an HZSPRMxx PARMLIB member between many systems in a sysplex, even if you need to specify particular conditions for some systems.
HZSPRMxx Syntax Check
With SPE in APAR OA49807, a new CHECK subparameter of the system command MODIFY hzsproc,ADD,PARMLIB (where hzsproc is a place holder for the actual procedure name to be used in the command in case it was renamed; the default is HZSPROC) allows you to check the syntax of the specified HZSPRMxx parmlib members before applying the contents of the parmlib members.
Alternative HZSPRMxx Selection
The selection of which HZSPRMxx parmlib members to use at Health Checker startup has been enhanced in z/OS V2.1 and can be controlled in a few ways:
- HZS parameter in IEASYSxx: using system parameter HZS=(aa,…,zz) in IEASYSxx
- HZSPRM parameter in started procedure HZSPROC: Besides allowing one to specify the HZSPRMxx suffixes directly, the following special values are now supported for HZSPRM:
- PREV: Specifies that your HZSPROC procedure uses any HZSPRMxx suffixes used by the previous instance of IBM Health Checker for z/OS within the current IPL. For example, issuing START hzsproc,HZSPRM=PREV from the command line is recommended when recently applied service requires the Health Checker to be restarted.
- HZSPRM=‘PREV’ is used as the default in the updated standard HZSPROC procedure. HZSPRM=‘PREV’ behaves like HZPRM=‘SYSPARM’ when the system encounters it at initial IPL time (the first use of the HZSPROC).
- SYSPARM: Specifies that your HZSPROC procedure uses the HZSPRMxx suffixes specified on the HZS system parameter in IEASYSxx
- NONE: Specifies that the HZSPROC has not read any HZSPRMxx parmlib members at startup
comments powered by