SOURCE - Amazon CloudWatch 日志
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SOURCE

SOURCE在使用 Amazon CLI 或 API 创建查询时,在查询中包含是指定要包含在查询中的日志组的有用方法。只有 Amazon CLI 和 API 支持该SOURCE命令, CloudWatch 控制台不支持该命令。使用 CloudWatch 控制台启动查询时,您可以使用控制台界面来指定日志组。

SOURCE要用于指定要查询的日志组,您可以使用以下关键字:

  • namePrefix对名称以您指定的字符串开头的日志组运行查询。如果省略此项,则会查询所有日志组。

    您可在列表中包含最多五个前缀。

  • accountIdentifiers对指定 Amazon 账户中的日志组运行查询。只有当你在监控账户中运行查询时,这才起作用。如果省略此项,则默认为查询所有关联的源账户和当前的监控账户。有关跨账户可观测性的更多信息,请参阅CloudWatch 跨账户可观测性。

    您可在列表中包含多达 20 个账户标识符。

  • logGroupClass对指定日志类别(标准或不频繁访问)中的日志组运行查询。如果省略该选项,则使用默认日志类。有关日志类的更多信息,请参阅 日志类

由于您可以通过这种方式指定大量日志组进行查询,因此我们建议您SOURCE仅在利用您创建的字段索引的查询中使用。有关对日志组中的字段进行索引的更多信息,请参阅 创建字段索引来提高查询性能并减少扫描量

以下示例选择账户中的所有日志组。如果这是监控帐户,则将选择跨监控的日志组和所有源帐户。如果日志组的总数超过 10,000,则会看到一条错误消息,提示您使用不同的日志组选择方法减少日志组的数量。

SOURCE logGroups()

以下示例选择了111122223333源账户中的日志组。如果您在 CloudWatch 跨账户可观察性中的监控账户中启动查询,则默认选择所有源账户和监控账户中的日志组。

SOURCE logGroups(accountIdentifiers:['111122223333'])

下一个示例根据名称前缀选择日志组。

SOURCE logGroups(namePrefix: ['namePrefix1', 'namePrefix2'])

以下示例选择 Insights 日志类中的所有日志组。如果查询未在 Standar class d Logs 类中使用 Standard Logs(标准日志类)中的日志组。

SOURCE logGroups(class: ['INFREQUENT_ACCESS'])

下一个示例选择 111122223333 账户中以特定名称前缀开头且属于标准日志类的日志组。命令中未提及该类,因为 Standard 是默认的日志类值。

SOURCE logGroups(accountIdentifiers:['111122223333'], namePrefix: ['namePrefix1', 'namePrefix2']

最后一个示例显示了如何在SOURCE命令中使用该start-query Amazon CLI 命令。

aws logs start-query --region us-east-1 --start-time 1729728200 --end-time 1729728215 --query-string "SOURCE logGroups(namePrefix: ['Query']) | fields @message | limit 5"