如何使用日志来跟踪我的 Amazon Redshift 数据库集群中的活动?

2 分钟阅读
0

我想审计 Amazon Redshift 集群上的数据库。

简短描述

Amazon Redshift 提供三种日志记录选项:

  • 审计日志: 存储在 Amazon Simple Storage Service(Amazon S3)存储桶中
  • STL/SYS 表: 存储在集群中的每个节点上
  • AWS CloudTrail: 存储在 Amazon S3 存储桶中

审计日志和 STL/SYS 表记录数据库级别的活动,例如用户登录事件及其登录时间。这些表还记录了用户执行的 SQL 活动以及他们执行这些活动的时间。CloudTrail 跟踪服务级别的用户活动。

**注意:**要使用外部表查看日志,请使用 Amazon Redshift Spectrum。有关更多信息,请参阅 Analyze Database Audit Logs for Security and Compliance Using Amazon Redshift Spectrum

解决方法

审计日志和 STL/SYS 表

下表比较了审计日志和 STL/SYS 表。选择适合您的用例的日志记录选项。

审计日志STL/SYS 表
使用 Amazon Redshift 控制台打开审计日志记录,或者使用 AWS 命令行界面(AWS CLI)和 Amazon Redshift API 来打开审计日志记录。STL/SYS 表在数据仓库集群的每个节点上自动可用。
除非您定义了 Amazon S3 生命周期规则自动存档或删除审计日志文件,否则这些文件将无限期保存。有关更多信息,请参阅管理存储生命周期日志历史记录可存储 2-5 天,具体取决于日志使用情况和可用磁盘空间。要延长保留期,请使用 GitHub 网站上的 Amazon Redshift system object persistence utility
访问审计日志文件不需要访问 Amazon Redshift 数据库。访问 STL/SYS 表需要访问 Amazon Redshift 数据库。
查看 Amazon S3 中存储的日志无需数据库计算资源。与运行其他查询类似,查询 STL/SYS 表需要数据库计算资源。
您可以使用时间戳将进程 ID 与数据库活动关联起来。集群重启不会影响 Amazon S3 中的审计日志记录。您不能总是将进程 ID 与数据库活动关联起来,因为在集群重新启动时,系统可能会回收进程 ID。
审计日志将信息存储在以下日志文件中: 连接日志用户日志用户活动日志。**注意:**必须为用户活动日志启用 enable_user_activity_logging 数据库参数。有关更多信息,请参阅启用日志记录您可以使用 SVL_STATEMENTTEXTSTL_CONNECTION_LOGSYS_CONNECTION_LOG 来查看详细信息。
审计日志记录在用户活动日志中记录所有 SQL 语句。您运行的查询将记录在 STL_QUERY 中。DDL 语句记录在 STL_DDLTEXT 中。非 SELECT SQL 命令的文本记录在 STL_UTILITYTEXT 中。在 Amazon Redshift Serverless 上,使用 SYS_QUERY_HISTORYSYS_QUERY_DETAIL 检查所有 SQL 命令。
Amazon Redshift 一收到 SQL 语句,就会立即记录。Amazon S3 上的文件会批量更新,可能需要几个小时才能显示。每条 SQL 语句运行后都会生成日志。
审计日志记录谁执行了什么操作,以及该操作发生的时间,但不记录执行该操作所花费的时间。使用“STARTTIME”和“ENDTIME”列来确定某项活动花了多长时间才完成。要确定哪个用户执行了操作,请在已配置的集群上将 SVL_STATEMENTTEXT(userid)和 PG_USER(usesysid)结合使用。使用 SYS_QUERY_HISTORY 和 SYS_QUERY_DETAIL 来确定在 Amazon Redshift Serverless 上完成一项活动需要多长时间。
您需要为日志在 Amazon S3 中使用的存储空间付费。STL/SYS 表使用的存储空间不会额外收费。
系统会记录您仅在领导节点上运行的查询。系统不会记录您仅在领导节点上运行的查询。

CloudTrail

使用 CloudTrail 收集的信息来确定向 AWS 服务成功发出了哪些请求、谁提出了请求以及何时提出了请求。有关更多信息,请参阅使用 AWS CloudTrail 记录 Amazon Redshift API 调用

除非您定义了 Amazon S3 生命周期规则自动存档或删除 CloudTrail 日志文件,否则这些文件将无限期保存。有关更多信息,请参阅管理存储生命周期

相关信息

优化查询性能

AWS 官方
AWS 官方已更新 8 个月前