我正在创建一个日志聚合器lambda,以将Cloudwatch日志发送到私有日志分析服务。考虑到我的雇主使用的资源数量,决定创建一个 subscription lambda来处理对聚合器的日志组订阅。
该解决方案可以正常工作,但是需要通过Amazon控制台手动搜索资源的日志组,然后使用它调用订阅lambda。
我的问题:
在给定资源arn的情况下,是否有办法找到映射到该日志组的日志?由于我使用Cloudformation创建资源,因此很容易导出资源的信息。
更新
举一个例子:
假设我有以下信息:
arn:aws:appsync:<REGION>:<ACCOUNTID>apis/z3pihpr4gfbzhflthkyjjh6yvu
这是一个Appsync GraphQL API。
我想要一种获取该资源的Cloudwatch日志组的方法(使用te API或某种自动化解决方案)。
答案 0 :(得分:1)
您可以尝试使用describe-log-groups命令。它在cli上可用,API上也必须存在。
要获取日志组的名称,可以使用:
aws logs describe-log-groups --query 'logGroups[*].logGroupName' --log-group-name-prefix '/aws/appsync/[name-of-the-resource]'
输出将如下所示:
[
“ / aws / appsync / [您的资源名称]”
]