z/OS Configuration - SMF Exits
Overview
Certain MVS installation exits are utilized by the following Universal Agent components to provide their services:
- Universal Command Server uses one SMF exit to provide support for starting Started Tasks (STC) using Universal Command Manager. If Universal Command STC support is not required, the SMF exit does not need to be installed.
- Universal Automation Center Agent uses several exits to provide a range of services available in Universal Controller.
The following sections describe how to install the exits for each component. The exits are only required if the component or component services are required.
SMF Exit Introduction
Note
For detailed information on SMF, MVS installation exits and their configuration, refer to the IBM manuals MVS System Management Facilities (SMF), MVS Installation Exits, and MVS Initialization and Tuning Reference.
SMF configuration is performed with SYS1.PARMLIB (PARMLIB) member SMFPRMxx. SMF configuration relevant for product installation is the SMF record types being recorded and the SMF exits defined. The SMFPRMxx parameters SYS and SUBSYS define these SMF recording options. The SYS parameter specifies system wide recording options for all subsystems (JES2, TSO, STC, etc.). The SUBSYS parameter specifies subsystem specific recording options. The SUBSYS parameter options override the equivalent options specified on the SYS parameter. Any SUBSYS parameter option not specified will default to the SYS parameter option.
The following example illustrates how SMF SYS and SUBSYS parameters work together.
SYS( EXITS(IEFU83,IEFU84) )
SUBSYS( STC, EXITS(IEFU83) )
The SYS parameter EXITS option defines the two SMF exits IEFU83 and IEFU84. The SUBSYS parameter for the STC subsystem also specifies the EXITS option, overriding the SYS EXITS option. The SUBSYS parameter EXIT option defines one SMF exit IEFU83 for the STC subsystem. Consequentially, only the IEFU83 exit is called for the STC subsystem workload. The IEFU84 exit is not called for STC subsystem workload. For all workload other than the STC subsystem, the SMF exits IEFU83 and IEFU84 are called.
Once SMFPRMxx has defined the appropriate SMF record types to collect and the SMF exits to activate, the product SMF exit routines are defined to SMF.
IBM provides the dynamic exit facility to manage exit routines dynamically and at IPL. IBM has defined all the SMF exits to the dynamic exit facility. The exit routines are added or removed from SMF exit points using the PROGxx PARMLIB members or the MVS SETPROG EXIT command. The PROGxx EXIT statements used to add product exit routines are detailed in the appropriate sections below.
The SETPROG command is documented in the IBM manual: MVS system commands reference.
The exit names used in the dynamic exit facility are formatted as SYSssn.exitname, where ssn is the subsystem name, or blank if it is a system wide exit, and exitname is the name of the exit, such as IEFU83. The following table provides some example dynamic exit facility exit names.
Name | Description |
---|---|
| The default SMF exit IEFU83 for all system workload types. |
| The SMF exit IEFU83 for STC subsystem workload. |
| The SMF exit IEFU83 for JES2 subsystem workload. |
Universal Command Server
The Universal Broker STC establishes the environment to support STC execution by Universal Command Server. Part of the environment consists of adding SMF exit routine UNVACTRT to SMF exit point SYSSTC.IEFACTRT.
Note
The UNVACTRT exit should reside in LPA, the LNKLST concatenation, or the nucleus. Do not use the DSNAME keyword when defining the exit in PROGxx; the system will not be able to load the exit when restarting SMF.
The Broker's UCMD_STC_SUPPORT option specifies whether or not the environment for STC support should be established:
- yes (the default) specifies that the environment should be established.
- no specifies that the environment should not be established.
Configuring SMF
Configuring SMF consists of defining SMF exit point SYSSTC.IEFACTRT for the STC subsystem.
The exit point is defined in the SMFPRMxx PARMLIB member with the SUBSYS STC EXITS parameter either implicitly, by excluding the EXITS parameter, or explicitly.
The following SUBSYS statement illustrates how to define SYSSTC.IEFACTRT:
SUBSYS(STC,EXITS(IEFACTRT,...))
Once the SMFPRMxx PARMLIB member has been modified, the SMFPRMxx member can be activated dynamically by restarting SMF with the following command:
SET SMF=xx
The following console command displays the active SMF options:
D SMF,O
Installing SMF Exit Routines
The SMF exit routine UNVACTRT is provided as part of the Universal Agent package. UNVACTRT must be added to SMF exit point SYSSTC.IEFACTRT. The exit routine can be added automatically by the Broker STC when it starts or statically in a PARMLIB member.
Automatic Installation
The Broker dynamically adds SMF exit routine UNVACTRT to the SYSSTC.IEFACTRT exit point if the SMF_EXIT_LOAD_LIBRARY configuration option is defined in the Universal Broker configuration file. The option indicates that the Broker dynamically add UNVACTRT and specifies the load library from which UNVACTRT is loaded.
Static Installation
If the Universal Broker configuration option SMF_EXIT_LOAD_LIBRARY is not specified in the Universal Broker configuration file, Universal Broker assumes that exit routine UNVACTRT already is added and will not attempt to add it when it starts.
Exit routine UNVACTRT is permanently added to SYSSTC.IEFACTRT using the appropriate PROGxx PARMLIB member. The EXIT statement of the PROGxx PARMLIB member is illustrated below. The EXIT statement adds exit routine UNVACTRT from the #HLQ.SUNVLOAD load library to the SMF exit point SYSSTC.IEFACTRT. Change #HLQ to the appropriate high-level qualifier for your installation. The exit is no longer given control if it encounters an ABEND.
EXIT ADD EXITNAME(SYSSTC.IEFACTRT) MODNAME(UNVACTRT) ABENDNUM(1)
The UNVACTRT exit routine is added when the system is IPL'ed and the PROGxx member is processed. The SMF exit can be added dynamically without an IPL by activating PROGxx member with the SET console command. The following SET command activates PROGxx member:
SET PROG=xx
The PROGxx PARMLIB member is documented in the IBM MVS Initialization and Tuning Reference manual. The SET console command is documented in the IBM MVS System Commands manual.
The following console command displays the exit routines installed for exit point SYSSTC.IEFACTRT:
D PROG,EXIT,EN=SYSSTC.IEFACTRT,DIAG
Universal Automation Center Agent
The Universal Automation Center Agent (UAG) establishes the environment to support Universal Controller services on z/OS. Part of the environment consists of establishing the following exit routines:
Exit Point | Exit Routine | Description |
---|---|---|
CNZ_WTOMDBEXIT | UAGWMDBX | WTO Monitoring |
SYS.IEFUSI | UAGUSI | Step initiation processing |
SYS.IEFU83 | UAGU83 | File and system monitoring |
SYS.IEFU84 | UAGU84 | Step and job end processing |
Configuring SMF
Configuring SMF consists of specifying required SMF record types to collect and the required exit points to define.
The record types and exit points are defined in the SMFPRMxx PARMLIB member.
Installation job UNVIN14 can be used to verify that the correct record types are being collected and the correct exits are defined on the SYS and SUBSYS keywords. This job will read in the SMF configuration member for the system, check the appropriate record and exit definitions are present and produce the PARMLIB PROGxx member ADD EXIT statements required for UAG to function.
When job UNVIN14 is executed, it checks that SMF configuration meets the following requirements:
- If SUBSYS(SYSJES2, …) or SUBSYS(SYSJES3, …) is defined, SMF record types 15, 17, 18, 30 (subtypes 4 and 5) and 70 must be collected for it. In this case, only SMF record types 15, 17, 18 and 70 must be collected for SYS(…).
- If neither SUBSYS(SYSJES2, …) nor SUBSYS(SYSJES3, …) is defined, SMF record types 15, 17, 18, 30 (subtypes 4 and 5) and 70 must be collected for SYS(…).
- SMF record types 15, 17, 18 and 70 must be collected for every other SUBSYS(…).
- If SUBSYS(SYSJES2, …) or SUBSYS(SYSJES3, …) is defined, SMF exits IEFUSI, IEFU83, and IEFU84 must be defined for it. In this case, only exit IEFU83 must be defined for SYS(…).
- If neither SUBSYS(SYSJES2, …) nor SUBSYS(SYSJES3, …) is defined SMF exits IEFUSI, IEFU83, and IEFU84 must defined for SYS(…).
- SMF exit IEFU83 must be defined collected for every other SUBSYS(…)
- Other record types can be collected as required and will be ignored by the UAG exits.
- Other exits can be defined without impacting UAG behavior.
Job UNVIN14 will produce the required ADD exit statements. It might also point out issues with the configuration that might cause problems with proper UAG processing. It will also produce an ADD EXIT statement for CNZ_WTOMDBEXIT module UAGWMDBX. This is not an SMF exit by is still required for UAG to operate.
If the SMFPRMxx PARMLIB member has been modified, the SMFPRMxx member can be activated dynamically by restarting SMF with the following command:
SET SMF=xx
The following console command displays the active SMF options:
D SMF,O
Installing SMF Exit Routines
The exit routines are installed using the appropriate PROGxx PARMLIB member. The ADD EXIT statements for the PROGxx PARMLIB member can be created with installation job UNVIN14.
The exit routines are added when the system is IPL'ed and the PROGxx member is processed. The SMF exit routines can be added dynamically without an IPL by activating PROGxx member with the SET console command. The following SET command activates PROG member xx.
SET PROG=xx
The PROGxx PARMLIB member is documented in the IBM MVS Initialization and Tuning Reference manual. The SET console command is documented in the IBM MVS System Commands manual.