无需编写 SQL,无需解码结构,一问即查 Amazon CloudTrail 日志!

88ad45630a364bbc1fa6e45106514c03.gif

本文作者 Esra Kayabali 

亚马逊云科技高级解决方案架构师

亚马逊云科技在 Amazon CloudTrail Lake 中推出由生成式 AI 驱动的自然语言查询生成。Amazon CloudTrail Lake 是一种托管数据湖,用于获取、存储、访问和分析 Amazon CloudTrail 活动日志,以满足合规性、安全性和运营需求。您可以使用自然语言针对存储在 CloudTrail Lake 中的这些活动日志(管理和数据事件)提问,该过程不需要您编写 SQL 查询或花时间来解码活动事件的确切结构,因此您不需要具备专业技能知识就能提问。例如,您可能会问“告诉我有多少数据库实例在没有快照(snapshot)的情况下被删除”,该功能会将该问题转换为 CloudTrail Lake 查询,您可以按原样运行或修改查询以获取请求的事件信息。自然语言查询生成使探索活动日志的过程变得更加简单。

下面将为大家展示如何开始使用自然语言查询生成。

90b8daa095bf89eb064f04b55c18c351.png

Amaozn CloudTrail Lake

扫码了解更多

ea127a7e592cb90366d1b92d20c10c80.png

Amazon CloudTrail

扫码了解更多

左右滑动查看更多

自然语言查询生成入门

自然语言查询生成器使用生成式 AI 来根据您的提示生成即用型 SQL 查询,然后您可以选择在 CloudTrail Lake 的查询编辑器中运行该查询。

在 Amazon CloudTrail 控制台中,我在“湖”下面选择了“查询”。查询生成器只能为收集 CloudTrail 管理和数据事件的事件数据存储生成查询。我从事件数据存储的下拉列表中为我的 CloudTrail Lake 查询选择一个事件数据存储。在查询生成器中,我使用自然语言在“提示”字段中输入以下提示:

过去一个月记录了多少错误?

71b39c194ffaa42991b7afcd1cf976fa.png

Amazon CloudTrail 控制台

扫码了解更多

然后,我选择生成查询。系统自动生成了以下 SQL 查询:

SELECT COUNT(*) AS error_count
FROM 8a6***
WHERE eventtime >= '2024-04-21 00:00:00'
    AND eventtime <= '2024-05-21 23:59:59'
    AND (
        errorcode IS NOT NULL
        OR errormessage IS NOT NULL
    )

左右滑动查看更多

我选择运行来查看结果。

d40a1fb9fb96827f2d28b9b97a08c38c.png

这很有趣,但我想知道更多详细信息。我想看看哪些服务的错误最多,以及这些操作出错的原因。因此,我输入以下提示以请求更多详细信息:

在过去的一个月中,每项服务记录了多少条错误,每条错误的原因分别是什么?

左右滑动查看更多

我选择生成查询,然后系统生成以下 SQL 查询:

SELECT eventsource,
    errorcode,
    errormessage,
    COUNT(*) AS errorCount
FROM 8a6***
WHERE eventtime >= '2024-04-21 00:00:00'
    AND eventtime <= '2024-05-21 23:59:59'
    AND (
        errorcode IS NOT NULL
        OR errormessage IS NOT NULL
    )
GROUP BY 1,
    2,
    3
ORDER BY 4 DESC;

左右滑动查看更多

5c6d18f417598d21b061887f85201da6.png

我选择运行来查看结果

03a529b3ab6573423b07d933bc3f6304.png

在结果中,我看到我的账户遇到的大多数错误都与 Amazon S3 有关,排名靠前的错误与 CORS 和对象级配置有关。我可以通过提出更多问题来继续深入挖掘以了解更多详细信息。但是现在让我给自然语言查询生成器下达另一条指令。我在“提示”字段中输入以下提示:

过去一个月我使用的前 10 个亚马逊云科技服务是什么?还要包括事件名称。

左右滑动查看更多

我选择生成查询,然后系统生成以下 SQL 查询。此 SQL 语句检索字段名称(eventSource、eventName、COUNT (*) AS event_count),在 WHERE 子句中将日期间隔设置为上个月来限制行数,按 eventSource 和 eventName 对行进行分组,按使用次数对行进行排序,并按照我用自然语言提出的要求将结果限制为 10 行。

SELECT eventSource,
    eventName,
    COUNT(*) AS event_count
FROM 8a6***
WHERE eventTime >= timestamp '2024-04-21 00:00:00'
    AND eventTime <= timestamp '2024-05-21 23:59:59'
GROUP BY 1,
    2
ORDER BY 3 DESC
LIMIT 10;

左右滑动查看更多

f76dd36dc4280d41456dd6b23b498f2a.png

我再次选择运行以查看结果。

d904ed711d7c398a8db04e4a2db33da1.png

现在,我更清楚地了解了过去一个月记录了多少条错误,错误对应的服务是哪些,以及导致错误的原因。您可以尝试用通俗易懂的语言提问,然后对日志运行生成的查询,以查看此功能如何处理您的数据。

加入预览版试用

在美国东部地区,自然语言查询生成作为 CloudTrail Lake 的一部分以预览版的形式提供。

要了解更多信息并开始使用自然语言查询生成,请访问 Amazon CloudTrail Lake 用户指南。

52e7260435d5825446d0b7d31910c2bf.png

Amazon CloudTrail 定价

扫码了解更多

683a4839ae2b63a76a6bfc4541af1b28.png

Amazon CloudTrail Lake 

用户指南

扫码了解更多

左右滑动查看更多

本篇作者

7b2a84b1a2d1f8a87cb1920432a1222e.png

Esra Kayabali

亚马逊云科技高级解决方案架构师,从事分析领域,包括数据仓库、数据湖、大数据分析、批处理和实时数据流以及数据集成。她在软件开发和解决方案架构方面拥有超过 10 年的经验。她对协作学习、知识共享以及指导社区探索云技术充满热情。

91ab99390c77c2ec0680abdd32369264.png

cc71b713e4ef3b93a210497f4b66776e.gif

星标不迷路,开发更极速!

关注后记得星标「亚马逊云开发者」

听说,点完下面4个按钮

就不会碰到bug了!

696d805c103be6e59da9de1562ca1f78.gif

点击阅读原文查看博客,获得更详细内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值