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

CloudWatch 搜索表达式示例

以下示例演示了更多搜索表达式用法和语法。让我们首先在区域内的所有实例中搜索 CPUUtilization,然后查看变体。

此示例为区域中的每个实例显示一行,从而显示 AWS/EC2 命名空间中的 CPUUtilization 指标。

SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" ', 'Average')

InstanceId 更改为 InstanceType 会更改图表,以便为区域中使用的每个实例类型显示一行。来自每个类型的所有实例的数据针对该实例类型聚合为一行。

SEARCH(' {AWS/EC2,InstanceType} MetricName="CPUUtilization" ', 'Average')

以下示例按实例类型聚合 CPUUtilization,并为包含字符串 micro 的每个实例类型显示一行。

SEARCH('{AWS/EC2,InstanceType} InstanceType=micro MetricName="CPUUtilization" ', 'Average')

此示例缩小了上一个示例,将 InstanceType 更改为 t2.micro 实例的精确搜索。

SEARCH('{AWS/EC2,InstanceType} InstanceType="t2.micro" MetricName="CPUUtilization" ', 'Average')

以下搜索删除了查询的 {metric schema} 部分,因此所有命名空间中的 CPUUtilization 指标都显示在图表中。这可以返回不少结果,因为该图表为来自每个 Amazon 服务的 CPUUtilization 指标包含多个行(沿不同维度聚合)。

SEARCH('MetricName="CPUUtilization" ', 'Average')

要稍微缩小这些结果范围,可以指定两个特定的指标名称空间。

SEARCH('MetricName="CPUUtilization" AND ("AWS/ECS" OR "AWS/ES") ', 'Average')

前面的示例是使用一个搜索查询来搜索特定的多个名称空间的唯一方法,因为您在每个查询中只能指定一个指标架构。但是,要添加更多结构,可以在图表中使用两个查询,如以下示例所示。在此示例中,还通过指定用于聚合 Amazon ECS 数据的维度来添加更多结构。

SEARCH('{AWS/ECS ClusterName}, MetricName="CPUUtilization" ', 'Average') SEARCH(' {AWS/EBS} MetricName="CPUUtilization" ', 'Average')

以下示例返回名为 ConsumedLCUs 的 Elastic Load Balancing 指标和包含令牌 flow 的所有 Elastic Load Balancing 指标或维度。

SEARCH('{AWS/NetworkELB, LoadBalancer} "ConsumedLCUs" OR flow ', 'Maximum')

以下示例使用嵌套分组。它返回所有函数的 Errors 的 Lambda 指标,以及名称中包含字符串 ProjectAProjectB 的函数的 Invocations

SEARCH('{AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average')

以下示例显示了所有自定义指标,不包括 Amazon 服务生成的指标。

SEARCH('NOT Namespace=AWS ', 'Average')

以下示例显示具有包含字符串 Errors 作为其名称一部分的指标名称、命名空间、维度名称和维度值的指标。

SEARCH('Errors', 'Average')

以下示例将搜索缩小到精确匹配。例如,此搜索会查找指标名称 Errors,但不会查找名为 ConnectionErrorserrors 的指标。

SEARCH(' "Errors" ', 'Average')

以下示例说明如何在搜索词的指标架构部分中指定包含空格或特殊字符的名称。

SEARCH('{"Custom-Namespace", "Dimension Name With Spaces"}, ErrorCount ', 'Maximum')

CloudWatch 跨账户可观测性搜索表达式示例

CloudWatch 跨账户可观测性示例

如果您登录的账户在 CloudWatch 跨账户可观测性中设置为监控账户,则可以使用 SEARCH(搜索)函数从指定的源账户返回指标。有关更多信息,请参阅 CloudWatch 跨账户可观测性

以下示例从账户 ID 为 111122223333 的账户中检索所有 Lambda 指标。

SEARCH(' AWS/Lambda :aws.AccountId = "111122223333" ', 'Average')

以下示例从两个账户中检索所有 AWS/EC2 指标:111122223333 和 777788889999。

SEARCH(' AWS/EC2 :aws.AccountId = ("111122223333" OR "777788889999") ', 'Average')

以下示例从源账户 111122223333 和监控账户本身检索所有 AWS/EC2 指标。

SEARCH(' AWS/EC2 :aws.AccountId = ("111122223333" OR 'LOCAL') ', 'Average')

以下示例将检索账户 444455556666 中指标 MetaDataTokenSUM,维度为 InstanceId

SEARCH('{AWS/EC2,InstanceId} :aws.AccountId=444455556666 MetricName=\"MetadataNoToken\"','Sum')