查找给定资源的Cloudwatch日志组

时间:2018-09-13 18:25:10

标签: amazon-web-services aws-sdk aws-cli amazon-cloudwatchlogs

我正在创建一个日志聚合器lambda,以将Cloudwatch日志发送到私有日志分析服务。考虑到我的雇主使用的资源数量,决定创建一个 subscription lambda来处理对聚合器的日志组订阅。

该解决方案可以正常工作,但是需要通过Amazon控制台手动搜索资源的日志组,然后使用它调用订阅lambda。

我的问题:

在给定资源arn的情况下,是否有办法找到映射到该日志组的日志?由于我使用Cloudformation创建资源,因此很容易导出资源的信息。

更新

举一个例子:

假设我有以下信息:

arn:aws:appsync:<REGION>:<ACCOUNTID>apis/z3pihpr4gfbzhflthkyjjh6yvu

这是一个Appsync GraphQL API。

我想要一种获取该资源的Cloudwatch日志组的方法(使用te API或某种自动化解决方案)。

1 个答案:

答案 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 / [您的资源名称]”
  ]