注册 AWS Redshift 活动

Posted

技术标签:

【中文标题】注册 AWS Redshift 活动【英文标题】:Register AWS Redshift activity 【发布时间】:2016-02-17 11:35:14 【问题描述】:

根据 AWS 文档,目前还没有 Redshift-Lambda 集成。 我们想做的是监控红移活动,以便在创建红移表、从 S3 复制或执行批量插入时做一些事情。 有没有办法注册这种活动,然后做类似的事情来运行 lambda 函数 ir 命令运行一个小脚本左右?

【问题讨论】:

【参考方案1】:

Redshift 提供了一种事件通知机制。您可以找到完整的活动类别列表和消息here。如果这涵盖了您感兴趣的信息类型,您只需让您的 Lambda 函数添​​加 Redshift 用于事件通知的 SNS 主题作为事件源,并且每次 Redshift 发送事件时都会调用您的 Lambda 函数。

【讨论】:

这个事件通知机制好像和管理、配置、监控有关。我们需要检查是否已经从 S3 进行了特定查询或复制,并在此基础上做一些事情。我们正在开发一个 python 脚本,在 cron 表达式中检查 stl_query 表。【参考方案2】:

您可以启用最终在 s3 中的 audit logs。

您想要的所有信息也可以在 various admin tables 中找到,前缀为 stl_stv_pg_。例如,来自 S3 的COPY 命令记录在stl_load_commits 中,stl_utilitytext 包含关于非选择查询(如CREATE)的信息。

至于触发事件,您可以使用S3 trigger a lambda,当其中一个日志文件登陆或运行查询系统表并使用诸如cron作业或airflow之类的操作的偶尔作业。

【讨论】:

以上是关于注册 AWS Redshift 活动的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AWS Redshift 用户活动日志解析为对象?

AWS Data Pipeline RedshiftCopy 活动 没有合适的驱动程序

在 Amazon Redshift 日志上运行 AWS Glue 爬虫会创建大量表

使用 Amazon Redshift 进行维度建模是不是可行

如何将访问密钥和秘密密钥 shell 变量传递给 Redshift 复制命令

星型模式的 OLAP 或 OLTP?