

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用亚马逊监控 Oracle GoldenGate 日志 CloudWatch
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch"></a>

*Chithra Krishnamurthy，Amazon Web Services*

## Summary
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-summary"></a>

甲骨文 GoldenGate 为甲骨文数据库提供亚马逊关系数据库服务（Amazon RDS）之间或托管在亚马逊弹性计算云（Amazon EC2）上的甲骨文数据库之间的实时复制。它支持单向和双向复制。

在使用 GoldenGate 复制时，监控对于验证 GoldenGate 过程是否已启动并运行，以及确保源数据库和目标数据库同步至关重要。

此模式说明了对 GoldenGate 错误日志实施 Amazon CloudWatch 监控的步骤，以及如何设置警报以发送特定事件的通知，例如`STOP`您可以采取适当措施快速恢复复制。`ABEND`

## 先决条件和限制
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-prereqs"></a>

**先决条件**
+ GoldenGate 在 EC2 实例上安装和配置，因此您可以对这些 EC2 实例设置 CloudWatch 监控。如果要 GoldenGate 跨AWS区域监控双向复制，则必须在运行该 GoldenGate 过程的每个 EC2 实例中安装 CloudWatch 代理。

**限制**
+ 此模式说明了如何使用监视 GoldenGate 进程 CloudWatch。 CloudWatch 不监控复制期间的复制延迟或数据同步问题。您必须运行单独的 SQL 查询来监控复制延迟或与数据相关的错误，如[GoldenGate 文档](https://docs.oracle.com/en/middleware/goldengate/core/19.1/index.html)中所述。

**产品版本**
+ 本文档基于 Linux x86-64 上适用于 Oracle 的 Oracle GoldenGate 19.1.0.0.4 的实现。但是，此解决方案适用于的所有主要版本 GoldenGate。

## 架构
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-architecture"></a>

**目标技术堆栈**
+ GoldenGate 安装在 EC2 实例上的 Oracle 二进制文件
+ 亚马逊 CloudWatch
+ Amazon Simple Notification Service（Amazon SNS）

**目标架构**

![\[在 AWS 上监控 GoldenGate 日志的目标架构\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/973a71d5-b6b3-4a2b-813e-cb4d8fd51ba5/images/1781aa9b-77b3-40c4-bc54-3cb91400899c.png)


## 工具
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-tools"></a>

**AWS 服务**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 是一种监控服务，在此模式中用于监控 GoldenGate 错误日志。
+ [Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) 是一种消息通知服务，在此模式中用于发送电子邮件通知。

**其他工具**
+ [Oracle GoldenGate ](https://docs.oracle.com/en/middleware/goldengate/core/19.1/index.html) 是一种数据复制工具，您可以将其用于亚马逊 RDS for Oracle 数据库或托管在 Amazon EC2 上的 Oracle 数据库。

**高级实施步骤**

1. 为代理创建 AWS Identity and Access Managem CloudWatch ent (IAM) 角色。

1. 将 IAM 角色附加到生成 GoldenGate 错误日志的 EC2 实例。

1. 在 EC2 实例上安装 CloudWatch 代理。

1. 配置 CloudWatch 代理配置文件：`awscli.conf`和`awslogs.conf`。

1. 启动代 CloudWatch 理。

1. 在日志组中创建指标筛选器。

1. 设置 Amazon SNS。

1. 为指标筛选条件创建警报。当这些筛选条件捕获事件时，Amazon SNS 会发送电子邮件提醒。

有关详细说明，请参阅下一部分。

## 操作说明
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-epics"></a>

### 步骤 1：为 CloudWatch 代理创建 IAM 角色
<a name="step-1-create-an-iam-role-for-the-cloudwatch-agent"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建 IAM 角色。 | 访问 AWS 资源需要权限，因此您可以创建 IAM 角色以包含每台服务器运行 CloudWatch 代理所需的权限。要创建 IAM 角色：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) | AWS 常规 | 

### 步骤 2：将 IAM 角色附加到 GoldenGate EC2 实例
<a name="step-2-attach-the-iam-role-to-the-goldengate-ec2-instance"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 将 IAM 角色附加到生成 GoldenGate 错误日志的 EC2 实例。 |  GoldenGate 必须将生成的错误日志填充到 CloudWatch 并进行监控，因此您需要将您在步骤 1 中创建的 IAM 角色附加到 GoldenGate 正在运行的 EC2 实例。将 IAM 角色附加到实例：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) | AWS 常规 | 

### 步骤 3-5。在 Gold CloudWatch engate EC2 实例上安装和配置代理
<a name="steps-3-5-install-and-configure-the-cloudwatch-agent-on-the-goldengate-ec2-instance"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在 GoldenGate EC2 实例上安装 CloudWatch 代理。 | 要安装代理，请运行命令：<pre>sudo yum install -y awslogs</pre> | AWS 常规 | 
| 编辑代理配置文件。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) | AWS 常规 | 
| 启动代 CloudWatch 理。 | 要启动代理，请使用以下命令。<pre>$ sudo service awslogsd start</pre>启动代理后，可以在 CloudWatch 控制台中查看日志组。日志流将包含文件的内容。 | AWS 常规 | 

### 步骤 6. 创建日志组的指标筛选条件
<a name="step-6-create-metric-filters-for-the-log-group"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为关键字 ABEND 和 STOPPED 创建指标筛选器。 | 当您为日志组创建指标筛选条件时，只要在错误日志中识别出筛选条件，它就会启动警报并根据 Amazon SNS 配置发送电子邮件通知。创建指标筛选条件：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) | CloudWatch | 

### 第 7 步。设置 Amazon SNS
<a name="step-7-set-up-amazon-sns"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建一个 SNS 主题。 | 在此步骤中，您将配置 Amazon SNS 以为指标筛选条件创建警报。创建 SNS 主题：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html) | Amazon SNS | 
| 创建订阅。 | 要创建主题订阅：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html)Amazon SNS 会打开您的 Web 浏览器，并显示带有您的订阅 ID 的订阅确认信息。 | Amazon SNS | 

### 步骤 8：创建警报以发送指标筛选器的通知
<a name="step-8-create-an-alarm-to-send-notifications-for-the-metric-filters"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为 SNS 主题创建警报。 | 要根据日志组指标筛选条件创建警报：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html)完成这些步骤后，每当在您监控的 GoldenGate 错误日志文件 (`ggserr.log`) 中检测到这些模式时，您都会收到一封电子邮件通知。 | CloudWatch | 

## 问题排查
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-troubleshooting"></a>


| 问题 | 解决方案 | 
| --- | --- | 
|  GoldenGate 错误日志中的日志流不会流入 CloudWatch。 | 检查`/etc/awslogs/awslogs.conf`文件以验证文件名、日志组名称和 date/time 格式。必须指定 date/time 与中的日期格式相匹配`ggserror.log`。否则，日志流将不会流入 CloudWatch。 | 

## 相关资源
<a name="monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch-resources"></a>
+ [亚马逊 CloudWatch 文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [使用 CloudWatch 代理收集指标和日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [Amazon SNS 文档](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)