

# 配置 CloudWatch 日志流
<a name="Appendix.SQLServer.Options.Audit.CloudWatch"></a>

默认情况下，Amazon RDS for SQL Server Audit 会将已完成的审计文件传输到 Amazon S3 存储桶。您也可以将审计日志流式传输到 Amazon CloudWatch Logs（而不是 Amazon S3），或者同时传输到两者。

将审计日志流式传输到 Amazon CloudWatch Logs，您可以执行以下操作：
+ 将审计记录存储在具有您定义的保留期的高持久性存储空间中。
+ 搜索和筛选审计日志数据，并构建指标筛选条件和 CloudWatch 警报。
+ 在账户之间共享日志数据并将其导出到 Amazon S3。
+ 流式传输数据或实时处理数据。

## 启用 CloudWatch 流式传输
<a name="Appendix.SQLServer.Options.Audit.CloudWatch.Enabling"></a>

CloudWatch 流式传输由 `SQLSERVER_AUDIT` 选项上的单个布尔值设置 `PUBLISH_TO_CLOUDWATCH` 控制。将其设置为 `true` 以将审计日志流式传输到 Amazon CloudWatch Logs，或设置为 `false` 以停止。

**注意**  
CloudWatch 发布不需要客户 IAM 角色。当 `PUBLISH_TO_CLOUDWATCH` 为 `true` 时，Amazon RDS 会为您管理将审计日志传输到 Amazon CloudWatch Logs 的过程，您无需为它创建或附加任何 IAM 角色或权限。由于 CloudWatch 可以作为独立的目标，因此 `IAM_ROLE_ARN` 和 `S3_BUCKET_ARN` 是可选的，仅当您还需要 S3 目标时才提供它们。必须至少配置一个目标（CloudWatch 和/或 S3）。

### 在新选项组上
<a name="Appendix.SQLServer.Options.Audit.CloudWatch.NewOG"></a>

将 `SQLSERVER_AUDIT` 选项添加到选项组时（有关完整步骤，请参阅[将 SQL Server Audit 添加到数据库实例选项](Appendix.SQLServer.Options.Audit.Adding.md)），请将 `PUBLISH_TO_CLOUDWATCH` 设置设为 `true`。

### 在现有选项组上
<a name="Appendix.SQLServer.Options.Audit.CloudWatch.ExistingOG"></a>

**在现有选项组上启用 CloudWatch 流式传输功能**

1. 打开 Amazon RDS 控制台，选择**选项组**，然后打开附加到数据库实例的选项组。

1. 选择**修改选项组**。

1. 在现有 `SQLSERVER_AUDIT` 选项上，将 `PUBLISH_TO_CLOUDWATCH` 设置设为 `true`。

1. 保存更改，选择是立即应用它们，还是在下一个维护时段内应用它们。

由于单个选项组可以由多个数据库实例共享，因此，此更改会影响使用该选项组的每个数据库实例。要仅更改一个实例，请为其使用单独的选项组。

选项组处于活动状态后，您无需重启数据库实例，只要更改生效，审计日志就会立即开始流式传输到 Amazon CloudWatch Logs。要停止流式传输，请将 `PUBLISH_TO_CLOUDWATCH` 重新设置为 `false`。

## 审计日志在 CloudWatch 中出现的位置
<a name="Appendix.SQLServer.Options.Audit.CloudWatch.LogGroup"></a>

Amazon RDS 将 SQL Server 审计日志发布到 RDS 管理的 CloudWatch Logs 日志组，该日志组名为：

```
/aws/rds/instance/{{db_instance_name}}/sqlaudit
```

在此日志组中，每个节点都发布到其自己的日志流，日志流由节点标识符标识。对于多可用区（始终开启）实例，主实例和辅助实例分别写入同一 `sqlaudit` 日志组中的单独日志流，按其节点标识符进行区分，因此来自两个副本的审计事件是独立捕获的。

## 版本可用性
<a name="Appendix.SQLServer.Options.Audit.CloudWatch.Versions"></a>

任何支持 SQL Server Audit 的引擎版本均可将审计日志流式传输到 CloudWatch，除了基本 SQL Server Audit 支持之外，没有其它版本限制。