Preparing to collect SMF data
To prepare the System Management Facilities (SMF) environment for the Z Common Data Provider to collect SMF records, review your SMF environment and choose the appropriate method.
Before you begin
- Decide which method to use for collecting SMF data
- The Z Common Data Provider can collect System
Management Facilities (SMF) data from any of the following sources:
- SMF in-memory resource (by using the SMF real-time interface)
- SMF user exit
- SMF log stream
-
Review the following tips, and decide which method you want to use for collecting SMF data:
- If SMF is running in log stream recording mode, collect SMF data from an SMF in-memory resource by using the SMF real-time interface.
- If SMF is running in data set recording mode, consider changing the mode to log stream recording
mode and collecting SMF data from an SMF in-memory resource by using the SMF real-time interface.
If you cannot run SMF in log stream recording mode, use the SMF user exit to collect SMF data. For more information about the SMF user exit, see Installing the SMF user exit.
- Review additional considerations for preparing to collect SMF data
- Before you configure the Z Common Data Provider to collect SMF data, you must consider performance, latency for collection methods, and the differences between the Data Collector and the System Data Engine.
-
- Performance considerations
The collection and processing of SMF records consume system resources. For best performance, you can collect only the SMF record types or data streams that you need.
- Latency considerations for collection methods
The Z Common Data Provider uses interval-based approach to collect SMF data. If you collect SMF data from SMF user exits or SMF in-memory resource, you can specify a lower collection interval, for example, 10 seconds. If you collect SMF data from an SMF log stream, the Z Common Data Provider must run the
MVS SWITCH SMF
command to stream the data in SMF buffer to log streams, which will affect the normal SMF processing. It is recommended to specify an interval that is no less than 1 minute. - Differences between the Data Collector and the System Data Engine for collecting SMF
dataBoth the Data Collector and the System Data Engine can collect SMF records from various sources. The Data Collector is used to collect SMF raw data into Kafka topics, and the SMF raw data must be then processed by the System Data Engine or user applications so that the SMF data can be used. See the following table for the differences between the two components for collecting SMF data.You can also use the Data Collector and the System Data Engine together to produce SMF data stream and send the data to analytics platforms.
Table 1. Differences between the Data Collector and the System Data Engine for collecting SMF data Needs for collecting SMF data Data Collector System Data Engine Required No Yes to produce parsed data. Data status Raw data only Parsed or curated data Deploy to every LPAR Yes - Yes if the Data Collector is not used.
- No if the Data Collector is used.
Kafka required Yes No Target where data is sent Kafka only All supported subscribers CPU consumption Low High - Deploy the Data Collector on every LPAR in the sysplex to collect SMF raw records into Kafka topics.
- Deploy the System Data Engine in one or more LPARs in the system plex to process SMF records that are collected by the Data Collector from Kafka topics.
- Performance considerations
Procedure
To prepare your SMF environment, complete the following steps that needs the fewest customizations.
-
Run the following
MVS
command to display your SMF settings.
The following is an example of the command output.D SMF,O
IEE967I 11.40.56 SMF PARAMETERS 294 MEMBER = SMFPRM00 NOWIC -- DEFAULT NOHFTSINTVL -- DEFAULT NOARECSIGN -- DEFAULT NORECSIGN -- DEFAULT MEMLIMIT(00002G) -- PARMLIB TWT(0400) -- PARMLIB SWT(0010) -- PARMLIB JWT(0030) -- PARMLIB DUMPABND(RETRY) -- PARMLIB SMFDPEXIT(USER3(IRRADU86)) -- PARMLIB SMFDPEXIT(USER2(IRRADU00)) -- PARMLIB SMFDLEXIT(USER3(IRRADU86)) -- PARMLIB SMFDLEXIT(USER2(IRRADU00)) -- PARMLIB FLOODPOL(TYPE(0:255),RECTHRESH(8000),INTVLTIME(0010), MAXHIGHINTS(0020),ENDINTVL(0300),ACTION(MSG)) -- PARMLIB FLOOD(ON) -- PARMLIB NOMULCFUNC -- PARMLIB REC(PERM) -- PARMLIB STATUS(SMF,SYNC) -- PARMLIB EMPTYEXCPSEC(SUPPRESS) -- PARMLIB DDCONS(YES) -- PARMLIB MAXEVENTINTRECS(60) -- PARMLIB SMF30COUNT -- PARMLIB SYS(EXITS(IEFU86)) -- PARMLIB SYS(EXITS(IEFU85)) -- PARMLIB SYS(EXITS(IEFU84)) -- PARMLIB SYS(EXITS(IEFU83)) -- PARMLIB SYS(EXITS(IEFU29)) -- PARMLIB SYS(EXITS(IEFACTRT)) -- PARMLIB SYS(EXITS(IEFUTL)) -- PARMLIB SYS(EXITS(IEFUSO)) -- PARMLIB SYS(EXITS(IEFUSI)) -- PARMLIB SYS(EXITS(IEFUJV)) -- PARMLIB SYS(EXITS(IEFUJP)) -- PARMLIB SYS(EXITS(IEFUJI)) -- PARMLIB SYS(EXITS(IEFUAV)) -- PARMLIB SYS(NODETAIL) -- PARMLIB SYS(INTERVAL(SMF,SYNC)) -- PARMLIB SYS(TYPE(0,30,38,42,50,70:79,80,81,82,83,84,89,113,119, 100:102,110,115:116,120,121,123,124,125,127,249,1153,1154)) -- PARMLIB PERMFIX(0002M) -- PARMLIB DSPSIZMAX(0002G) -- PARMLIB LSNAME(IFASMF.TVT1006.CDP,TYPE(30,80:84,121,124,125)) -- PARMLIB LSNAME(IFASMF.TVT1006.PERF,TYPE(70:79)) -- PARMLIB INMEM(IFASMF.TVT1006.IMS,TYPE(127)) -- PARMLIB INMEM(IFASMF.TVT1006.KZHAN,TYPE(30,70,80,101,110)) -- PARMLIB BUFSIZMAX(0001G) -- PARMLIB LASTDS(MSG) -- PARMLIB LISTDSN -- PARMLIB LISTDSN -- PARMLIB DSNAME(SYS1.MAN3) -- PARMLIB DSNAME(SYS1.MAN2) -- PARMLIB DSNAME(SYS1.MAN1) -- PARMLIB NOBUFFS(MSG) -- PARMLIB BUFUSEWARN(25) -- PARMLIB MAXDORM(0100) -- PARMLIB AUTHSETSMF -- PARMLIB NOPROMPT -- PARMLIB SID(TVT1) -- DEFAULT SYNCVAL(00) -- PARMLIB INTVAL(10) -- PARMLIB RECORDING(LOGSTREAM) -- PARMLIB ACTIVE -- PARMLIB
- From the command output of step 1, verify
that the SMF recording is active and the recording mode. The prior example indicates SMF recording is active (
ACTIVE
) and the recording mode is log stream (RECORDING(LOGSTREAM
)).- If the SMF is in data set recording mode, you must install the SMF user exits, and configure the Z Common Data Provider to collect SMF data from SMF user exits. For more information, see Installing the SMF user exit.
- If the SMF is in log stream recording mode, review the
LSNAME
statements to verify that a log stream collects all the required SMF record types that you need. For more information about the SMF data streams and the associated SMF record types, see SMF data stream reference.- If an existing log stream meets your needs, you can configure the Z Common Data Provider to collect SMF data from the log stream.
- If the existing log stream does not meet your needs, you can define an SMF in-memory resource to collect all the required SMF record types, and configure the Z Common Data Provider to collect SMF data from the SMF in-memory resource. For more information about how to define an SMF in-memory resource, see Defining in-memory resources.
- From the command output of step 1, verify
that the required SMF record types are included in the
TYPE
keyword of theSYS
statement. Update theSMFPRMxx
member to include the SMF record types that are not included. For more information about the SMF data streams and the associated SMF record types, see SMF data stream reference.Important: The SMF types that you define on the SYS parameter in z/OS®SYS1.PARMLIB
memberSMFPRMxx
(or its equivalent) do not take effect if you also have SUBSYS parameter definitions. Therefore, if you define any subsystems, you must define the associated SMF types, and MVS™ installation exits IEFU86, for each subsystem that is specified by a SUBSYS parameter. - If you make any changes to the
PARMLIB
memberSMFPRMxx
, run the following command to make the changes take effect.SET SMF=xx