

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift Serverless 的审计日志记录
<a name="serverless-audit-logging"></a>

您可以配置 Amazon Redshift Serverless，以将连接、用户和用户活动日志数据导出到 Amazon CloudWatch Logs 中的日志组。利用 Amazon CloudWatch Logs 可以对日志数据进行实时分析，并使用 CloudWatch 创建告警和查看指标。您可使用 CloudWatch Logs 在持久性存储中存储日志记录。

您可以使用 Amazon Redshift 控制台创建 CloudWatch 警报来跟踪您的指标。有关创建警报的更多信息，请参阅[管理警报](https://docs.amazonaws.cn/redshift/latest/mgmt/performance-metrics-alarms.html)。

要将生成的日志数据导出到 Amazon CloudWatch Logs，必须在控制台上的 Amazon Redshift Serverless 配置设置中选择要导出的相应日志。要执行此操作，您可以在**安全和加密**下选择**命名空间配置**设置。

## CloudWatch 中的日志事件
<a name="db-auditing-manage-logs-cloudwatch-monitoring"></a>

在选择要导出的 Redshift 日志后，您可以在 Amazon CloudWatch Logs 中监控事件。系统将自动为 Amazon Redshift Serverless 创建新的日志组，其中 `log_type` 表示日志类型。

```
/aws/redshift/<namespace>/<log_type>
```

创建第一个工作组和命名空间时，*default* 是命名空间名称。日志组名称则根据您对命名空间的命名而异。

例如，如果您导出连接日志，则日志数据将存储在以下日志组中。

```
/aws/redshift/default/connectionlog
```

使用无服务器日志流将日志事件导出到日志组。该行为取决于以下哪些条件为真：
+ **存在包含指定名称的日志组。**Redshift 使用现有日志组导出日志数据。您可以使用自动化配置，例如由 **Amazon CloudFormation** 提供的配置，创建具有预定义日志保留期、指标筛选条件和客户访问的日志组。
+ **具有指定名称的日志组不存在。**当在实例的日志中检测到匹配的日志条目时，Amazon Redshift Serverless 会自动在 Amazon CloudWatch Logs 中创建一个新的日志组。日志组使用*永不过期*的默认日志保留期。要更改日志保留期，请使用 Amazon CloudWatch Logs 控制台、Amazon CLI 或 Amazon CloudWatch Logs API。有关在 CloudWatch Logs 中更改日志留存期的更多信息，请参阅*使用日志组和日志流*中的[更改日志数据留存](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。

要在日志事件中搜索信息，请使用 Amazon CloudWatch Logs 控制台、Amazon CLI 或 Amazon CloudWatch Logs API。有关搜索和筛选日志数据的更多信息，请参阅[搜索和筛选日志数据](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/MonitoringLogData.html)。

## CloudWatch 指标
<a name="db-auditing-manage-logs-cloudwatch-monitoring-metrics"></a>

Amazon Redshift Serverless 指标分为计算指标以及数据和存储指标，分别属于工作组和命名空间维度集。有关工作组和命名空间的更多信息，请参阅[工作组和命名空间](https://docs.amazonaws.cn/redshift/latest/mgmt/serverless-workgroups-and-namespaces.html)。

CloudWatch 计算指标如下所示：


| 指标名称 | 单位 | 说明 | 维度集 | 
| --- | --- | --- | --- | 
| QueriesCompletedPerSecond | 查询数 | 每秒完成的查询数。 | \$1Database、LatencyRange、Workgroup\$1，\$1LatencyRange、Workgroup\$1 | 
| QueryDuration | 微秒 | 完成查询的平均时间量。 | \$1Database、LatencyRange、Workgroup\$1，\$1LatencyRange、Workgroup\$1 | 
| QueriesRunning | 查询数 | 一个时间点运行的查询数。 | \$1Database、QueryType、Workgroup\$1，\$1QueryType、Workgroup\$1 | 
| QueriesQueued | 查询数 | 某个时间点在队列中的查询数。 | \$1Database、QueryType、Workgroup\$1，\$1QueryType、Workgroup\$1 | 
| DatabaseConnections | 连接数 | 一个时间点与数据库的连接数。 | \$1Database、Workgroup\$1，\$1Workgroup\$1 | 
| QueryRuntimeBreakdown | 毫秒 | 查询在各个查询阶段运行所花费的总时间。 | \$1Database、Stage、Workgroup\$1，\$1Stage、Workgroup\$1 | 
| ComputeCapacity | RPU | 过去 30 分钟内分配的平均计算单位数，向上舍入到最近的整数。 | \$1Workgroup\$1 | 
| ComputeSeconds | RPU 秒 | 过去 30 分钟内消耗的累计计算单位秒数。 | \$1Workgroup\$1 | 
| QueriesSucceeded | 查询数 | 过去 5 分钟内成功的查询数。 | \$1Database、QueryType、Workgroup\$1，\$1QueryType、Workgroup\$1 | 
| QueriesFailed | 查询数 | 过去 5 分钟内失败的查询数。 | \$1Database、QueryType、Workgroup\$1，\$1QueryType、Workgroup\$1 | 
| UsageLimitAvailable | RPU 小时或 TB | 根据 UsageType，UsageLimitAvailable 将返回以下内容： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/mgmt/serverless-audit-logging.html)  | \$1UsageLimitId、UsageType、Workgroup\$1 | 
| UsageLimitConsumed | RPU 小时或 TB | 根据 UsageType，UsageLimitConsumed 会返回以下内容： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/mgmt/serverless-audit-logging.html)  | \$1UsageLimitId、UsageType、Workgroup\$1 | 
| ExtraComputeForAutomaticOptimizationChargedSeconds | RPU 秒 | 过去 30 分钟内针对自动优化操作收取的计算单位秒数。  | \$1Workgroup\$1 | 

CloudWatch 数据和存储指标如下所示：


| 指标名称 | 单位 | 说明 | 维度集 | 
| --- | --- | --- | --- | 
| TotalTableCount | 表的数量 | 在特定时间点存在的用户表的数量。此总数不包括 Amazon Redshift Spectrum 表。 | \$1Database、Namespace\$1 | 
| DataStorage | 兆字节 | 在磁盘或存储空间中用于 Redshift 数据的兆字节数。 | \$1Namespace\$1 | 

`SnapshotStorage` 指标与命名空间和工作组无关。CloudWatch 的 `SnapshotStorage` 指标如下所示：


| 指标名称 | 单位 | 说明 | 维度集 | 
| --- | --- | --- | --- | 
| SnapshotStorage | 兆字节 | 在磁盘或存储空间中用于快照的兆字节数。 | \$1\$1 | 

维度集是应用于指标的分组维度。您可以使用这些维度组来指定如何检索统计数据。

下表详细说明了特定指标的维度和维度值：


| 维度 | 描述和值 | 
| --- | --- | 
| DatabaseName | 数据库的名称。自定义值。 | 
| Latency | 可能值如下所示： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/mgmt/serverless-audit-logging.html)  | 
| QueryType | 可能的值为 INSERT、DELETE、UPDATE、UNLOAD、LOAD、SELECT、CTAS 和 OTHER。 | 
| stage | 查询的执行阶段。可能值如下所示： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/mgmt/serverless-audit-logging.html) | 
| Namespace | 命名空间的名称。自定义值。 | 
| Workgroup | 工作组的名称。自定义值。 | 
| UsageLimitId | 使用限制的标识符。 | 
| UsageType | 受限制的 Amazon Redshift Serverless 功能。可能值如下所示： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/redshift/latest/mgmt/serverless-audit-logging.html)  | 