1. 首页 > GoldenGate教程 > 正文

GoldenGate教程FG053-OGG监控告警配置(邮件/短信)实战

本文档风哥主要介绍Oracle GoldenGate监控告警系统的配置方法,包括邮件告警、短信告警、自定义脚本告警等多种方式的配置实战,风哥教程参考GoldenGate官方文档Manager进程配置、事件处理等内容,适合OGG运维人员在生产环境中搭建完善的监控告警体系。

Part01-基础概念与理论知识

1.1 OGG监控告警概念与重要性

Oracle GoldenGate监控告警是指对OGG运行状态进行实时监控,当出现异常情况时及时发送告警通知的机制。完善的监控告警体系是保障OGG稳定运行的关键。更多视频教程www.fgedu.net.cn

OGG监控告警的重要性:

  • 及时发现进程异常(停止、延迟等)
  • 快速响应故障,减少业务影响
  • 保障数据同步的连续性和一致性
  • 满足运维合规要求
  • 提升运维效率和响应速度
# OGG监控告警架构
OGG进程 –> Manager进程 –> 事件检测 –> 告警触发 –> 通知发送 –> 运维人员
| | | | |
运行状态 监控管理 异常检测 规则匹配 邮件/短信

# 监控告警核心组件
1. Manager进程:OGG主管理进程,负责监控其他进程
2. 事件处理:检测进程状态变化、延迟等事件
3. 告警规则:定义告警触发条件和通知方式
4. 通知渠道:邮件服务器、短信网关、脚本执行等

1.2 OGG监控告警类型与场景

OGG支持多种监控告警类型,覆盖不同的运维场景:

# 进程状态告警
| 告警类型 | 触发条件 | 严重级别 |
|—————-|—————————|———-|
| 进程停止 | Extract/Replicat停止运行 | 严重 |
| 进程异常 | 进程状态为Abended | 严重 |
| 进程重启 | 进程频繁重启 | 警告 |

# 延迟告警
| 告警类型 | 触发条件 | 严重级别 |
|—————-|—————————|———-|
| 同步延迟 | 延迟超过阈值(如5分钟) | 警告 |
| 严重延迟 | 延迟超过阈值(如30分钟) | 严重 |
| 检查点延迟 | 检查点更新超时 | 警告 |

# 资源告警
| 告警类型 | 触发条件 | 严重级别 |
|—————-|—————————|———-|
| 磁盘空间 | Trail文件目录空间不足 | 严重 |
| 内存使用 | OGG进程内存使用过高 | 警告 |
| 文件句柄 | 打开文件数过多 | 警告 |

# 错误告警
| 告警类型 | 触发条件 | 严重级别 |
|—————-|—————————|———-|
| 数据库连接 | 无法连接数据库 | 严重 |
| Trail文件错误 | Trail文件损坏或丢失 | 严重 |
| 数据校验错误 | 数据不一致 | 严重 |

1.3 OGG监控告警方式对比

OGG支持多种告警通知方式,各有优缺点:

# 方式1:邮件告警
优点:
– 配置简单,成本低
– 支持详细信息传递
– 可保存历史记录

缺点:
– 实时性较差
– 可能被拦截或忽略
– 需要邮件服务器支持

适用场景:一般告警、日报通知

# 方式2:短信告警
优点:
– 实时性强,到达率高
– 随时随地接收
– 适合紧急告警

缺点:
– 成本较高
– 信息量有限
– 需要短信网关支持

适用场景:严重告警、紧急故障

# 方式3:企业微信/钉钉告警
优点:
– 实时性好
– 支持富文本信息
– 可集成到工作流

缺点:
– 需要API接口支持
– 配置相对复杂

适用场景:团队协作、日常运维

# 方式4:自定义脚本告警
优点:
– 灵活性高
– 可对接各种系统
– 支持复杂逻辑

缺点:
– 开发成本高
– 维护复杂

适用场景:特殊需求、系统集成

风哥提示:生产环境建议组合使用多种告警方式,严重告警使用短信或电话通知,一般告警使用邮件或企业微信通知,确保告警及时送达。学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 OGG监控告警规划建议

在生产环境中实施监控告警前,需要进行详细规划:

监控告警规划要点:

  • 确定监控指标和告警阈值
  • 设计告警级别和升级策略
  • 规划通知渠道和接收人员
  • 制定告警处理流程
  • 准备告警测试方案
# 告警级别定义
级别1 – 紧急(Critical)
– 进程停止
– 数据丢失
– 严重延迟(>30分钟)
– 通知方式:短信+电话+邮件

级别2 – 严重(Major)
– 进程异常
– 中等延迟(>10分钟)
– 磁盘空间不足
– 通知方式:短信+邮件

级别3 – 警告(Warning)
– 轻微延迟(>5分钟)
– 资源使用偏高
– 通知方式:邮件

级别4 – 提示(Info)
– 日常状态报告
– 配置变更通知
– 通知方式:邮件

# 告警升级策略
1. 首次告警:发送给一线运维人员
2. 15分钟未处理:升级给运维主管
3. 30分钟未处理:升级给IT经理
4. 1小时未处理:升级给CTO

2.2 OGG告警阈值配置规划

合理的告警阈值是监控告警有效性的关键:

# 进程状态监控阈值
| 监控项 | 警告阈值 | 严重阈值 | 检查频率 |
|—————-|———–|———–|———-|
| 进程停止 | 立即 | 立即 | 1分钟 |
| 进程异常 | 立即 | 立即 | 1分钟 |
| 进程重启次数 | 3次/小时 | 5次/小时 | 5分钟 |

# 延迟监控阈值
| 监控项 | 警告阈值 | 严重阈值 | 检查频率 |
|—————-|———–|———–|———-|
| Extract延迟 | 5分钟 | 30分钟 | 1分钟 |
| Replicat延迟 | 5分钟 | 30分钟 | 1分钟 |
| 检查点延迟 | 10分钟 | 60分钟 | 5分钟 |

# 资源监控阈值
| 监控项 | 警告阈值 | 严重阈值 | 检查频率 |
|—————-|———–|———–|———-|
| 磁盘使用率 | 80% | 90% | 5分钟 |
| 内存使用率 | 80% | 90% | 5分钟 |
| CPU使用率 | 80% | 95% | 5分钟 |
| 文件句柄数 | 80% | 90% | 10分钟 |

# Trail文件监控阈值
| 监控项 | 警告阈值 | 严重阈值 | 检查频率 |
|—————-|———–|———–|———-|
| Trail文件数量 | 100个 | 200个 | 10分钟 |
| Trail文件大小 | 50GB | 100GB | 10分钟 |
| 最旧Trail时间 | 24小时 | 48小时 | 30分钟 |

2.3 OGG通知渠道规划

规划合理的通知渠道和接收人员:

# 通知渠道配置
# 邮件服务器配置
SMTP服务器:smtp.fgedu.net.cn
SMTP端口:465(SSL)
发件人:ogg-alert@fgedu.net.cn
认证用户:ogg-alert
认证密码:********

# 短信网关配置
网关地址:http://sms.fgedu.net.cn/api/send
API密钥:********
签名:【风哥教程】

# 企业微信配置
Webhook地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx

# 接收人员配置
| 角色 | 姓名 | 邮箱 | 手机 | 企业微信 |
|—————-|———|———————|————-|———-|
| 一线运维 | 张三 | zhangsan@fgedu.net | 138****1234 | 张三 |
| 二线运维 | 李四 | lisi@fgedu.net | 139****5678 | 李四 |
| 运维主管 | 王五 | wangwu@fgedu.net | 137****9012 | 王五 |
| IT经理 | 赵六 | zhaoliu@fgedu.net | 136****3456 | 赵六 |

# 值班安排
工作日:8:00-18:00 – 一线运维
工作日:18:00-8:00 – 二线运维
周末/节假日:二线运维轮值

风哥提示:告警阈值设置要合理,避免告警风暴(阈值过低)或告警遗漏(阈值过高)。建议先在测试环境验证,再应用到生产环境。学习交流加群风哥QQ113257174

Part03-生产环境项目实施方案

3.1 OGG邮件告警配置实战

3.1.1 配置Manager进程邮件告警

# 步骤1:编辑Manager参数文件
GGSCI (fgedu.net.cn)> EDIT PARAMS MGR

PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— 邮件告警配置
MAILPROG /usr/sbin/sendmail
MAILALERTS ALL
MAILOPTIONS FROM “ogg-alert@fgedu.net.cn” TO “dba@fgedu.net.cn”

— 进程事件告警
EVENTMGRSTARTED START E_FGEDU01
EVENTMGRSTOPPED STOP *
EVENTEXTRACTSTARTED INFO E_FGEDU01
EVENTEXTRACTSTOPPED INFO E_FGEDU01
EVENTREPLICATSTARTED INFO R_FGEDU01
EVENTREPLICATSTOPPED INFO R_FGEDU01

# 步骤2:重启Manager进程
GGSCI (fgedu.net.cn)> STOP MGR
GGSCI (fgedu.net.cn)> START MGR

Manager started.

# 步骤3:验证邮件配置
GGSCI (fgedu.net.cn)> SEND MGR GETMAILINFO

Mail program: /usr/sbin/sendmail
From address: ogg-alert@fgedu.net.cn
To addresses: dba@fgedu.net.cn

# 步骤4:测试邮件发送
GGSCI (fgedu.net.cn)> SEND MGR TESTMAIL

Sending test mail to dba@fgedu.net.cn…
Test mail sent successfully.

3.1.2 配置进程延迟邮件告警

# 步骤1:配置Extract进程延迟告警
GGSCI (fgedu.net.cn)> EDIT PARAMS E_FGEDU01

EXTRACT E_FGEDU01
USERIDALIAS fgedu_alias
EXTTRAIL /GoldenGate/app/dirdat/ef

— 延迟告警配置
LAGCRITICALMINUTES 30
LAGWARNINGMINUTES 5
LAGREPORTMINUTES 1

TABLE fgedu01.fgedu_orders;
TABLE fgedu01.fgedu_products;

# 步骤2:配置Replicat进程延迟告警
GGSCI (fgedu.net.cn)> EDIT PARAMS R_FGEDU01

REPLICAT R_FGEDU01
USERIDALIAS fgedu_alias
ASSUMETARGETDEFS

— 延迟告警配置
LAGCRITICALMINUTES 30
LAGWARNINGMINUTES 5
LAGREPORTMINUTES 1

MAP fgedu01.fgedu_orders, TARGET fgedu02.fgedu_orders;
MAP fgedu01.fgedu_products, TARGET fgedu02.fgedu_products;

# 步骤3:重启进程使配置生效
GGSCI (fgedu.net.cn)> STOP E_FGEDU01
GGSCI (fgedu.net.cn)> START E_FGEDU01

GGSCI (fgedu.net.cn)> STOP R_FGEDU01
GGSCI (fgedu.net.cn)> START R_FGEDU01

# 步骤4:验证延迟告警配置
GGSCI (fgedu.net.cn)> INFO E_FGEDU01

EXTRACT E_FGEDU01 Last Started 2026-04-10 10:00:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
Lag Critical Minutes 30
Lag Warning Minutes 5

3.2 OGG短信告警配置实战

3.2.1 配置短信网关集成

# 步骤1:创建短信发送脚本
$ vi /GoldenGate/app/scripts/send_sms.sh

#!/bin/bash
# send_sms.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

SMS_GATEWAY=”http://sms.fgedu.net.cn/api/send”
SMS_API_KEY=”your_api_key_here”
SMS_SIGN=”【风哥教程】”

MOBILE=$1
MESSAGE=$2

curl -s -X POST “${SMS_GATEWAY}” \
-H “Content-Type: application/json” \
-d “{
\”api_key\”: \”${SMS_API_KEY}\”,
\”mobile\”: \”${MOBILE}\”,
\”message\”: \”${SMS_SIGN}${MESSAGE}\”
}”

# 赋予执行权限
$ chmod +x /GoldenGate/app/scripts/send_sms.sh

# 步骤2:测试短信发送
$ /GoldenGate/app/scripts/send_sms.sh “138****1234” “OGG告警测试:这是一条测试短信”

{“code”:0,”message”:”success”,”msg_id”:”12345678″}

# 步骤3:配置Manager调用短信脚本
GGSCI (fgedu.net.cn)> EDIT PARAMS MGR

PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— 进程停止告警
EVENTEXTRACTSTOPPED SHELL “/GoldenGate/app/scripts/send_sms.sh 138****1234 ‘OGG告警:Extract进程E_FGEDU01已停止'”
EVENTREPLICATSTOPPED SHELL “/GoldenGate/app/scripts/send_sms.sh 138****1234 ‘OGG告警:Replicat进程R_FGEDU01已停止'”

— 进程异常告警
EVENTEXTRACTABENDED SHELL “/GoldenGate/app/scripts/send_sms.sh 138****1234 ‘OGG告警:Extract进程E_FGEDU01异常终止'”
EVENTREPLICATABENDED SHELL “/GoldenGate/app/scripts/send_sms.sh 138****1234 ‘OGG告警:Replicat进程R_FGEDU01异常终止'”

# 步骤4:重启Manager使配置生效
GGSCI (fgedu.net.cn)> STOP MGR
GGSCI (fgedu.net.cn)> START MGR

3.2.2 配置延迟短信告警

# 步骤1:创建延迟监控脚本
$ vi /GoldenGate/app/scripts/check_lag.sh

#!/bin/bash
# check_lag.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

OGG_HOME=/GoldenGate/app
LAG_WARNING=300
LAG_CRITICAL=1800
SMS_SCRIPT=/GoldenGate/app/scripts/send_sms.sh
SMS_MOBILE=”138****1234″

cd $OGG_HOME

# 检查Extract延迟
EXTRACT_LAG=$(./ggsci <> /GoldenGate/app/ggserr.log 2>&1

# 步骤3:验证脚本执行
$ /GoldenGate/app/scripts/check_lag.sh

# 步骤4:查看执行日志
$ tail -f /GoldenGate/app/ggserr.log

2026-04-10 10:05:00 INFO OGG延迟检查开始
2026-04-10 10:05:01 INFO Extract延迟: 00:00:02
2026-04-10 10:05:02 INFO Replicat延迟: 00:00:03
2026-04-10 10:05:02 INFO OGG延迟检查完成

风哥提示:短信告警成本较高,建议只对严重告警使用短信通知,一般告警使用邮件或企业微信通知。同时要配置告警静默时间,避免同一问题重复发送大量短信。更多学习教程公众号风哥教程itpux_com

3.3 OGG自定义脚本告警实战

3.3.1 配置综合监控脚本

# 步骤1:创建综合监控脚本
$ vi /GoldenGate/app/scripts/ogg_monitor.sh

#!/bin/bash
# ogg_monitor.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

OGG_HOME=/GoldenGate/app
LOG_FILE=/GoldenGate/app/logs/monitor.log
ALERT_LOG=/GoldenGate/app/logs/alert.log
EMAIL_TO=”dba@fgedu.net.cn”
SMS_MOBILE=”138****1234″

# 日志函数
log() {
echo “$(date ‘+%Y-%m-%d %H:%M:%S’) $1″ >> $LOG_FILE
}

# 邮件发送函数
send_email() {
local subject=”$1″
local body=”$2”
echo “$body” | mail -s “$subject” $EMAIL_TO
log “邮件已发送: $subject”
}

# 短信发送函数
send_sms() {
local message=”$1″
/GoldenGate/app/scripts/send_sms.sh “$SMS_MOBILE” “$message”
log “短信已发送: $message”
}

# 检查进程状态
check_process_status() {
cd $OGG_HOME

# 获取进程状态
STATUS=$(./ggsci <> $ALERT_LOG
fi

# 检查异常的进程
ABENDED=$(echo “$STATUS” | grep “ABENDED” | awk ‘{print $3}’)
if [ -n “$ABENDED” ]; then
send_email “OGG严重告警:进程异常终止” “以下进程异常终止:\n$ABENDED”
send_sms “OGG严重告警:进程$ABENDED异常终止”
echo “$(date ‘+%Y-%m-%d %H:%M:%S’) 进程异常: $ABENDED” >> $ALERT_LOG
fi
}

# 检查延迟
check_lag() {
cd $OGG_HOME

# 检查Extract延迟
EXTRACT_INFO=$(./ggsci <

3.3.2 配置企业微信告警

# 步骤1:创建企业微信告警脚本
$ vi /GoldenGate/app/scripts/send_wechat.sh

#!/bin/bash
# send_wechat.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

WEBHOOK_URL=”https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key_here”

MESSAGE=$1

curl -s -X POST “${WEBHOOK_URL}” \
-H “Content-Type: application/json” \
-d “{
\”msgtype\”: \”markdown\”,
\”markdown\”: {
\”content\”: \”${MESSAGE}\”
}
}”

# 步骤2:赋予执行权限
$ chmod +x /GoldenGate/app/scripts/send_wechat.sh

# 步骤3:测试企业微信告警
$ /GoldenGate/app/scripts/send_wechat.sh “## OGG告警通知\n> 进程状态:异常\n> 延迟:5分钟\n> 时间:$(date)”

{“errcode”:0,”errmsg”:”ok”}

# 步骤4:集成到监控脚本
# 在ogg_monitor.sh中添加企业微信通知函数
send_wechat() {
local message=”$1″
/GoldenGate/app/scripts/send_wechat.sh “$message”
log “企业微信已发送: $message”
}

Part04-生产案例与实战讲解

4.1 OGG监控告警生产案例

某银行OGG监控告警系统实施案例:

# 项目背景
– 环境:OGG 19c 双向同步
– 源端:Oracle 19c RAC(生产库)
– 目标端:Oracle 19c 单机(灾备库)
– 监控需求:7×24小时实时监控

# 监控告警架构
1. Manager进程事件监控
2. 自定义脚本定时监控
3. 企业微信实时通知
4. 短信紧急告警
5. 邮件详细报告

# 监控配置
# Manager配置
PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS, MINKEEP 24 HOURS

— 邮件配置
MAILPROG /usr/sbin/sendmail
MAILALERTS ALL
MAILOPTIONS FROM “ogg-alert@bank.com” TO “dba-team@bank.com”

— 事件告警
EVENTEXTRACTSTOPPED SHELL “/GoldenGate/app/scripts/alert.sh EXTRACT_STOPPED E_FGEDU01”
EVENTEXTRACTABENDED SHELL “/GoldenGate/app/scripts/alert.sh EXTRACT_ABENDED E_FGEDU01”
EVENTREPLICATSTOPPED SHELL “/GoldenGate/app/scripts/alert.sh REPLICAT_STOPPED R_FGEDU01”
EVENTREPLICATABENDED SHELL “/GoldenGate/app/scripts/alert.sh REPLICAT_ABENDED R_FGEDU01″

# 告警脚本
#!/bin/bash
# alert.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

ALERT_TYPE=$1
PROCESS_NAME=$2
TIMESTAMP=$(date ‘+%Y-%m-%d %H:%M:%S’)

case $ALERT_TYPE in
EXTRACT_STOPPED)
MESSAGE=”OGG告警:Extract进程${PROCESS_NAME}已停止,时间:${TIMESTAMP}”
;;
EXTRACT_ABENDED)
MESSAGE=”OGG严重告警:Extract进程${PROCESS_NAME}异常终止,时间:${TIMESTAMP}”
;;
REPLICAT_STOPPED)
MESSAGE=”OGG告警:Replicat进程${PROCESS_NAME}已停止,时间:${TIMESTAMP}”
;;
REPLICAT_ABENDED)
MESSAGE=”OGG严重告警:Replicat进程${PROCESS_NAME}异常终止,时间:${TIMESTAMP}”
;;
esac

# 发送企业微信
/GoldenGate/app/scripts/send_wechat.sh “## OGG告警通知\n> ${MESSAGE}”

# 严重告警发送短信
if [[ $ALERT_TYPE == *”ABENDED”* ]]; then
/GoldenGate/app/scripts/send_sms.sh “138****1234” “$MESSAGE”
fi

# 发送邮件
echo “$MESSAGE” | mail -s “OGG告警” dba-team@bank.com

# 监控效果
– 告警响应时间:从30分钟缩短到1分钟
– 故障发现率:从80%提升到99%
– 误报率:控制在5%以下
– 运维效率:提升50%
from GoldenGate视频:www.itpux.com

4.2 OGG监控告警常见问题处理

# 问题1:邮件发送失败
# 错误现象
GGSCI (fgedu.net.cn)> SEND MGR TESTMAIL
Sending test mail…
Error sending mail: Connection refused

# 原因分析
邮件服务器配置错误或网络不通

# 解决方案
# 1. 检查邮件服务器连接
$ telnet smtp.fgedu.net.cn 25
Trying 192.168.1.100…
Connected to smtp.fgedu.net.cn.

# 2. 检查sendmail配置
$ cat /etc/mail/sendmail.mc | grep SMART_HOST
define(`SMART_HOST’, `smtp.fgedu.net.cn’)

# 3. 重启sendmail服务
$ systemctl restart sendmail

# 4. 重新测试
GGSCI (fgedu.net.cn)> SEND MGR TESTMAIL
Test mail sent successfully.

# 问题2:告警风暴
# 错误现象
短时间内收到大量重复告警

# 原因分析
未配置告警静默时间

# 解决方案
# 在监控脚本中添加告警静默逻辑
ALERT_LOCK=”/tmp/ogg_alert.lock”
ALERT_INTERVAL=300 # 5分钟

if [ -f “$ALERT_LOCK” ]; then
LOCK_TIME=$(cat $ALERT_LOCK)
CURRENT_TIME=$(date +%s)
DIFF=$((CURRENT_TIME – LOCK_TIME))

if [ $DIFF -lt $ALERT_INTERVAL ]; then
echo “告警静默中,跳过本次告警”
exit 0
fi
fi

# 发送告警后记录时间
date +%s > $ALERT_LOCK

# 问题3:脚本执行权限问题
# 错误现象
$ /GoldenGate/app/scripts/ogg_monitor.sh
Permission denied

# 解决方案
# 检查脚本权限
$ ls -l /GoldenGate/app/scripts/ogg_monitor.sh
-rw-r–r– 1 root root 1234 Apr 10 10:00 ogg_monitor.sh

# 赋予执行权限
$ chmod +x /GoldenGate/app/scripts/*.sh

# 验证权限
$ ls -l /GoldenGate/app/scripts/ogg_monitor.sh
-rwxr-xr-x 1 root root 1234 Apr 10 10:00 ogg_monitor.sh

4.3 OGG监控告警问题解决方案

# 解决方案1:监控脚本日志轮转
#!/bin/bash
# log_rotate.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

LOG_DIR=/GoldenGate/app/logs
LOG_FILE=monitor.log
MAX_SIZE=10485760 # 10MB
MAX_FILES=7

cd $LOG_DIR

# 检查日志文件大小
if [ -f “$LOG_FILE” ]; then
SIZE=$(stat -f%z “$LOG_FILE” 2>/dev/null || stat -c%s “$LOG_FILE”)

if [ $SIZE -gt $MAX_SIZE ]; then
# 轮转日志
for i in $(seq $((MAX_FILES-1)) -1 1); do
if [ -f “${LOG_FILE}.$i” ]; then
mv “${LOG_FILE}.$i” “${LOG_FILE}.$((i+1))”
fi
done

mv “$LOG_FILE” “${LOG_FILE}.1”
touch “$LOG_FILE”
fi
fi

# 解决方案2:监控数据采集与展示
# 使用Prometheus采集OGG监控数据

# 创建监控数据导出脚本
$ vi /GoldenGate/app/scripts/prometheus_exporter.sh

#!/bin/bash
# prometheus_exporter.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

cd /GoldenGate/app

# 获取进程状态
STATUS=$(./ggsci </dev/null | grep -E “EXTRACT|REPLICAT”
INFO ALL
EOF
)

# 输出Prometheus格式指标
echo “# HELP ogg_process_status OGG process status (1=running, 0=stopped)”
echo “# TYPE ogg_process_status gauge”

echo “$STATUS” | while read line; do
PROCESS=$(echo $line | awk ‘{print $3}’)
STATE=$(echo $line | awk ‘{print $2}’)

if [ “$STATE” = “RUNNING” ]; then
echo “ogg_process_status{process=\”$PROCESS\”} 1″
else
echo “ogg_process_status{process=\”$PROCESS\”} 0″
fi
done

# 解决方案3:告警历史记录查询
# 创建告警历史查询脚本
$ vi /GoldenGate/app/scripts/query_alert.sh

#!/bin/bash
# query_alert.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

ALERT_LOG=/GoldenGate/app/logs/alert.log
DAYS=$1

if [ -z “$DAYS” ]; then
DAYS=7
fi

echo “=== 最近${DAYS}天告警记录 ===”
echo “”

find /GoldenGate/app/logs -name “alert*.log” -mtime -$DAYS -exec cat {} \; | \
sort | uniq -c | sort -rn | head -20

echo “”
echo “=== 告警统计 ===”
echo “总告警数: $(find /GoldenGate/app/logs -name “alert*.log” -mtime -$DAYS -exec cat {} \; | wc -l)”
echo “严重告警: $(find /GoldenGate/app/logs -name “alert*.log” -mtime -$DAYS -exec cat {} \; | grep -c “严重”)”
echo “警告告警: $(find /GoldenGate/app/logs -name “alert*.log” -mtime -$DAYS -exec cat {} \; | grep -c “警告”)”

# 执行查询
$ ./query_alert.sh 7

=== 最近7天告警记录 ===

15 2026-04-10 进程停止: E_FGEDU01
8 2026-04-09 延迟告警: Replicat延迟超过5分钟
5 2026-04-08 磁盘使用率: 85%

=== 告警统计 ===
总告警数: 28
严重告警: 15
警告告警: 13

Part05-风哥经验总结与分享

5.1 OGG监控告警最佳实践

根据多年生产环境实战经验,总结以下监控告警最佳实践:

OGG监控告警最佳实践:

  • 建立完善的监控告警体系
  • 合理设置告警阈值
  • 配置告警静默机制
  • 建立告警处理流程
  • 定期检查告警有效性
# 最佳实践1:监控告警配置模板
# Manager配置
PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— 邮件告警
MAILPROG /usr/sbin/sendmail
MAILALERTS ALL
MAILOPTIONS FROM “ogg-alert@fgedu.net.cn” TO “dba@fgedu.net.cn”

— 事件告警
EVENTEXTRACTSTOPPED SHELL “/GoldenGate/app/scripts/alert.sh EXTRACT_STOPPED”
EVENTEXTRACTABENDED SHELL “/GoldenGate/app/scripts/alert.sh EXTRACT_ABENDED”
EVENTREPLICATSTOPPED SHELL “/GoldenGate/app/scripts/alert.sh REPLICAT_STOPPED”
EVENTREPLICATABENDED SHELL “/GoldenGate/app/scripts/alert.sh REPLICAT_ABENDED”

# 最佳实践2:告警分级处理
级别1(紧急):
– 进程异常终止
– 数据丢失风险
– 处理时间:< 5分钟 级别2(严重): - 进程停止 - 严重延迟 - 处理时间:< 15分钟 级别3(警告): - 轻微延迟 - 资源紧张 - 处理时间:< 1小时 级别4(提示): - 状态变化 - 配置变更 - 处理时间:< 4小时 # 最佳实践3:告警有效性检查 - 每周检查告警统计 - 分析误报和漏报 - 调整告警阈值 - 优化告警规则

5.2 OGG监控告警检查清单

# 监控告警部署检查
[ ] Manager进程配置正确
[ ] 邮件服务器连接正常
[ ] 短信网关配置正确
[ ] 企业微信Webhook配置正确
[ ] 监控脚本执行权限正确
[ ] 定时任务配置正确
[ ] 告警测试通过

# 监控告警日常检查
[ ] 告警发送正常
[ ] 告警接收正常
[ ] 无告警风暴
[ ] 告警处理及时
[ ] 监控日志正常

# 监控告警优化检查
[ ] 告警阈值合理
[ ] 告警级别正确
[ ] 告警静默有效
[ ] 通知渠道畅通
[ ] 处理流程完善

5.3 风哥实战经验总结

在多年OGG项目实施过程中,总结以下监控告警实战经验:

风哥实战经验:

  • 监控告警是OGG运维的核心保障
  • 告警不在多,而在准
  • 建立告警处理SOP流程
  • 定期演练告警响应
  • 持续优化告警规则
# 经验1:告警设计原则
– 及时性:发现问题立即告警
– 准确性:减少误报和漏报
– 可操作性:告警信息包含处理建议
– 可追溯性:记录告警历史

# 经验2:告警处理流程
1. 接收告警通知
2. 确认告警级别
3. 初步分析原因
4. 执行处理措施
5. 验证处理结果
6. 记录处理过程
7. 总结改进措施

# 经验3:监控告警工具推荐
– OGG内置:Manager事件监控
– 脚本监控:Shell脚本定时检查
– 企业微信:实时通知,团队协作
– Prometheus+Grafana:可视化监控
– Zabbix:企业级监控平台

风哥提示:监控告警是OGG运维的生命线,务必重视。建议建立完善的监控告警体系,定期检查和优化,确保OGG稳定运行。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息