/u01/acfs/ogg/TROY_gg_monitor.sh

export ORACLE_HOME=/u01/oracle/product/11.2.0.3/db_1
export OGG_HOME=/u01/acfs/ogg/product/12.3.0.1/TROY
export ORACLE_SID=TROY_1
export PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:$ORACLE_HOME/bin:$OGG_HOME
export LD_LIBRARY_PATH=$OGG_HOME:$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
DBA_EMAIL=shalabh.mudgal@colt.net

logpath="/u01/acfs/ogg"
cd $logpath
logfile="$logpath/TROY_lag.txt"
logfile1="$logpath/TROY_lag1.txt"

# Output GG information to log file
echo 'INFO ALL' | $OGG_HOME/ggsci > $logfile
echo obey /u01/acfs/ogg/obey_TROY.txt | $OGG_HOME/ggsci > $logfile1
cat $logfile | egrep 'MANAGER|EXTRACT|REPLICAT'| tr ":" " " | while read LINE
do
 case $LINE in
*)
      PROCESS_TYPE=`echo $LINE | awk -F" " '{print $1}'`
       PROCESS_STATUS=`echo $LINE | awk -F" " '{print $2}'`
      PROCESS_NAME=`echo $LINE | awk -F" " '{print $3}'`
     LAG_HH=`echo $LINE | awk -F" " '{print $4}'`
       LAG_MM=`echo $LINE | awk -F" " '{print $5}'`
      LAG_SS=`echo $LINE | awk -F" " '{print $6}'`
     if [ "$PROCESS_STATUS" != "RUNNING" ]
    then
      cat $logfile |     mailx -s "GoldenGate Process Not RUNNING on for database $ORACLE_SID" $DBA_EMAIL
     fi
   esac
   done
  cat $logfile1 | mailx -s "Info ... Goldengate process \"on `uname -n`($ORACLE_SID)" $DBA_EMAIL

/u01/acfs/ogg/obey_TROY.txt

if you want to monitor replicat

dblogin UserID ggadmin@TROY, Password ggadmin
info all
lag replicat R_ICJ01
lag replicat R1_ICJ01

if you want to monitor extract and pump use below

dblogin userid ggadmin@ICR01CRM password ggadmin
info all
lag extract  E_ICR01
lag extract  P_ICR01
lag extract  E1_ICR01
lag extract  P1_ICR01

scheduel the job in cron

00,15,30,45 * * * * /u01/acfs/ogg/TROY_gg_monitor.sh > /u01/acfs/ogg/TROY_gg_monitor.log