Using Global Monitoring
To use Global Monitoring, your site must be licensed for AutoStrobe. |
Global Monitoring, which was a new feature introduced in Strobe Release 4.3, has been enhanced to include the following four types of Global Monitoring:
- Batch: Dynamically collects CPU utilization and elapsed time data. Strobe measurements are automatically initiated if normal thresholds are exceeded by more than the associated threshold factor. This feature will allow you to monitor jobs on an LPAR based on selection criteria you specify and parameters supplied in the Strobe PARMLIB. A measurement will be initiated if CPU utilization or elapsed time exceeds the average for past executions. Global Monitoring is restricted to monitoring on individual LPARs. Monitoring is not done across a SYSPLEX. Criteria enhancements include PROCSTEP support and overrides of Global Monitoring the GM_CPU_THRESH and GM_ELAPSE_THRESH parameters by criteria entry.
- CICS: Collects CPU and elapsed time for CICS transactions. This information is sent to iStrobe for viewing.
- IMS: Collects CPU and elapsed time for IMS transactions. This information is sent to iStrobe for viewing.
- SMF data: Is collected by the Global Monitoring SMF exits and sent to iStrobe for viewing.
Global Monitoring for Batch
Global Monitoring for batch is controlled by values specified in the Strobe PARMLIB member and by the criteria specified using the load utility. The utility is executed using the GMLOAD sample batch job. The load utility allows you to specify the system ID, the job name, the job steps and procedure steps to monitor, along with CPU and elapsed time threshold overrides. Wildcarding is permitted to allow for flexibility in specifying which jobs to monitor. In addition, the utility allows you to exclude jobs or programs from Global Monitoring. For detailed information on Strobe Global Monitoring parameters, and the load utility, see Advanced-Configuration-Guide.
Global Monitoring for batch is enabled by specifying GM_BATCH=YES (the default) in the Strobe PARMLIB member. Specifying BATCH on a GMLOAD utility control statement indicates that the statement is to apply to Global Monitoring batch processing.
Batch Scenario
The behavior of Global Monitoring for batch is best demonstrated by a simple example. Assume the following Global Monitoring parameters in the Strobe PARMLIB:
GM_MIN_AVG=10 /* MIN NUMBER OF ENTRIES */
GM_ROLLING_AVG=30 /* NUMBER ENTRIES IN ROLLING AVG */
GM_MIN_CPU= /* MINIMUM CPU TIME IN SECONDS */
GM_CPU_THRESH=10 /* CPU THRESHOLD */
GM_MIN_ELAPSE= /* MINIMUM ELAPSED TIME IN SECONDS */
GM_ELAPSE_THRESH=10 /* ELAPSED TIME THRESHOLD */
Assume the following selection criteria specified through the load utility:
System | Job Name | Step Name |
---|---|---|
SYSA | BATCH* | * |
When Global Monitoring is started for the first time, the repository dataset is empty, so there is no historical data to initialize the monitoring data. In this example, up to 1000 job steps (GM_MAXNUM) will be monitored
After Global Monitoring is initialized in the Strobe Global Monitoring Address Space (MNAS), job BATCH001 step COPY runs on LPAR SYSA. This job step matches the selection criteria, so monitoring for the job step is initialized. When the step ends, the CPU time and elapsed time are calculated and saved in memory. The minimum number of entries required to calculate the rolling average (GM_MIN_AVG) is 10, so nothing else is done now for this job step.
The same process occurs the next nine times the job step executes. Even if values for CPU or elapsed time are excessive, no action is taken by Global Monitoring until the job has run at least 10 times.
On the 11th execution of the job (GM_MIN_AVG=10), the average CPU and elapsed time values are calculated. If either the CPU or elapsed time for the 11th execution exceeds its average by more than the threshold percentage specified (GM_CPU_THRESH or GM_ELAPSE_THRESH), Strobe begins initiation of an ADD ACTIVE, followed by an ADD QUEUED for the next execution. During initiation of the ADD request, to assure that the job meets your minimum CPU time or your minimum elapse time, CPU time for the job is compared to GM_MIN_CPU, and the elapse time for the job is compared to GM_MIN_ELAPSE. Strobe bypasses the ADD ACTIVE and the ADD QUEUED if the GM_MIN_CPU or GM_MIN_ELAPSE is not exceeded.
Global Monitoring data is written to the repository dataset every 5 minutes and when the MNAS terminates. When Global Monitoring is initialized in the MNAS again, the memory object is initialized with the historical data from the repository dataset. When BATCH0001 step COPY then runs on SYSA, Strobe takes action if the CPU or elapsed time is excessive as defined by their respective threshold parameters.
When BATCH0001/COPY has run 30 times (as defined by the GM_ROLLING_AVG parameter), all of the data entries have been used. Subsequent data is saved beginning in the first entry, overwriting the original data.
Global Monitoring for CICS
Global Monitoring for CICS is controlled by values in the Strobe PARMLIB member and the criteria specified using the GMLOAD utility. CPU time and elapsed time are collected by transaction and sent to iStrobe for viewing. For detailed information see Installation-and-Configuration-Guide.
Global Monitoring for CICS is enabled by specifying GM_CICS=YES (the default) in the Strobe PARMLIB member. Specifying CICS on a GMLOAD utility control statement indicates that the statement is to apply to Global Monitoring CICS processing.
CICS Scenario
System | Job Name | Step Name | Include/Exclude | Comp |
---|---|---|---|---|
PROD | CICSP001 | CICSJSTP | Include | CICS |
TEST | CICS | CICS | Include | CICS |
TEST | CICST100 | Exclude | CICS |
On system PROD the job CICSP001, step CICSJSTP will be monitored. The step will be checked to determine if it is CICS and which version, and then information regarding transactions running in the address space will be collected. For any other step, such as IDCAMS, DFHTUP, etc., no attempt will be made to identify the address space as a CICS address space. On system TEST, all job names that start with the characters CICS with step names of CICS will be checked to determine if the address space is a CICS address space. However, the CICST100 job on TEST will not be monitored regardless of step name.
The Global Monitor for CICS reports on transactions only. Therefore, Global Monitoring for CICS will never monitor non-CICS steps in a job. The GMLOAD program STRBGMCL has a component parameter that determines if a job is to be considered CICS, batch, or IMS.
Global Monitoring for IMS
You can specify only a Message Processing Region (MPR) for IMS Global Monitoring. |
Global Monitoring for IMS is controlled by values in the Strobe PARMLIB member and the criteria specified using the GMLOAD utility. CPU time and elapsed time are collected by IMS transaction and sent to iStrobe for viewing. For detailed information, see Advanced-Configuration-Guide.
Global Monitoring for IMS is enabled by specifying GM_IMS=YES in the Strobe PARMLIB member. The default is NO. Specifying IMS on a GMLOAD utility control statement indicates that the statement is to apply to Global Monitoring IMS processing.
SMF Data Capture
Global Monitoring SMF data capture allows you to collect SMF data and have that data sent to iStrobe for viewing. SMF data capture is enabled by specifying GM_SMFDATA=YES (the default) in the Strobe PARMLIB member. SMF data capture is not affected by the criteria specified using the GMLOAD utility.
To supply additional historical data to iStrobe, past SMF can be processed and sent to iStrobe. Member GMSMF contains JCL to process SMF.MAN datasets and send data to iStrobe. Customize the member GMSMF with a job card and specify the SMF.MAN dataset name to be processed. Submit the job. The job produces statistics for the run.
/*JOBPARM SYSAFF=lpar
//STEP01 EXEC PGM=STRBGPUT,PARM='B'
//STEPLIB DD DISP=SHR,DSN=STROBE.SSTRAUTH
//STRDLOG DD SYSOUT=*
//SMFIN DD DISP=SHR,DSN=MIS.CW01.SMF.DISKGDG(0)
Sample Output
STRGP0800I SMF RECORDS DROPPEDSHORT RECORD : 151,802
STRGP0800I HEADER FLAG : 405,287
STRGP0800I NOT 30 OR 70 : 360,588
STRGP0800I NOT 30 SUBTYPE 4: 17,904
STRGP0800I NOT 70 SUB 1 : 32
STRGP0800I NO PROCESSOR SEC: 52
STRGP0800I MISSING SECTIONS: 0
STRGP0800I SEGMENTED REC : 12
STRGP0800I SMF RECORDS FORWARDED : 3,809
STRGP0800I SMF 30 SUB 4 : 3,789
STRGP0800I SMF 70 SUB 1 : 20
STRGP0800I STROBE GLOBAL MONITOR PROCESSING COMPLETE
Memory Requirements
Global Monitoring data is stored in a 64-bit memory object allocated and managed by the Strobe Global Monitoring Address Space (MNAS). Depending on your selection criteria, the PARMLIB values you specify, and the number of jobs monitored, a large amount of memory could be required above the bar. Compuware estimates that in order to monitor 200,000 job steps, approximately 2 gigabytes of memory would be required above the bar. You may require the assistance of the z/OS systems programmer at your site to increase any limitations on the amount of storage allocated above the bar.
Global Monitoring Repository
The Global Monitoring repository files are VSAM datasets containing Global Monitoring data. The purpose of the repository is to provide historical data used to initialize the monitoring data memory object during Global Monitoring startup. The source of this data is the monitoring data memory object. The information from the memory object is written to the datasets on a 15-minute interval while Global Monitoring is active. The datasets are completely rewritten at each interval, but are written only if there has been monitoring activity. A set of two repository datasets must exist for each z/OS image on which Strobe will execute. When data is successfully written to one file, the other file becomes current and monitoring data will be written to it.
The Repository dataset from Strobe Version 4.3 cannot be used in Strobe Release 18.02. The Release 18.02 repository datasets are VSAM ESDS files. The prefix of the repository datasets continues to be specified by the GM_REPOSITORY_DSN parameter of the PARMLIB member. This prefix is appended with the letter S, the SMF SYSID of the system on which the MNAS is running, and F1 or F2 for the first and second repository datasets, respectively. For example, with a GM_REPOSITORY_DSN parameter of STROBE.GM.REPOSTRY, and an SMF SYSID of SYSP, the generated dataset names are:
- STROBE.GM.REPOSTRY.SSYSP.F1
- STROBE.GM.REPOSTRY.SSYSP.F2
Displaying the Global Monitoring Repository Dataset
The contents of the Global Monitoring repository dataset can be displayed for batch jobs only by using GMPRINT. The display includes fields for Jobname, Stepname, Procstep, Average CPU Time, Average Elapsed Time, and Used Entries. These fields are used to determine Global Monitoring events.
Edit the Global Monitoring Repository Print Job
To display the contents of a Global Monitoring repository dataset for batch jobs, first perform the following steps in the GMPRINT job step of Strobe installation sample library SSTRSAMP member GMPRINT:
- Change STROBE.SSTRAUTH to the name chosen for your Strobe authorized load library.
- Change STROBE.GMRPSTRY to the name chosen for your Strobe Global Monitoring repository dataset. This dataset name is based on the value specified for the GM_REPOSITORY_DSN parameter in the Strobe parameter dataset, appended with Sxxxx, where xxxx is the SMF system ID of the z/OS image.
Submit the GMPRINT Job
- Submit the job in member GMPRINT. All return codes should be zero.
- Review the output.