Health checker - connect_cdc_sqdata - Latest

Connect CDC (SQData) Change Data Capture

Product type
Software
Portfolio
Integrate
Product family
Connect
Product
Connect > Connect CDC (SQData)
Version
Latest
Language
English
Product name
Connect CDC (SQData)
Title
Connect CDC (SQData) Change Data Capture
Copyright
2024
First publish date
2000
Last edition
2024-09-13
Last publish date
2024-09-13T19:10:49.846957

While there are many ways to monitor the operation of the zOS Capture/Publishers, an optional Health Checker Job is include that can periodically confirm operational status and provide notification of various conditions related to Capture/Publisher status and latency. The Job is typically run on 15 to 30 minute intervals, time is customized by the user and any return code other than 0 indicates an issue to be investigated.

Sample output
---------------------------------------------------------------
              -- SQData Agent Health Checker - Rev: 1807c
              ---------------------------------------------------------------
              -- Checking Agent Status, Engine Connection Status and
              -- the following Lag Thresholds:
              -- 30 Minutes - Last Commit Time
              -- 30 Minutes - Safe Restart where Applicable
              ---------------------------------------------------------------
              Agent Status: MOUNTED,STARTED
              -----------------
              Agent Status OK
              -----------------
              Previous Last Logpoint LRSN : 000000000001EC9EDF6A
              Current Last Logpoint LRSN : 000000000002308AE96E
              -----------------------------------------------------
              Last Log Point LRSN Moving Forward Since Last Check
              -----------------------------------------------------
              IMS Capture Agent
              Last Commit Time : 2020-01-24 11:20:24.218208
              Current Time : 2020-01-24 11:24:32.856182
              Lag from Current : 0:04:08.639100
              Minutes Last Commit Over/Under : -26
              ---------------------------------------------------
              Capture Last Commit within Lag Limit of 30 Minutes
              ---------------------------------------------------
              Engine Name : ENGINE1
              Connected : Yes
              Current Time : 2020-01-24 11:24:32.978837
              Last Commit Time : 2020-01-23 13:10:58.459104
              Lag from Current : 22:13:34.510000
              Minutes Last Commit Over/Under : 1303
              **************! Issue !**********************
              Engine Lag Limit Exceeded by 1303 Minutes
              *********************************************

The Health Checker consists of two parts, a REX EXEC and a batch Job that executes the REX EXEC. A sample REX EXEC and JCL are provided in CNTL library members HCHKREXX and HCHKDB2 included in the distribution. While it references Db2 and a db2cdct.cab file it can point to the configuration of any Db2 or zLogC Publisher configuration. Only the "comments" from HCHKREXX are included below followed by the HCHKDB2 JCL. Precisely recommends that you discuss the configuration of the Health Checker before implementation with Precisely https://www.precisely.com/support.

REXX EXEC
/*REXX*/                                                            
              /*----------------------------------------------------------------*/
              /*      Capture/Publisher Health Checker REXX Exec                */
              /*----------------------------------------------------------------*/
              /* This REXX Exec is provided as a sample that you can customize  */
              /*  to meet your specific requirements. If you happen to make any */
              /*  nice adjustments, please share them with us.                  */
              /*                                                                */
              /* Invocation:                                                    */
              /*  EX '<rexx_library>' <last_commit_lag> <safe_restart_lag>      */
              /*                                                                */
              /*   Where:                                                       */
              /*     <rexx_library> the name of library that contains this exec */
              /*     <last_commit_lag>  last commit lag threshold in minutes    */
              /*                        default is 30                           */
              /*     <safe_restart_lag> safe restart lag threshold in minutes   */
              /*                        default is 30                           */
              /*                                                                */
              /* Function:                                                      */
              /*  Check Publisher Agent (DB2 Capture / zLOGC Publisher          */
              /*   1) Verify that the Last Logpoint is moving forward           */
              /*   2) Verify that the capture is not in FULL / DEADLOCK status  */
              /*   3) Calculate the capture log against the current time        */
              /*   4) Verify that multiple targets are at same commit point     */
              /*   5) Check engine safe restart lag - zLOGC publishers only     */
              /*                                                                */
              /* Return Codes:                                                  */
              /*   0 - Everything checks out ok                                 */
              /*   8 - Logpoint not moving, capture stopped/full/deadlocked,    */
              /*       Lag minutes exceed lag limit, targets not in sync        */
              /*  10 - One or more engines exceed the specified lag time        */
              /*  12 - Capture exceeds the specified lag time                   */
              /*  20 - sqdconf invocation error - see sqdlog dd for more info   */
              /*----------------------------------------------------------------*/
zOS Batch JOB
//HCHKDB2 JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID              
              //*                                                                  
              //*-------------------------------------------------------------------
              //*           Execute Health Checker for Db2 Capture Agent            
              //*-------------------------------------------------------------------
              //*   DDNAMEs of Interest:                                            
              //*     SQDPARMS - Input to sqdconf display - enter cab file here    
              //*     SAVELRSN - Dataset used to Store Db2 LRSN - See #1 Below      
              //*     SYSOUT   - Dataset used for SQDCONF - See #2 Below            
              //*                                                                  
              //*   Return Codes:                                                  
              //*     0 - Agent Running as Exepcted                                
              //*     8 - Health Checker Found Issues                              
              //*                                                                  
              //*   Notes:                                                          
              //*     1) Preallocate a file for DD SAVELRSN to store the last LRSN  
              //*        Attributes: RECFM=FB, LRECL=80                            
              //*                                                                  
              //*     2) Preallocate a file for DD SYSOUT for the SQDCONF Display  
              //*        Attributes:  RECFM=FBA, LRECL=133                          
              //*                                                                  
              //*     3) Change the SET parms below for:                            
              //*         LOADLIB  - the name of the SQDATA load library            
              //*         HCHECKER - fully qualified name of the Health Checker Exec
              //*         LASTCMIT - last commit time latency threshold in minutes  
              //*-------------------------------------------------------------------
              //*                                                                  
              // EXPORT SYMLIST=(HCHECKER,LASTCMIT)                                
              //*                                                                  
              //         SET LOADLIB=SQDATA.V400.LOADLIB                            
              //         SET HCHECKER=SQDATA.CNTL(HCHKREXX)                    
              //         SET LASTCMIT=30                                            
              //*                                                                  
              //*-------------------------------------------------------------------
              //JOBLIB    DD DISP=SHR,DSN=&LOADLIB                                  
              //DB2HCHK   EXEC PGM=IKJEFT01,REGION=64M,DYNAMNBR=99                  
              //SYSPRINT  DD *                                                      
              //SAVELRSN  DD DISP=SHR,DSN=USER.SAVELRSN                            
              //SYSOUT    DD DISP=SHR,DSN=USER.CONFOUT                              
              //*SQDLOG8   DD DUMMY                                                
              //SQDLOG    DD SYSOUT=*                                              
              //SYSTSPRT  DD SYSOUT=*                                              
              //*----------------------------------------------------------------  
              //*   SQDCONF Display Output - Feeds into HCHKREXX Exec              
              //*----------------------------------------------------------------  
              //SQDPARMS  DD *,SYMBOLS=JCLONLY                                      
              display /home/sqdata/db2cdct/db2cdct.cab                            
              //*                                                                  
              //*----------------------------------------------------------------  
              //*   Invoke Health Checker Exec                                      
              //*----------------------------------------------------------------  
              //SYSTSIN   DD *,SYMBOLS=JCLONLY                                      
              EX '&HCHECKER' '&LASTCMIT'