Amazon Redshift Serverless 的审计日志记录
您可以配置 Amazon Redshift Serverless,以将连接、用户和用户活动日志数据导出到 Amazon CloudWatch Logs 中的日志组。利用 Amazon CloudWatch Logs 可以对日志数据进行实时分析,并使用 CloudWatch 创建告警和查看指标。您可使用 CloudWatch Logs 在持久性存储中存储日志记录。
您可以使用 Amazon Redshift 控制台创建 CloudWatch 警报来跟踪您的指标。有关创建警报的更多信息,请参阅管理警报。
要将生成的日志数据导出到 Amazon CloudWatch Logs,必须在控制台上的 Amazon Redshift Serverless 配置设置中选择要导出的相应日志。要执行此操作,您可以在安全和加密下选择命名空间配置设置。
CloudWatch 中的日志事件
在选择要导出的 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 中更改日志留存期的更多信息,请参阅使用日志组和日志流中的更改日志数据留存。
要在日志事件中搜索信息,请使用 Amazon CloudWatch Logs 控制台、Amazon CLI 或 Amazon CloudWatch Logs API。有关搜索和筛选日志数据的更多信息,请参阅搜索和筛选日志数据。
CloudWatch 指标
Amazon Redshift Serverless 指标分为计算指标以及数据和存储指标,分别属于工作组和命名空间维度集。有关工作组和命名空间的更多信息,请参阅工作组和命名空间。
CloudWatch 计算指标如下所示:
指标名称 | 单位 | 描述 | 维度集 |
---|---|---|---|
QueriesCompletedPerSecond |
查询数 | 每秒完成的查询数。 | {Database、LatencyRange、Workgroup},{LatencyRange、Workgroup} |
QueryDuration |
微秒 | 完成查询的平均时间量。 | {Database、LatencyRange、Workgroup},{LatencyRange、Workgroup} |
QueriesRunning |
查询数 | 一个时间点运行的查询数。 | {Database、QueryType、Workgroup},{QueryType、Workgroup} |
QueriesQueued |
查询数 | 某个时间点在队列中的查询数。 | {Database、QueryType、Workgroup},{QueryType、Workgroup} |
DatabaseConnections |
连接数 | 一个时间点与数据库的连接数。 | {Database、Workgroup},{Workgroup} |
QueryRuntimeBreakdown |
毫秒 | 查询在各个查询阶段运行所花费的总时间。 | {Database、Stage、Workgroup},{Stage、Workgroup} |
ComputeCapacity |
RPU | 过去 30 分钟内分配的平均计算单位数,向上舍入到最近的整数。 | {Workgroup} |
ComputeSeconds |
RPU 秒 | 过去 30 分钟内消耗的累计计算单位秒数。 | {Workgroup} |
QueriesSucceeded |
查询数 | 过去 5 分钟内成功的查询数。 | {Database、QueryType、Workgroup},{QueryType、Workgroup} |
QueriesFailed |
查询数 | 过去 5 分钟内失败的查询数。 | {Database、QueryType、Workgroup},{QueryType、Workgroup} |
UsageLimitAvailable |
RPU 小时或 TB | 根据 UsageType,UsageLimitAvailable 将返回以下内容:
|
{UsageLimitId、UsageType、Workgroup} |
UsageLimitConsumed |
RPU 小时或 TB | 根据 UsageType,UsageLimitConsumed 会返回以下内容:
|
{UsageLimitId、UsageType、Workgroup} |
CloudWatch 数据和存储指标如下所示:
指标名称 | 单位 | 描述 | 维度集 |
---|---|---|---|
TotalTableCount |
表的数量 | 在特定时间点存在的用户表的数量。此总数不包括 Amazon Redshift Spectrum 表。 | {Database、Namespace} |
DataStorage |
兆字节 | 在磁盘或存储空间中用于 Redshift 数据的兆字节数。 | {Namespace} |
SnapshotStorage
指标与命名空间和工作组无关。CloudWatch 的 SnapshotStorage
指标如下所示:
指标名称 | 单位 | 描述 | 维度集 |
---|---|---|---|
SnapshotStorage |
兆字节 | 在磁盘或存储空间中用于快照的兆字节数。 | {} |
维度集是应用于指标的分组维度。您可以使用这些维度组来指定如何检索统计数据。
下表详细说明了特定指标的维度和维度值:
维度 | 描述和值 |
---|---|
DatabaseName |
数据库的名称。自定义值。 |
Latency |
可能值如下所示:
|
QueryType |
可能的值为 INSERT 、DELETE 、UPDATE 、UNLOAD 、LOAD 、SELECT 、CTAS 和 OTHER 。 |
stage |
查询的执行阶段。可能值如下所示:
|
Namespace |
命名空间的名称。自定义值。 |
Workgroup |
工作组的名称。自定义值。 |
UsageLimitId |
使用限制的标识符。 |
UsageType |
受限制的 Amazon Redshift Serverless 功能。可能值如下所示:
|