Sysplex reporting across time zones
If you have a sysplex with several processors running in different time zones, this results in different time stamps in the SMF records. Therefore, the Postprocessor does not recognize that these records belong to the same interval when creating a sysplex report. You can solve this problem by calling program ERBCHGMT which updates the time stamps during Postprocessor processing.
A sample job supplied with RMF™ in SYS1.SAMPLIB(ERBGMTPP) for updating the Postprocessor input is available.
ERBGMTPP contains the following job steps:
- SMFDUMP extracts the SMF records from the input data sets and
makes sure that the output file has the correct DCB attributes.
If you want to process SMF records from SMF log streams, use the IFASMFDL program instead of IFASMFDP for SMF data sets.
If you want to process SMF records from the SMF data buffer, use the RMF-supplied program ERBAPPL.
- CHGGMT changes the GMT offset in the input data sets to a common
value. The parameter in the PARM field of program ERBCHGMT determines
the GMT offset (in minutes) for the output data set.
Examples:
- PARM='+0' creates GMT time in all time stamps in the Postprocessor.
- PARM='-300' creates GMT time minus 5 hours (Eastern time US, Canada)
- PARM='+60' creates GMT time plus 1 hour (Middle European winter time)
- RMFSORT sorts the modified input data set(s) by RMF date and time. This step is required.
- RMFPP invokes the Postprocessor.
Working with SMF data sets
//ERBGMTPP JOB job information,REGION=0M
//*
//* DUMP SMF DATATSET(S)
//*
//SMFDUMP EXEC PGM=IFASMFDP
//IDD1 DD DISP=SHR,DSN=<input_smfdata_system1>
//IDD2 DD DISP=SHR,DSN=<input_smfdata_system2>
// :
//IDDN DD DISP=SHR,DSN=<input_smfdata_systemN>
//SMFDATA DD DISP=(NEW,PASS),SPACE=(CYL,(10,10),RLSE),
// UNIT=SYSDA,DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=0)
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
INDD(IDD1,OPTIONS(DUMP))
INDD(IDD2,OPTIONS(DUMP))
:
INDD(IDDN,OPTIONS(DUMP))
OUTDD(SMFDATA,TYPE(70:79,103,108))
//*
//* UPDATE GMT OFFSET
//*
//CHGGMT EXEC PGM=ERBCHGMT,PARM='-300'
//SMFDATA DD DISP=(OLD,DELETE),DSN=*.SMFDUMP.SMFDATA
//SMFCHGMT DD DISP=(NEW,PASS),SPACE=(CYL,(10,10),RLSE),
// UNIT=SYSDA,DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=0)
//SYSPRINT DD SYSOUT=*
//*
//* SORT THE SMF RECORDS
//*
//RMFSORT EXEC PGM=SORT
//SORTIN DD DISP=(OLD,DELETE),DSN=*.CHGGMT.SMFCHGMT
.
.
//SYSIN DD *
SORT FIELDS=(11,4,CH,A,7,4,CH,A,15,4,CH,A),EQUALS
MODS E15=(ERBPPE15,36000,,N),E35=(ERBPPE35,3000,,N)
//*
//* RMF POSTPROCESSING
//*
//RMFPP EXEC PGM=ERBRMFPP
//MFPINPUT DD DISP=(OLD,DELETE),DSN=*.RMFSORT.SORTOUT
:
Working with the SMF buffer (first step)
//SMFDUMP EXEC PGM=ERBAPPL,PARM='*/*/70:79,103,108'
//SMFDATA DD DISP=(NEW,PASS),UNIT=SYSDA,SPACE=(CYL,(10,10))
//ERBLIST DD DUMMY