GoldenGate_日常维护和性能调优
OGG日常监控
进程监控的依据
• ggsci命令
– 通过在OGG命令行中查看进程信息命令的输出结果监控进程运行状态
– 常用命令是info命令,如info all, info er*等
– 通过自定义脚本执行ggsci命令可以监控OGG运行状态
• ggserr.log
– 该日志文件由Manager进程维护
– 记录所有进程的启动和停止信息及其它日志信息,按照严重级别划分为INFO/WARNING/ERROR
– 可以通过Director,Monitor,第三方监控工具或自定义脚本监控
• 进程报告
– 进程报告里面包含了该进程从启动至今的运行信息
– 一旦进程中止,是排除错误的首要依据
OGG监控最佳实践 – 使用Director
• 配置告警邮件
– 监控ggserr.log出现Warning和Error信息进行邮件告警
– 可为每个OGG实例、进程设定不同的告警接收人
OGG监控最佳实践 – 使用脚本
使用脚本执行ggsci命令,根据结果判断运行状态,如进程异常可以发送告警邮件,可以将进程报告放到邮件中作为附件
• 脚本示例
#!/usr/bin/ksh
LD_LIBRARY_PATH=/app/oracle/10.2/db_1/lib
ORACLE_SID=ggs
ORACLE_BASE=/app/oracle PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/app/oracle/10.2/db_1/bin SLEEPTIME=30 # number of seconds to sleep between iterations ALERT_EMAIL=oracle@localhost.localdomain #Email address to receive alert message. OGG_HOME=/home/oracle/goldengate #GoldenGate installation directory.
while (( 1 ))
do
cd $OGG_HOME
echo "info all" | ./ggsci |grep -E "MANAGER|EXTRACT|REPLICAT" > gginfo.tmp
while read Program Status Group Lag Time
do
if [ "$Program" = "MANAGER" -a "$Status" = "STOPPED" ]; then
mail -s "GoldenGate MANAGER STOPPED." $ALERT_EMAIL < $OGG_HOME/dirrpt/MGR.rpt exit
else
if [ "$Status" = "ABENDED" -o "$Status" = "STOPPED" ]; then
mail -s "GoldenGate $Program $Group $Status." $ALERT_EMAIL < $OGG_HOME/dirrpt/$Group.rpt fi
if
done < gginfo.tmp
rm gginfo.tmp
sleep $SLEEPTIME
done
exit 0
提示:本例使用mail命令发送有邮件,请联系系统管理员确认或修改发送邮件方法
OGG日常维护