z/OS Configuration - SMF Exits

Overview

SMF exits are utilized by the following Universal Agent components to provide their z/OS 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 a number of SMF exits to provide a range of services available in Universal Controller.

The following sections describe how to install the SMF exits for each component. The SMF exits are only required if the component or component services are required.

SMF Exit Introduction

MVS System Management Facilities (SMF) collects and records system events in the form of SMF records. An SMF record is identified with a numeric record type. In addition to recording system events, SMF provides exit points in the control program from which system or application provided exit routines or programs can be called at the time work is being processed. The SMF exit routines can take appropriate actions based on the point at which the exit is called and the information provided in the SMF record. The SMF exits allow for systems and applications to monitor and augment the processing of MVS workload. For additional information on SMF, refer to the IBM manuals MVS System Management Facilities (SMF), MVS Installation Exits, and MVS Initialization and Tuning Reference.

SMF configuration is performed with 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 STC subsystem workload. The IEFU84 exit is not called for STC subsystem workload. For all workload other then 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 installed. IBM provides the dynamic exit facility to add and remove 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 exits using the PROGxx PARMLIB members. The PROGxx EXIT statements used to add product exit routines are listed in the appropriate sections below.

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

SYS.IEFU83

The default SMF exit IEFU83 for all system workload types.

SYSSTC.IEFU83

The SMF exit IEFU83 for STC subsystem workload.

SYSJES2.IEFU83

The SMF exit IEFU83 for JES2 subsystem workload.

Note

When using SMF Exit items, please check against conflicting existing SMF definitions, such as SYSJES2.IEFXXX.

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

CNZ_WTOMDBEXIT

UAGWMDBX

SYS.IEFUSI

UAGUSI

SYS.IEFU83

UAGU83

SYS.IEFU84

UAGU84

SYSSTC.IEFU83

UAGU83

Note

When using SMF Exit items, please check against conflicting existing SMF definitions, such as SYSJES2.IEFXXX.

Note

UAG versions below 6.6.0.0 require the UAGUJV exit.

UAG versions below 6.4.3.0 require the UAGUJI exit.

If multiple versions of UAG are running on a single z/OS system, older versions of UAGUJV and UAGUJI can be used alongside newer versions of IEFUSI, IEFU83 and IEFU84. UAGUJV and UAGUJI will be ignored by newer versions of UAG that don't need them, and newer versions of IEFUSI, IEFU83 and IEFU84 will work appropriately with older versions of UAG.

Configuring SMF

Configuring SMF consists of specifying required SMF record types to collect and the required exit points to define.

The SMF configuration must meet the following requirements:

  • SMF record types 14, 15, 16, 17, 18, 30, and 70 must be collected.
  • System exit points IEFUSI, IEFU83, and IEFU84 must be defined.
  • Assuming the Universal Command SMF exit is installed or there is already a SUBSYS EXITS option for STC, the subsystem STC exit point IEFU83 must be defined.

The record types and exit points are defined in the SMFPRMxx PARMLIB member. The following SMFPRMxx statements illustrate how to define the record types to collect and exit points.

The SYS statement uses the NOTYPE parameter to exclude specific record types. This is one of many ways the SYS statement can be specified to meet the SMF record type requirements.

SYS(NOTYPE(19,62:69,99),EXITS(IEFU83,IEFU84,IEFUSI,...))
SUBSYS(STC,EXITS(IEFU83,...))


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 routines are installed using the appropriate PROGxx PARMLIB member. The EXIT statements for the PROGxx PARMLIB member are illustrated below. The EXIT statements add all the exit routines from the #HLQ.SUNVLOAD load library to the appropriate exit points. Change #HLQ to the appropriate high-level qualifier for your installation.

EXIT ADD EXITNAME(SYS.IEFUSI) MODNAME(UAGUSI) DSNAME(#HLQ.SUNVLOAD)
EXIT ADD EXITNAME(SYS.IEFU83) MODNAME(UAGU83) DSNAME(#HLQ.SUNVLOAD)
EXIT ADD EXITNAME(SYS.IEFU84) MODNAME(UAGU84) DSNAME(#HLQ.SUNVLOAD)
EXIT ADD EXITNAME(SYSSTC.IEFU83) MODNAME(UAGU83) DSNAME(#HLQ.SUNVLOAD)


CNZ_WTOMDBEXIT is not an SMF exit, so it can be configured simply by coding an EXIT statement in a PROGxx PARMLIB member.

For example:


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 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.