查找给定资源的 Cloudwatch 日志组
Find Cloudwatch log group for a given resource
我正在创建一个日志聚合器 lambda 以将 Cloudwatch 日志发送到私有日志分析服务。考虑到我的雇主使用的资源数量,我决定创建一个 subscription lambda 来处理聚合器的日志组订阅。
该解决方案工作正常,但它需要通过亚马逊控制台手动搜索资源的日志组,然后用它调用订阅 lambda。
我的问题:
有没有办法在给定资源 arn 的情况下找到映射到它的日志组?由于我使用 Cloudformation 创建资源,因此很容易导出资源的 arn。
更新
举个例子:
假设我有以下 arn:
arn:aws:appsync:<REGION>:<ACCOUNTID>apis/z3pihpr4gfbzhflthkyjjh6yvu
这是一个 Appsync GraphQL API。
我想要的是一种方法(使用 te API 或一些自动化解决方案)来获取该资源的 Cloudwatch 日志组。
你可以试试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/[name-of-your-resource]"
]
我正在创建一个日志聚合器 lambda 以将 Cloudwatch 日志发送到私有日志分析服务。考虑到我的雇主使用的资源数量,我决定创建一个 subscription lambda 来处理聚合器的日志组订阅。
该解决方案工作正常,但它需要通过亚马逊控制台手动搜索资源的日志组,然后用它调用订阅 lambda。
我的问题:
有没有办法在给定资源 arn 的情况下找到映射到它的日志组?由于我使用 Cloudformation 创建资源,因此很容易导出资源的 arn。
更新
举个例子:
假设我有以下 arn:
arn:aws:appsync:<REGION>:<ACCOUNTID>apis/z3pihpr4gfbzhflthkyjjh6yvu
这是一个 Appsync GraphQL API。
我想要的是一种方法(使用 te API 或一些自动化解决方案)来获取该资源的 Cloudwatch 日志组。
你可以试试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/[name-of-your-resource]"
]